NFS boot(2)

SheevaPlug

NFS サーバの確認ができたので、 もう一回復旧のため NFS ブートを試す。

U-Boot の環境変数の確認

設定した bootargs がちゃんと残っているか、 確認する
Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
netmask=255.255.0.0
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_root=root=/dev/mtdblock2 ro
ethmtu=1500
usb0Mode=host
nandEcc=1bit
cesvcid=ULULULULULULPPULULULULULDA
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
yuk_ethaddr=00:00:00:EE:51:81
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
run_diag=no
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
ipaddr=192.168.2.85
serverip=192.168.2.38
ethact=egiga0
filesize=72f18
fileaddr=2000000
ethaddr=00:50:43:01:CA:72
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw root=/dev/nfs rw nfsroot=192.168.2.38:/srv/nfs/rootfsv1.0 ip=192.168.2.85:192.168.2.38:::DB88FXX81:eth0:none
stdin=serial
stdout=serial
stderr=serial
console=console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0(uboot)ro,0x0@0x100000(uImage),0x1ff00000@0x100000(rootfs)rw
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes

Environment size: 1464/131068 bytes
Marvell>>
残っている

boot

リセットする
Marvell>> reset
	:
	:
Looking up port of RPC 100003/2 on 192.168.2.38
eth0: link up, full duplex, speed 1 Gbps
Looking up port of RPC 100005/1 on 192.168.2.38
Root-NFS: Server returned error -13 while mounting /srv/nfs/rootfsv1.0
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00       1024 mtdblock0 (driver?)
1f01       2048 mtdblock1 (driver?)
1f02     521216 mtdblock2 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
進歩はあったようだが、error -13。

サーバのログを見る

ude:/var/log# tail daemon.log
	:
	:
Oct  3 09:24:17 ude mountd[1489]: NFS mount of /srv/nfs/rootfsv1.0 attempted from 192.168.2.85
Oct  3 09:24:17 ude mountd[1489]: Unauthorized access by NFS client 192.168.2.85.
Oct  3 09:24:17 ude mountd[1489]: Blocked attempt of 192.168.2.85 to mount /srv/nfs/rootfsv1.0
ude:/var/log#
Unauthorized ?

exports の変更

exports を変えてみる
ude:/var/log# vi /etc/exports
	:
	:
ude:/var/log# cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/srv/nfs        192.168.2.85(rw,sync,no_root_squash)
ude:/var/log#
ude:/var/log# /etc/init.d/nfs-user-server reload
Reloading NFS servers' configuration files.
ude:/var/log#

もう一回 boot

IP-Config: Complete:
      device=eth0, addr=192.168.2.85, mask=255.255.255.0, gw=255.255.255.255,
     host=DB88FXX81, domain=, nis-domain=(none),
     bootserver=192.168.2.38, rootserver=192.168.2.38, rootpath=
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
Looking up port of RPC 100003/2 on 192.168.2.38
eth0: link up, full duplex, speed 1 Gbps
Looking up port of RPC 100005/1 on 192.168.2.38
VFS: Mounted root (nfs filesystem).
Freeing init memory: 124K
init started: BusyBox v1.7.0 (2008-02-26 19:25:17 IST)
starting pid 280, tty '': '/etc/init.d/rcS'
starting pid 282, tty '': '/bin/sh'
-sh-3.2# mount
rootfs on / type rootfs (rw)
/dev/root on / type nfs (rw,vers=2,rsize=4096,wsize=4096,hard,nolock,proto=udp,timeo=11,retrans=2,sec=sys,addr=192.168.2.38)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
-sh-3.2#
できた。


←(前のページ)
NFS boot
当月のハックの記録
SheevaPlug/玄柴(KURO-SHEEVA)をハックしよう トップ
(次のページ)→
root fs の書込み

Copyright (C) 2003-2009 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市