PC上に開発環境を導入したクロスの root filesystem(ARM用) を用意し、PCでコンパイルしたプログラムを
実機で即1)確認したい場合などには、NFS rootでの起動が便利です。
『ブートデバイスの選択およびコンソールの切替 (DIPSW 設定)』による方法では選択できませんが、
bootloader のメニューから選択し、起動することができます。
NFSサーバ、DHCPサーバを導入し、設定を行います。
NFS root のファイルシステムを提供するサーバの設定を行います。
“/home/exports/ARM_trusty” というディレクトリを提供する場合の例です。
NFS-serverをインストールし、/etc/exports に下記のようなエントリを追加します。
/home/exports/ARM_trusty 192.168.253.0/255.255.255.0(rw,no_root_squash,insecure,async,subtree_check)
追加したエントリを有効化します。
# exportfs -a
export されているか確認しておきます。
# exportfs |grep trusty /home/exports/ARM_trusty
ISC DHCP の例です。
/etc/dhcp/dhcpd.conf を設定します。
default-lease-time 86400; max-lease-time 86400; allow bootp; #ddns-update-style ad-hoc; subnet 192.168.253.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.253.255; option routers 192.168.253.5; option ntp-servers 192.168.253.5; option domain-name-servers 192.168.253.5; range 192.168.253.200 192.168.253.249; group { host mae3xx { hardware ethernet 00:80:6d:xx:xx:xx; fixed-address 192.168.253.47; option root-path "192.168.253.5:/home/exports/ARM_trusty"; } } }
MA-E3xx のコンソールで、起動時にキーを入力し自動起動を停止させます。
barebox 2013.12.0-gc51c3f4 #3 Tue Mar 11 18:24:49 JST 2014 Board: plum-ma[512MiB] m25p80 m25p800: m25p16 (2048 Kbytes) booting from SPI barebox 2013.12.0-00373-g5307ee1-dirty #706 Tue Jan 12 10:16:15 JST 2016 Board: plum-ma[512MiB] nand: ONFI param page 0 valid nand: ONFI flash detected nand: NAND device: Manufacturer ID: 0x01, Chip ID: 0xda (AMD/Spansion S34ML02G1), 256MiB, page size: 2048, OOB size: 64 omap-hsmmc omap4-hsmmc0: registered as omap4-hsmmc0 m25p80 m25p800: m25p16 (2048 Kbytes) i2c-omap i2c-am33xx0: bus 0 rev0.11 at 100 kHz cpsw cpsw0: detected phy mask 0xc mdio_bus: miibus0: probed eth0: got preset MAC address: D0:39:72:3D:75:08 malloc space: 0x8e000000 -> 0x9dffffff (size 256 MiB) Reset is caused by "PowerOnReset" (0x00000001). envfs: wrong magic on /dev/env0 no valid environment found on /dev/env0. Using default environment running /env/bin/init... filetype: No such file or directory UBI: attaching mtd0 to ubi0 UBI: scanning is finished registering /dev/ubi0 registering kernel.0 as /dev/ubi0.kernel.0 registering kernel.1 as /dev/ubi0.kernel.1 registering initramfs.0 as /dev/ubi0.initramfs.0 registering initramfs.1 as /dev/ubi0.initramfs.1 registering kmod.0 as /dev/ubi0.kmod.0 registering kmod.1 as /dev/ubi0.kmod.1 registering rootfs.0 as /dev/ubi0.rootfs.0 registering rootfs.1 as /dev/ubi0.rootfs.1 registering opt as /dev/ubi0.opt registering overlay as /dev/ubi0.overlay UBI: attached mtd0 (name "nand0.UBI", size 255 MiB) to ubi0 UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 UBI: VID header offset: 512 (aligned 512), data offset: 2048 UBI: good PEBs: 2040, bad PEBs: 0, corrupted PEBs: 0 UBI: user volume: 10, internal volumes: 1, max. volumes count: 128 UBI: max/mean erase counter: 9/6, WL threshold: 4096, image sequence number: 4024 UBI: available PEBs: 0, total reserved PEBs: 2040, PEBs reserved for bad PEB handling: 40 Hit m for menu or any other key to stop autoboot: 1 type exit to get to the menu barebox@plum-ma[512MiB]:/
“exit” と入力することで、bootloader のメニューを表示させます。
type exit to get to the menu barebox@plum-ma[512MiB]:/ exit
カーソルの上下で “3: Boot: NFS root (Kernel, dtb on Flash)” を選択し、Enter で実行します。
起動しました。