u-boot desativa solicitações DHCP com setenv

3

Estou tentando desativar as solicitações DHCP depois que o Kernel foi carregado. Usando freescale imx25 dev-board na configuração padrão. Em u-boot , encontro duas linhas 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

Se eu fizer:

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

Ele não funciona e meu ambiente de inicialização parece estar completamente danificado.

Como posso atribuir um endereço IP fixo sem alterar outros parâmetros?

    
por glenn 29.08.2012 / 14:20

1 resposta

2

Seu comando:

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

não funcionará como está.

Deveria pelo menos ser:

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

sem um sinal = e usando aspas simples para impedir a expansão de ${bootargs} até que o comando bootargs_nand seja realmente executado.

Para tornar a configuração de IP mais flexível, você também deve especificar ip=${ipaddr} dentro desse comando em vez de usar explicitamente o endereço real. O valor do ambiente do Uboot será substituído.

Esta resposta é preliminar até que esses defeitos tenham sido corrigidos.

    
por 18.10.2012 / 10:46

Tags