ネットブート †u-bootの知名度はこの数年で相当あがりましたが,いまだにネットブートというと,tftp+NFSルートの記述多く見られます.u-bootにetherbootからnfsを移植した人間としては悲しい. tftpのかわりにnfsでカーネルをロードする機能の使い方を簡単に書いておきます. (例) MPC8540EVAL => help nfs nfs [loadAddress] [host ip addr:bootfilename] MPC8540EVAL => nfs 200000 192.168.1.8:/exports-ppc/boot/uImage-eval8540 Speed: 1000, full duplex Using TSEC0 device File transfer via NFS from server 192.168.1.8; our IP address is 192.168.1.138 Filename '/exports-ppc/boot/uImage-eval8540'. Load address: 0x200000 Loading: ################################################################# ################################################################# ################################################################# ################### done Bytes transferred = 1091826 (10a8f2 hex) u-bootにはdhcp機能も含まれているので,dhcpd.confに host eval8540 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.1.138; server-name "192.168.1.8"; server-identifier 192.168.1.8; filename "/exports-ppc/boot/uImage-eval8540"; option root-path "192.168.1.8:/opt/eldk/ppc_85xx"; } 等と記述しておくと, MPC8540EVAL=> dhcp Speed: 1000, full duplex BOOTP broadcast 1 DHCP client bound to address 192.168.1.138 MPC8540EVAL=> print bootargs=root=/dev/ram rw console=ttyS0,115200 bootcmd=run netboot bootdelay=3 :(省略) bootfile=/exports-ppc/boot/uImage-eval8540 gatewayip=192.168.1.1 netmask=255.255.255.0 rootpath=192.168.1.8:/opt/eldk/ppc_85xx ipaddr=192.168.1.138 serverip=192.168.1.8 Environment size: 1023/8188 bytes のようにカーネルのロードに必要な情報が得られます. 後はnfsコマンドを実行するだけ. MPC8540EVAL=> nfs Speed: 1000, full duplex Using TSEC0 device File transfer via NFS from server 192.168.1.8; our IP address is 192.168.1.138 Filename '/exports-ppc/boot/uImage-eval8540'. Load address: 0x200000 Loading: ################################################################# ################################################################# ################################################################# ################### done Bytes transferred = 1091826 (10a8f2 hex) mkomiya at sonare.jp (mkomiya at sonare.it) |