====== NFS root での起動 ======
PC上に開発環境を導入したクロスの root filesystem(ARM用) を用意し、PCでコンパイルしたプログラムを\\
実機で即((プログラムを転送せずに))確認したい場合などには、NFS rootでの起動が便利です。
『[[mae3xx_ope:boot_select:start]]』による方法では選択できませんが、\\
bootloader のメニューから選択し、起動することができます。
\\
===== サーバ側の設定 =====
NFSサーバ、DHCPサーバを導入し、設定を行います。
==== NFSサーバの設定 ====
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
\\
==== DHCPサーバの設定 ====
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";
}
}
}
\\
===== NFS root での起動 =====
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
{{:mae3xx_ope:boot_nfsroot:nfsroot_bootloader_00.png|bootloader MENU}}
\\
カーソルの上下で "3: Boot: NFS root (Kernel, dtb on Flash)" を選択し、Enter で実行します。
{{:mae3xx_ope:boot_nfsroot:nfsroot_bootloader_01.png|select NFS root}}
\\
起動しました。
{{:mae3xx_ope:boot_nfsroot:nfsroot_bootloader_02.png|boot with NFS root}}