u-boot не может сохранить параметры среды при указании 'bootm'

Что-то вроде этого в вашем .bash_profile или .bashrc может сработать для вас:

if test -t 0 -a -t 1 -a -z "$SCRIPTING"
then
    export SCRIPTING="$HOME/.script.$(date +%Y%m%d_%H%M%S).$$)"
    exec script "$SCRIPTING"
fi
3
21.05.2017, 14:02
2 ответа

Я предполагаю, что вы вызываете это в командной строке u-boot.

bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; bootm

Здесь важно отметить, что точка с запятой является разделителем команд. Простое исправление (непроверенное) — добавить команду saveenv перед командой bootm.

bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm

Это установит для переменной bootcmd значение: tftpboot 0x80800000 192.168.2.2:uImage2

Затем saveenv сохранит переменную (переменные)

Затем bootm загрузит образ в память.

Вам нет необходимости делать это при каждой загрузке, если вы сохраняете переменные после того, как вы довольны порядком загрузки.

Сначала установите все переменные u-boot для вашей установки. (только примеры. Отрегулируйте для вашей установки)

  • setenv autostart yes
  • setenv bootfile uImage2
  • setenv ipaddr 192.168.2.2
  • setenv serverip 192.168.2.X
  • setenv bootcmd tftpboot 0x80800000 192200000 .2.2:uImage2

ИЛИ

  • setenv bootcmd bootp 0x80800000 uImage2

Сохраните переменные u-boot на постоянном носителе

saveenv

Проверьте параметры загрузки, запустив bootcmd

run bootcmd

Повторяйте, пока переменные не будут установлены правильно и bootcmd работает.

Если U-Boot не прерывается после задержки, установленной в bootdelay, процесс автоматической загрузки происходит. Автоматическая загрузка состоит из запуска того, что указано в среде bootcmd. variable

Некоторые системные переменные:

  • bootcmd: определяет командную строку, которая автоматически выполняется, когда начальный обратный отсчет не прерывается. Выполняется только тогда, когда также определена переменная bootdelay.
  • autoload: если установлено значение «no» (или любая строка, начинающаяся с «n»), команды rarpboot, bootp или dhcp выполняют поиск конфигурации с сервера BOOTP/DHCP, но не пытаются загрузить какие-либо изображение с помощью TFTP.
  • autostart: если установлено значение «да», образ, загруженный с помощью команд rarpboot, bootp, dhcp или tftpboot, запускается автоматически (внутренним вызовом команды bootm).
  • bootfile: имя образа по умолчанию для загрузки по TFTP.
3
27.01.2020, 21:21

Мне удалось сохранить всю команду bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm, добавив двойные кавычки послеbootcmd

setenv bootcmd "tftpboot 0x80800000 192.168.2.2:uImage2; bootm"
0
27.01.2020, 21:21

Теги

Похожие вопросы