커널을 로드한 후 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>