So, I'm trying to make my mini6410 boot over NFS, and despite looking at various places on the web, I'm failing to get it to boot. I've expanded the update 'rootfs_qtopia_qt4-20101122.tgz' into the NFS-exported directory /home/simon/arm/rootfs_qtopia_qt4 on a linux box, and verified that NFS is working from another machine (I can mount the directory). I set up the u-boot environment as: setenv bootargs console=ttySAC0,115200 noinitrd init=/linuxrc ip=192.168.1.81 root=/dev/nfs rw nfsroot=192.168.1.80:/home/simon/arm/rootfs_qtopia_qt4 setenv bootcmd 'nand read.i c0008000 80000 500000;bootm c0008000' ... the goal being to use the existing kernel with an NFS-mounted rootfs, but when I boot, I get: OK U-Boot 1.1.6 (Aug 9 2010 - 11:33:36) for FriendlyARM MINI6410 CPU: S3C6410@532MHz Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) Board: MINI6410 DRAM: 128 MB Flash: 0 kB NAND: 1024 MB In: serial Out: serial Err: serial MAC: 08:90:90:90:90:90 Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x80000, size 0x500000 Reading data from 0x57f800 -- 100% complete. 5242880 bytes read: OK Boot with zImage Starting kernel ... Uncompressing Linux........................................................................... ................................................................................ ................... Linux version 2.6.28.6-FriendlyARM (root@russell-work-pc) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #1 Fri Aug 27 17:34:23 CST 2010 CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: SMDK6410 Memory policy: ECC disabled, Data cache writeback CPU S3C6410 (id 0x36410101) S3C24XX Clocks, (c) 2004 Simtec Electronics S3C64XX: PLL settings, A=532000000, M=532000000, E=24000000 S3C64XX: HCLKx2=266000000, HCLK=133000000, PCLK=66500000 div1: 00000555 mout_apll: source is fout_apll (1), rate is 532000000 mout_epll: source is fout_epll (1), rate is 24000000 mout_mpll: source is mpll (1), rate is 532000000 mmc_bus: source is dout_mpll (1), rate is 44333333 mmc_bus: source is dout_mpll (1), rate is 44333333 mmc_bus: source is dout_mpll (1), rate is 44333333 usb-host-bus: source is mout_epll (0), rate is 24000000 uclk1: source is dout_mpll (1), rate is 66500000 spi-bus: source is mout_epll (0), rate is 24000000 spi-bus: source is mout_epll (0), rate is 24000000 audio-bus0: source is mout_epll (0), rate is 24000000 audio-bus1: source is mout_epll (0), rate is 24000000 audio-bus2: source is mout_epll (0), rate is 24000000 irda-bus: source is mout_epll (0), rate is 24000000 s3c64xx: 15728640 bytes SDRAM reserved for fimc at 0x50784000 s3c64xx: 8388608 bytes SDRAM reserved for pp at 0x51684000 s3c64xx: 8388608 bytes SDRAM reserved for tv at 0x51e84000 s3c64xx: 6291456 bytes SDRAM reserved for mfc at 0x52684000 s3c64xx: 8388608 bytes SDRAM reserved for jpeg at 0x52c84000 s3c64xx: 8388608 bytes SDRAM reserved for cmm at 0x53484000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttySAC0 init=/linuxrc root=/dev/nfs nfsroot=192.168.1.80:/home/simon/arm/rootfs_qtopia_qt4 ip=192.168.1.81:192.168.1.80:192.168.1.1:255.255.255.0::eth0: PID hash table entries: 512 (order: 9, 2048 bytes) Console: colour dummy device 80x30 s3c24xx_serial_init_ports: initialising ports=4... console [ttySAC0] enabled Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 68864KB available (5092K code, 592K data, 916K init) SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Calibrating delay loop... 530.84 BogoMIPS (lpj=1327104) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok net_namespace: 316 bytes NET: Registered protocol family 16 S3C6410: Initialising architecture S3C DMA-pl080 Controller Driver, (c) 2006-2007 Samsung Electronics Total 32 DMA channels will be initialized. SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 4, 81920 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered NET: Registered protocol family 1 NetWinder Floating Point Emulator V0.97 (double precision) yaffs Aug 27 2010 17:31:03 Installing. msgmni has been set to 134 io scheduler noop registered (default) S3C_LCD clock got enabled :: 133.000 Mhz LCD TYPE :: LTE480WV will be initialized Window[0] - FB1: map_video_memory: clear ff000000:0007f800 FB1: map_video_memory: dma=57300000 cpu=ff000000 size=0007f800 Window[0] - FB2: map_video_memory: clear ff03fc00:0003fc00 FB2: map_video_memory: dma=5733fc00 cpu=ff03fc00 size=0003fc00 Console: switching to colour frame buffer device 60x34 fb0: s3cfb frame buffer device Window[1] - FB1: map_video_memory: clear ff080000:0007f800 FB1: map_video_memory: dma=57380000 cpu=ff080000 size=0007f800 Window[1] - FB2: map_video_memory: clear ff0bfc00:0003fc00 FB2: map_video_memory: dma=573bfc00 cpu=ff0bfc00 size=0003fc00 fb1: s3cfb frame buffer device Window[2] - FB1: map_video_memory: clear ff100000:0003fc00 FB1: map_video_memory: dma=57400000 cpu=ff100000 size=0003fc00 fb2: s3cfb frame buffer device Window[3] - FB1: map_video_memory: clear ff140000:0003fc00 FB1: map_video_memory: dma=57440000 cpu=ff140000 size=0003fc00 fb3: s3cfb frame buffer device backlight initialized leds initialized buttons initialized pwm initialized s3c6400-uart.0: s3c2410_serial0 at MMIO 0x7f005000 (irq = 16) is a S3C6400/10 s3c6400-uart.1: s3c2410_serial1 at MMIO 0x7f005400 (irq = 20) is a S3C6400/10 s3c6400-uart.2: s3c2410_serial2 at MMIO 0x7f005800 (irq = 24) is a S3C6400/10 s3c6400-uart.3: s3c2410_serial3 at MMIO 0x7f005c00 (irq = 28) is a S3C6400/10 loop: module loaded PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered dm9000 Ethernet Driver dm9000: dm9000_probe, init GPIO/EINT. dm9000: dm9000_probe2 dm9000: dm9000_probe3 eth0: dm9000 at f7b00300,f7b00304 IRQ 108 MAC: 08:90:90:90:90:90 (snip lots of device messages, since the forum won't display such a long message) TCP cubic registered RPC: Registered udp transport module. RPC: Registered tcp transport module. s3c2410-rtc s3c2410-rtc: setting system clock to 2000-03-23 03:02:47 UTC (953780567) eth0: link down IP-Config: Complete: device=eth0, addr=192.168.1.81, mask=255.255.255.0, gw=192.168.1.1, host=192.168.1.81, domain=, nis-domain=(none), bootserver=192.168.1.80, rootserver=192.168.1.80, rootpath= Freeing init memory: 916K mount: RPC: Remote system error - No route to host /init: line 76: can't open /r/dev/console: no such file Kernel panic - not syncing: Attempted to kill init! eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 On the NFS-server, I'm seeing: Dec 26 23:28:27 itx mountd[3043]: authenticated mount request from 192.168.1.81:940 for /home/simon/arm/rootfs_qtopia_qt4 (/home/simon/arm/rootfs_qtopia_qt4) ... so that seems to be ok, but init is crashing. Anyone got any ideas as to what I'm doing wrong ? Cheers Simon
Booting mini6410 from an NFS partition
How did you extract image? You need to be root when extract. Anyway don't you have some firewall or whatever which could block? thanks, marek
Well I couldn't remember, so just to be sure I deleted and re-unarchived the tar.gz file as root. I still get the same error. I don't think the NFS server is being blocked, because the machine sitting right next to it (my Mac) can mount the NFS partition just fine. I was thinking that there might be some boot option I'm missing - is the fact that there is nothing set in the 'rootpath=' line in the IP-config output significant ? What I have set in the u-boot config at the moment is: ##### FriendlyARM U-Boot(2010-08, NAND) for 6410 ##### [f] Format the nand flash [v] Download u-boot.bin [k] Download Linux/Android kernel [y] Download root yaffs2 image [a] Download Absolute User Application [n] Download Nboot.nb0 for WinCE [w] Download WinCE NK.nb0 [s] Set the boot parameter of Linux [b] Boot Linux [q] Quit to shell NAND Flash size: 1024 MiB Enter your Selection:q MINI6410 # printenv baudrate=115200 ethaddr=08:90:90:90:90:90 gatewayip=192.168.1.1 netmask=255.255.255.0 ipaddr=192.168.1.81 serverip=192.168.1.80 bootdelay=2 bootargs=console=ttySAC0,115200 noinitrd init=/linuxrc ip=192.168.1.81 root=/dev/nfs rw nfsroot=192.168.1.80:/home/simon/arm/rootfs_qtopia_qt4 bootcmd=nand read.i c0008000 80000 500000;bootm c0008000 stdin=serial stdout=serial stderr=serial Environment size: 381/131068 bytes ... this is the standard u-boot that comes with the device. You can boot via nfs with that setup, right ? All the docs around the net talk about re-installing u-boot over supervivi, but mine came with u-boot... Cheers Simon
I have doubt about this line in log: mount: RPC: Remote system error - No route to host Anyway please check if you have in kernel config enabled nfs support? Maybe in kernel which is already in flash this option isn't available. thanks, marek
In your U-boot config. root=/dev/nfs rw nfsroot=192.168.1.80:/home/simon/arm/rootfs_qtopia_qt4 Is that a file name or a directory?
Hi guys, Are you sure /dev is correctly populated (ie /dev/console exists)? I had this problem also in the past. Have a look at LinuxFromScratch, chapter 6.8
Hi, Can someone help me ? Boot stops after connection timeout... All sources, packages where taken from the dvda. I enabled NFS file system in the kernel and recompiled it. I verified contents of dev (I use the rootfs-qtopia provided in the dvda) I verified I can mount the rootfs from another PC I seted up the bootargs as : setenv bootargs noinitrd console=ttySAC0,115200 root=/dev/nfs nfsroot=170.30.98.101:/database1/tiny6410/rootfs_qtopia_qt4-20111212 ip=172.30.98.180::172.30.98.101:255.255.255.0:my6410:eth0:off Thanks in advance. André Last info showned in gtkterm... ... ... NET: Registered protocol family 17 VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5 s3c-rtc s3c64xx-rtc: setting system clock to 2012-04-13 10:20:50 UTC (1334312450) eth0: link down eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 IP-Config: Complete: device=eth0, addr=172.30.98.180, mask=255.255.255.0, gw=172.30.98.101, host=my6410, domain=, nis-domain=(none), bootserver=255.255.255.255, rootserver=170.30.98.101, rootpath= Freeing init memory: 1412K mount: RPC: Remote system error - Connection timed out 1Wire touchscreen OK /init: line 103: can't open /r/dev/console: no such file Kernel panic - not syncing: Attempted to kill init! [<c0178c44>] (unwind_backtrace+0x0/0xe4) from [<c055850c>] (panic+0x58/0x174) [<c055850c>] (panic+0x58/0x174) from [<c018ae48>] (do_exit+0x68/0x5e4) [<c018ae48>] (do_exit+0x68/0x5e4) from [<c018b688>] (do_group_exit+0x90/0xc4) [<c018b688>] (do_group_exit+0x90/0xc4) from [<c018b6cc>] (sys_exit_group+0x10/0x18) one_wire_status: 2 [<c018b6cc>] (sys_exit_group+0x10/0x18) from [<c01735e0>] (ret_fast_syscall+0x0/0x30) one_wire_status: 4
>Attempted to kill init I think the directory is not exported properly. Did you exported it properly through /etc/exports ? Just try restarting nfs-kernel-server.
Thanks to all, it works ! I add 2 issues : Firewall setings & hosts.deny : so board access was denied