Что-то вроде этого в вашем .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
Я предполагаю, что вы вызываете это в командной строке 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 для вашей установки. (только примеры. Отрегулируйте для вашей установки)
ИЛИ
Сохраните переменные u-boot на постоянном носителе
saveenv
Проверьте параметры загрузки, запустив bootcmd
run bootcmd
Повторяйте, пока переменные не будут установлены правильно и bootcmd работает.
Если U-Boot не прерывается после задержки, установленной в bootdelay, процесс автоматической загрузки происходит. Автоматическая загрузка состоит из запуска того, что указано в среде bootcmd. variable
Некоторые системные переменные:
Мне удалось сохранить всю команду bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm
, добавив двойные кавычки послеbootcmd
setenv bootcmd "tftpboot 0x80800000 192.168.2.2:uImage2; bootm"