그 인자들 중, NIC 관련 변수들을 파싱하여 자동으로 네트워크를 설정하게 되는데
인자를 ' '(홀따옴표)로 감싸주어 커널에서 파싱하도록 할 수 있다.
물론, bootargs에 한번에 넣어서는 불가능하며,
run 명령어를 통해서 인자를 생성후 넘겨주는 방식을 취한다.
We can use U-Boot environment variables to store all necessary configuration parameters: => setenv ipaddr 192.168.100.6 => setenv serverip 192.168.1.1 => setenv netmask 255.255.0.0 => setenv hostname canyonlands => setenv rootpath /opt/eldk-4.2/ppc_4xx => saveenv Then you can use these variables to build the boot arguments to be passed to the Linux kernel: => setenv nfsargs 'root=/dev/nfs rw nfsroot=${serverip}:${rootpath}' Note: You cannot use this method directly to define for example the "bootargs" environment variable, as the implicit usage of this variable by
the "bootm" command will not trigger variable expansion - this happens
only when using the "setenv" command.
[링크 : http://www.denx.de/wiki/DULG/LinuxBootArgs] |
사용예
setenv nfsargs 'setenv bootargs console=ttyAS0,115200 root=/dev/mtdblock2 rootfstype=cramfs'
setenv addip 'setenv bootargs ${bootargs} nwhwconf=device:eth0,hwaddr:${ethaddr}
ip=${ipaddr}::${gateway}:${netmask}:${histname}::off'
setenv bootcmd 'run nfsargs addip\; tftp 0x84400000 uImage\; bootm'
아무튼, bootcmd 에 'run' 을 통해서 bootargs를 생성후 임시 변수를 커널로 넘겨주는 방식이다.
(실제로 bootargs 변수는 uboot에 존재하지 않는다.)
'프로그램 사용 > u-boot' 카테고리의 다른 글
uboot 포팅 - falinux 링크 (0) | 2013.06.18 |
---|---|
uboot tftp 부팅시 decompress 에러 (0) | 2010.01.22 |
uboot - fw_printenv / fw_setenv / fw_getenv ethaddr 제약사항 (17) | 2009.08.19 |
ifup / ifdown + busybox (0) | 2009.08.17 |
U-Boot 환경변수 읽어오기 (u-boot environment variable) (0) | 2009.07.18 |