u-boot는 setenv를 사용하여 DHCP 요청을 비활성화합니다.

u-boot는 setenv를 사용하여 DHCP 요청을 비활성화합니다.

커널을 로드한 후 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 주소를 할당하는 방법은 무엇입니까?

답변1

당신의 명령:

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

IP 설정을 더욱 유연하게 만들려면 ip=${ipaddr}실제 주소를 명시적으로 사용하는 대신 이 명령에 지정해야 합니다. Uboot 환경 값이 대체됩니다.

이 답변은 이러한 결함이 수정될 때까지 예비적인 답변입니다.

답변2

제 경우에는 ip 추가 매개변수를 사용하여 문제를 해결했습니다.

setenv netargs 'setenv bootargs console=${console} root=/dev/nfs ip=${ipaddr}:::::eth0:off rw nfsroot=${serverip}:${rootfs},v3,tcp'

커널/문서/filesystems/nfs/nfsroot.txt를 참조하십시오.

ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:
   <dns0-ip>:<dns1-ip>:<ntp0-ip>

관련 정보