> Hi !
>
> I have two problems disclosed here.
> Are both problems (or at least #1) BusyBox related ?
> Any idea how to fix ?
>
> Problem # 1 "pivot_root" failure issue
>
> Please note that PQ2FADS-VR is an embedded diskless board,
> booted with (old) ramdisk (from W. Denk) with BusyBox v0.60.1and
> then manually mounting onto NFS file system, provided on the Linux "file
> server" PC, which is running Linux Red Hat 9 Shrike.
> During the "manual"mount with specifying NFS version 2, several warnings
> are thrown ...(-o nolock fixes those)
> but after a while the mount gets complete ...but ...
> I am not able to "pivot_root" on my board onto that mounted file system
> (though on the board the portmap is not running ...I think .. and
> loopback is configured)
> - getting error: "pivot_root: Device or resource busy" (see below).
> I have limited tools on that board at that time to figure out what keeps
> old root busy
> (outdated libc.so library, provided with ramdisk, which I can not replace
> on the fly,
> prevents adding/running rpcinfo and lsof).
>
> A)
> ************************
> tftpboot 200000 uimage
> ...
> bootm 200000 FF800000
> ...
> RAMDISK: Compressed image found at block 0
> VFS: Mounted root (ext2 filesystem).
> Freeing unused kernel memory: 272k init
> serial console detected. Disabling virtual terminals.
> ### Application running ...
> BusyBox v0.60.1 (2002.10.24-02:29+0000) Built-in shell (msh)
> Enter 'help' for a list of built-in commands.
> #mkdir /fadsroot
> # ls -l /
> drwxr-xr-x 2 0 0 2048 Jan 1 01:29 bin
> drwxr-xr-x 2 0 0 3072 Jan 1 00:00 dev
> drwxr-xr-x 5 0 0 1024 Jan 1 00:00 etc
> drwxrwxrwx 38 0 0 4096 Oct 7 2004 fadsroot
> drwxr-xr-x 2 0 0 1024 Jan 1 00:00 ftp
> drwxr-xr-x 2 0 0 1024 Jan 1 00:00 home
> drwxr-xr-x 3 0 0 1024 Jan 1 01:29 lib
> dr-xr-xr-x 25 0 0 0 Jan 1 00:00 proc
> drwxr-xr-x 2 0 0 1024 Jan 1 00:00 sbin
> drwxr-xr-x 2 0 0 1024 Jan 1 00:00 tmp
> drwxr-xr-x 4 0 0 1024 Jan 1 00:00 usr
> drwxr-xr-x 4 0 0 1024 Jan 1 00:00 var
> # portmap
> portmap: not found
> # ifconfig
> eth0 Link encap:Ethernet HWaddr 08:00:17:40:00:03
> inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:19 errors:0 dropped:0 overruns:0 frame:0
> TX packets:15 errors:0 dropped:0 overruns:0 carrier:15
> collisions:0 txqueuelen:1000
> RX bytes:2056 (2.0 kb) TX bytes:1488 (1.4 kb)
> Base address:0x8500
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
> # mount
> rootfs on / type rootfs (rw)
> /dev/ram0 on / type ext2 (rw)
> /proc on /proc type proc (rw,nodiratime)
> #mount -o mountvers=2 192.168.0.3:/fadsroot /fadsroot
> fs warning: mount version older than kernel
> portmap: server localhost not responding, timed out
> RPC: failed to contact portmap (errno -5).
> portmap: server localhost not responding, timed out
> RPC: failed to contact portmap (errno -5).
> lockd_up: makesock failed, error=-5
> portmap: server localhost not responding, timed out
> RPC: failed to contact portmap (errno -5).
> #
> # mount
> rootfs on / type rootfs (rw)
> /dev/ram0 on / type ext2 (rw)
> /proc on /proc type proc (rw,nodiratime)
> 192.168.0.3:/fadsroot on /fadsroot type nfs
> (rw,v2,rsize=8192,wsize=8192,hard,ud
> p,lock,addr=192.168.0.3)
> # ps
> PID Uid Stat Command
> 1 root S init
> 2 root R [ksoftirqd/0]
> 3 root S [events/0]
> 4 root S [khelper]
> 5 root S [kblockd/0]
> 6 root S [pdflush]
> 7 root S [pdflush]
> 8 root S [kswapd0]
> 9 root S [aio/0]
> 15 root S /usr/sbin/xinetd -stayalive -reuse -pidfile
> /tmp/xinetd.pid
> 138 root S [rpciod]
> 253 root S -sh
> 254 root S /bin/sh /bin/application
> 256 root S sleep 300
> 258 root R ps
>
> # ifconfig
> eth0 Link encap:Ethernet HWaddr 08:00:17:40:00:03
> inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:122 errors:0 dropped:0 overruns:0 frame:0
> TX packets:114 errors:0 dropped:0 overruns:0 carrier:114
> collisions:0 txqueuelen:1000
> RX bytes:20747 (20.2 kb) TX bytes:14320 (13.9 kb)
> Base address:0x8500
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
>
> # cd /fadsroot
> #sbin/pivot_root /fadsroot /tmp
> pivot_root: pivot_root: Device or resource busy
>
> As I've mentioned already, using additionally -o noolock option, while
> doung mount allows to get rid of warnings during mounting but this does
> NOT fix
> the pivot_root failure.
>
> *************************************************************
> I am not an expert on Red Hat 9 Linux either(though I "manage" that
> machine ;-)),
> but on that machine portmap is running there and /fadsroot is exported for
> NFS mounting also:
>
> B)
> **************************************************
> [root@localhost root]# uname -a
> Linux localhost.localdomain 2.4.20-28.9 #1 Thu Dec 18 13:45:22 EST 2003
> i686 i686 i386 GNU/Linux
>
> [root@localhost root]# rpm -qa | grep portmap
> portmap-4.0-54
>
> [root@localhost root]# rpm -qa | grep nfs
> nfs-utils-1.0.1-3.9
> redhat-config-nfs-1.0.4-5
>
> [root@localhost root]# rpcinfo -p localhost
> program vers proto port
> 100000 2 tcp 111 portmapper
> 100000 2 udp 111 portmapper
> 100024 1 udp 1024 status
> 100024 1 tcp 1024 status
> 391002 2 tcp 1025 sgi_fam
> 100011 1 udp 999 rquotad
> 100011 2 udp 999 rquotad
> 100011 1 tcp 1002 rquotad
> 100011 2 tcp 1002 rquotad
> 100003 2 udp 2049 nfs
> 100003 3 udp 2049 nfs
> 100021 1 udp 1026 nlockmgr
> 100021 3 udp 1026 nlockmgr
> 100021 4 udp 1026 nlockmgr
> 100005 1 udp 1027 mountd
> 100005 1 tcp 1026 mountd
> 100005 2 udp 1027 mountd
> 100005 2 tcp 1026 mountd
> 100005 3 udp 1027 mountd
> 100005 3 tcp 1026 mountd
>
> [root@localhost root]# cat /etc/exports
> /fadsroot *(rw,no_root_squash,async)
>
> [root@localhost root]# showmount -e
> Export list for localhost.localdomain:
> /fadsroot *
>
> ***********************************************
>
> Problem #2
> I am also not able to boot "straight" (i.e., without ramdisk) - with NFS
> mounting the root file system
> onto the same (as described above) Linux "file server" PC running Linux
> Red Hat 9 Shrike
> (with the same settings as it is described above) -
> this does not work - I am getting kernel panic "Attempted to kill init!"-
> see below C)
> (That is why I am booting with ramdisk instead).
> This kernel panic is puzzling (given that with ramdisk I could boot now ).
>
> So perhaps the problem is again in the NFS version incompatibility ???
> But this time it is not BusyBox from ramdisk ... but perhaps an attempt to
> run BusyBox from /fadsroot
> (it is there too, but more "current version" ) during the boot is failing
> in this case ?
> ... and the kernel on my board during booting does not "know", that it
> needs to use NFS version 2
> during mounting ?
>
> Should the kernel be configured to
> allow to NFS mount root file system onto the NFS server with version
> 2 ?
>
> I do not see the kernel option to configure NFS version 2 ...
> Here is what I have:
>
> CONFIG_NFS_FS=y
> # CONFIG_NFS_V3 is not set
> # CONFIG_NFS_V4 is not set
> # CONFIG_NFS_DIRECTIO is not set
> # CONFIG_NFSD is not set
> CONFIG_ROOT_NFS=y
> CONFIG_LOCKD=y
>
> C)
> ***************************************************************
> => printenv
> bootdelay=5
> bootcmd=bootm 200000
> ethaddr=08:00:17:00:00:03
> serverip=192.168.0.3
> ipaddr=192.168.0.5
> baudrate=9600
> bootargs=root=/dev/nfs rw nfsroot=192.168.0.4:/fadsroot
> stdin=serial
> stdout=serial
> stderr=serial
>
> Environment size: 210/262140 bytes
> => tftpboot 200000 uimage
> Using FCC2 ETHERNET device
> TFTP from server 192.168.0.3; our IP address is 192.168.0.5
> Filename 'uimage'.
> Load address: 0x200000
> Loading:
> #################################################################
>
> #################################################################
> #######################################
> done
> Bytes transferred = 864364 (d306c hex)
> => bootm 200000
> ## Booting image at 00200000 ...
> Image Name: Linux-2.6.8-rc4
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 864300 Bytes = 844 kB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
> Linux version 2.6.8-rc4 (apovolot@USPITLAD104868) (gcc version
> 3.3.2) #5 Mon Aug
> 16 08:49:38 EDT 2004
> PQ2 ADS Port
> Built 1 zonelists
> Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.4:/fadsroot
> nobats ip=19
> 2.168.0.5
> PID hash table entries: 256 (order 8: 2048 bytes)
> Warning: real time clock seems stuck!
> Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
> Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
> Memory: 30432k available (1348k kernel code, 324k data, 272k init,
> 0k highmem)
> Calibrating delay loop... 131.07 BogoMIPS
> Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
> NET: Registered protocol family 16
> PCI: Probing PCI hardware
> Generic RTC Driver v1.07
> Serial: CPM driver $Revision: 0.01 $
> ttyCPM0 at MMIO 0xf0011a00 (irq = 40) is a CPM UART
> RAMDISK driver initialized: 16 RAM disks of 32768K size 1024
> blocksize
> loop: loaded (max 8 devices)
> eth0: FCC ENET Version 0.3, 08:00:17:40:00:03
> NET: Registered protocol family 2
> IP: routing cache hash table of 512 buckets, 4Kbytes
> TCP: Hash tables configured (established 2048 bind 4096)
> NET: Registered protocol family 1
> NET: Registered protocol family 17
> IP-Config: Guessing netmask 255.255.255.0
> IP-Config: Complete:
> device=eth0, addr=192.168.0.5, mask=255.255.255.0,
> gw=255.255.255.255,
> host=192.168.0.5, domain=, nis-domain=(none),
> bootserver=255.255.255.255, rootserver=192.168.0.4, rootpath=
> Looking up port of RPC 100003/2 on 192.168.0.4
> Looking up port of RPC 100005/1 on 192.168.0.4
> VFS: Mounted root (nfs filesystem).
> Freeing unused kernel memory: 272k init
> Kernel panic: Attempted to kill init!
> <0>Rebooting in 180 seconds..
>
> Any comment/opinion/solution/ ?
>
> Thanks,
> Best Regards,
> Your input/comments/advise is APPRECIATED in advance !,
> Alex
>
>
>
|