u-boot отключает запросы DHCP с setenv

Я пытаюсь отключить DHCP-запросы после загрузки ядра. Использование freescale imx25 dev-board в стандартной конфигурации. В u-boot я нахожу две строки ip=dhcp :

 MX25 U-Boot > pri bootdelay=3 baudrate=115200 loadaddr=0x80800000 netdev=eth0 ethprime=smc911x-0 uboot=u-boot.bin uboot_addr=0xa0000000 kernel=uImage bootargs_base=setenv bootargs console=ttymxc0,115200 bootargs_nfs=setenv bootargs $(bootargs) root=/dev/nfs ip=dhcp nfsroot=$(serverip):$(nfsrootfs),v3,tcp bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm load_uboot=tftpboot ${loadaddr} ${uboot} ethact=smc911x-0 bootargs_nand=setenv bootargs ${bootargs} root=/dev/mtdblock2 ip=dhcp rootfstype=jffs2 bootcmd_nand=run bootargs_base bootargs_nand; nand read ${loadaddr} 0x100000 0x1d2000;bootm bootcmd=run bootcmd_nand serverip=192.168.0.5 ipaddr=192.168.0.100 stdin=serial stdout=serial stderr=serial 

Если я сделаю:

 set bootargs_nand=setenv bootargs ${bootargs} root=/dev/mtdblock2 ip=192.168.0.100 rootfstype=jffs2 

Это не работает, и моя загрузочная среда, кажется, полностью повреждена.

Как назначить фиксированный IP-адрес без изменения других параметров?

Ваша команда:

 set bootargs_nand=setenv bootargs ${bootargs} root=/dev/mtdblock2 ip=192.168.0.100 rootfstype=jffs2 

не будет работать так, как есть.

По крайней мере, это должно быть:

 setenv bootargs_nand 'setenv bootargs ${bootargs} root=/dev/mtdblock2 ip=192.168.0.100 rootfstype=jffs2' 

без знака = и использовать одинарные кавычки для предотвращения расширения ${bootargs} до тех пор, пока не будет bootargs_nand команда bootargs_nand .

Чтобы сделать настройку IP более гибкой, вы также должны указать ip=${ipaddr} внутри этой команды, а не явно использовать фактический адрес. Значение среды Uboot будет заменено.

Этот ответ является предварительным, пока эти дефекты не будут исправлены.