TI E2E Community
Digital Signal Processors (DSP)
DaVinci™ Video Processors
DM3x DaVinci Video Processor Forum
Mounting root filesystem on NFS
Having followed the instructions in section A.5 of the getting started guide (extracting dm355_flash_image.....tar to /tmp/filesys and setting bootargs to 'console=ttys0,115200n8 noinitrd ip=dhcp root=/dev/nfs rw nfsroot=192.168.124.130:/tmp/filesys,nolock mem=116M') I am still not booting. Below is as far as the console shows:
DM355 EVM # boot
Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000 Image Name: Linux-2.6.10_mvl401 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1585252 Bytes = 1.5 MB Load Address: 80008000 Entry Point: 80008000## Booting image at 80700000 ... Image Name: Linux-2.6.10_mvl401 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1585252 Bytes = 1.5 MB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OKOK
Starting kernel ...
Uncompressing Linux.......................................................................................................... done, booting thek
I know the IP addresses are correct, and I can mount the NFS share on the host linux machine; I can also see NFS traffic by running a tcpdump on the host linux machine, yet it hangs.
My current suspicion is that there are files missing in my dm355_flash_image_1_30_00_23.tar file - is there a location I can download this from, or possibly could someone gzip up the root of a fresh dev board for me?
Is this the entire boot log? If so, it does not appear you got far enough for the system to even attempt an NFS mount; this may be due to corrupt Linux kernel or incompatible software. What version of DVSDK are you using? I assume you are running this on a TI EVM?
Entire boot capture follows:
Chip initialization passed!TI UBL Version: 1.20, Flash type: NANDBooting Catalog Boot LoaderBootMode = NANDStarting NAND Copy...Valid MagicNum found. DONE
U-Boot 1.2.0 (Oct 17 2007 - 15:38:02)
DRAM: 128 MBNAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)Bad block table found at page 524224, version 0x01Bad block table found at page 524160, version 0x01nand_read_bbt: Bad block at 0x0b480000nand_read_bbt: Bad block at 0x0f940000nand_read_bbt: Bad block at 0x220c0000nand_read_bbt: Bad block at 0x28020000nand_read_bbt: Bad block at 0x29e20000nand_read_bbt: Bad block at 0x2f4c0000nand_read_bbt: Bad block at 0x300a0000nand_read_bbt: Bad block at 0x30fa0000nand_read_bbt: Bad block at 0x338a0000nand_read_bbt: Bad block at 0x34ec0000nand_read_bbt: Bad block at 0x3b6e0000NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)Bad block table found at page 524224, version 0x01Bad block table found at page 524160, version 0x01nand_read_bbt: Bad block at 0x049e0000nand_read_bbt: Bad block at 0x0efa0000nand_read_bbt: Bad block at 0x0f220000nand_read_bbt: Bad block at 0x0fda0000nand_read_bbt: Bad block at 0x11020000nand_read_bbt: Bad block at 0x11b20000nand_read_bbt: Bad block at 0x12ca0000nand_read_bbt: Bad block at 0x13ba0000nand_read_bbt: Bad block at 0x141e0000nand_read_bbt: Bad block at 0x14660000nand_read_bbt: Bad block at 0x149e0000nand_read_bbt: Bad block at 0x16ca0000nand_read_bbt: Bad block at 0x16e60000nand_read_bbt: Bad block at 0x16ea0000nand_read_bbt: Bad block at 0x17120000nand_read_bbt: Bad block at 0x176a0000nand_read_bbt: Bad block at 0x179e0000nand_read_bbt: Bad block at 0x17a20000nand_read_bbt: Bad block at 0x188e0000nand_read_bbt: Bad block at 0x18d20000nand_read_bbt: Bad block at 0x18f60000nand_read_bbt: Bad block at 0x1a420000nand_read_bbt: Bad block at 0x1a460000nand_read_bbt: Bad block at 0x1a7e0000nand_read_bbt: Bad block at 0x1cbe0000nand_read_bbt: Bad block at 0x1cd20000nand_read_bbt: Bad block at 0x1cf40000nand_read_bbt: Bad block at 0x1d2e0000nand_read_bbt: Bad block at 0x1db60000nand_read_bbt: Bad block at 0x1e220000nand_read_bbt: Bad block at 0x1eba0000nand_read_bbt: Bad block at 0x1f960000nand_read_bbt: Bad block at 0x1ff00000nand_read_bbt: Bad block at 0x37380000nand_read_bbt: Bad block at 0x3fb400002048 MiBIn: serialOut: serialErr: serialARM Clock :- 216MHzDDR Clock :- 171MHzHit any key to stop autoboot: 3 0 DM355 EVM # printenv
bootdelay=3baudrate=115200serverip=192.168.124.129bootfile=uImagebootcmd=nboot 0x80700000 0 0x400000; bootmbootargs=console=ttys0,115200n8 noinitrd ip=dhcp root=/dev/nfs rw nfsroot=192.168.124.130:/tmp/filesys,nolock mem=116Mstdin=serialstdout=serialstderr=serialvideostd=pal
Environment size: 285/16380 bytesDM355 EVM # boot
Yes, this is running on a DM355 EVM board. All the flash has been wiped and started from scratch, uploading UBL and u-boot using the UART flashing utility and transfered the kernel uImage-dm355 over tftp.
The host linux system does show a mounted NFS shared from the device also:
$ showmount -aAll mount points on hostname:192.168.124.131:/tmp/filesys$
I think the error is in your bootargs, you have console=ttys0,115200n8 whereas it should be console=ttyS0,115200n8, I believe having that capital wrong will make the kernel confused when it tries to find your output console, so all you see is the boot loader preparing the kernel and as soon as the boot arguments are passed and the kernel starts the console will go dead.
How blind of me - now getting some more messages, but its not yet given my a login prompt.
CPU: ARM926EJ-Sid(wb)  revision 5 (ARMv5TEJ)CPU0: D VIVT write-back cacheCPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 setsCPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 setsMachine: DaVinci DM355 EVMMemory policy: ECC disabled, Data cache writebackDM0350Built 1 zonelistsKernel command line: console=ttyS0,115200n8 noinitrd ip=dhcp root=/dev/nfs rw nfsroot=192.168.124.130:/tmp/filesys,nolock mem=116MPID hash table entries: 512 (order: 9, 8192 bytes)Console: colour dummy device 80x30Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)Memory: 116MB = 116MB totalMemory: 114176KB available (2762K code, 585K data, 164K init)Mount-cache hash table entries: 512 (order: 0, 4096 bytes)CPU: Testing write buffer coherency: okspawn_desched_task(00000000)desched cpu_callback 3/00000000ksoftirqd started up.desched cpu_callback 2/00000000desched thread 0 started up.NET: Registered protocol family 16Registering platform device 'serial8250.0'. Parent at platformRegistering platform device 'nand_davinci.0'. Parent at platformRegistering platform device 'dm9000.0'. Parent at platformRegistering platform device 'mmc.0'. Parent at platformRegistering platform device 'mmc.1'. Parent at platformDaVinci I2C DEBUG: 09:55:22 Aug 27 2008Registering platform device 'i2c'. Parent at platformSCSI subsystem initializedusbcore: registered new driver usbfsusbcore: registered new driver hubmusb_hdrc: version 2.2a/db-0.4.8 [pio] [host] [debug=0]Registering platform device 'musb_hdrc'. Parent at platformmusb_hdrc: USB Host mode controller at c7800000 using PIO, IRQ 12musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1hub 1-0:1.0: USB hub foundhub 1-0:1.0: 1 port detectedarch/arm/mach-davinci/spi_platform_init.c:dm355_spi_board_init:123 dm355_spi_board_init arch/arm/mach-davinci/spi_platform_init.c:dm355_spi_board_init:129 REG BOARD ret 0Registering platform device 'dm_spi.0'. Parent at platformarch/arm/mach-davinci/spi_platform_init.c:dm355_spi_board_init:136 REGISTER DEVICE ret 0NetWinder Floating Point Emulator V0.97 (double precision)JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.yaffs Oct 18 2007 12:52:27 Installing. Initializing Cryptographic APIRegistering platform device 'dm355fb.0'. Parent at platformConsole: switching to colour frame buffer device 90x30watchdog: TI DaVinci Watchdog Timer: timer margin 64 secRegistering platform device 'davinci_pwm0.0'. Parent at platformRegistering platform device 'davinci_pwm1.1'. Parent at platformRegistering platform device 'davinci_pwm2.2'. Parent at platformRegistering platform device 'davinci_pwm3.3'. Parent at platformSerial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabledRegistering platform device 'serial8250'. Parent at platformttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550AttyS1 at MMIO 0x1c20400 (irq = 41) is a 16550AttyS2 at MMIO 0x1e06000 (irq = 14) is a 16550Aio scheduler noop registeredio scheduler anticipatory registeredRAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksizeloop: loaded (max 8 devices)dm9000 Ethernet Drivereth0: dm9000 at c7862000,c7864002 IRQ 45 MAC: 00:0e:99:02:c0:a0i2c /dev entries driverLinux video capture interface: v1.00Registering platform device 'vpfe.1'. Parent at platformvpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loadedipipe major#: 253, minor# 0Registering platform device 'dm355_ipipe.2'. Parent at platformipipe driver registeredaf major#: 252, minor# 0Registering platform device 'dm355_af.2'. Parent at platformaew major#: 251, minor# 0Registering platform device 'dm355_aew.2'. Parent at platformelevator: using anticipatory as default io schedulerat25xxA_spi_eeprom init nand_davinci nand_davinci.0: Using 4-bit hardware ECCNAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)2 NAND chips detectednand_bbt: ECC error while reading bad block tablenand_bbt: ECC error while reading bad block tableCreating 5 MTD partitions on "nand_davinci.0":0x00000000-0x003c0000 : "bootloader"0x003c0000-0x00400000 : "params"0x00400000-0x00800000 : "kernel"0x00800000-0x20800000 : "filesystem1"0x20800000-0x80000000 : "filesystem2"nand_davinci nand_davinci.0: hardware revision: 2.3scan_boardinfo:<NULL>:-1067858964modias <NULL> irq 2000000 max_speed 65535 bus_num 0 chip_select 0 mode -1068867824drivers/spi/spi.cat25xxA_spi_eeprom device register Succeededdm_spi.0: dm355 SPI Controller driver at 0xc7866000 (irq = 42)Initializing USB Mass Storage driver...usbcore: registered new driver usb-storageUSB Mass Storage support registered.usbcore: registered new driver usbhiddrivers/usb/input/hid-core.c: v2.0:USB HID core drivermice: PS/2 mouse device common for all micemmc mmc.0: Supporting 4-bit modemmc mmc.0: Using DMA modemmc mmc.1: Supporting 4-bit modemmc mmc.1: Using DMA modeRegistering platform device 'davinci-audio.0'. Parent at platformNET: Registered protocol family 2IP: routing cache hash table of 512 buckets, 4KbytesTCP: Hash tables configured (established 8192 bind 16384)Initializing XFRM netlink socketNET: Registered protocol family 1NET: Registered protocol family 10IPv6 over IPv4 tunneling driverNET: Registered protocol family 17eth0: link downSending DHCP requests .<6>eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1, OKIP-Config: Got DHCP answer from 192.168.124.254, my address is 192.168.124.131IP-Config: Complete:device=eth0, addr=192.168.124.131, mask=255.255.255.0, gw=255.255.255.255,host=192.168.124.131, domain=localdomain, nis-domain=(none),bootserver=192.168.124.254, rootserver=192.168.124.130, rootpath=Looking up port of RPC 100003/2 on 192.168.124.130Looking up port of RPC 100005/1 on 192.168.124.130VFS: Mounted root (nfs filesystem).Freeing init memory: 164K
Good catch, a capital letter would certainly make a difference and this specific typo would explain why you do not see anymore output on the serial terminal.
So is there a reason why the kernel isn't going on to load init from the (apparently successful) NFS mounted filesystem?
I don't see any init errors in the log you posted, but normally if you are having an init failure (it asks you to try a init= option in the bootargs) that means that either
1. Your filesystem is not in place, such as if you are mounting a folder that does not contain the filesystem files, or that is at least missing some of the critical filesystem files.
2. Your filesystem was damaged moving it into place, if symbolic links were not preserved when copying files into the filesystem folder than you can end up with a init failure. This could be remedied by untaring the file system directly into the NFS mount folder, or by copying it in with the -r option using cp. Note that you probably want to be logged in as root when extracting a filesystem on the host.
As far as I know all the symbolic links are in place, although /linuxrc was pointing to /bin/busybox which I updated to bin/busybox (this may just have been a bad link on the host system). As you say, it's not kicking an error up saying init cannot be found, and it does exist in /sbin/init as one would expect.
Are there files that are not in the tarball flash image that would be needed possibly?
 I haven't been logged in as root as this is very bad practise - none of the file operations have failed due to lack of priviledges though
Found the problem - I had a physical file called 'console' in /dev/ after removing this, some further comments get echoed to the screen:
/bin/sh: error while loading shared libraries: libncurses.so.5: cannot open shared o
If I hit enter the following messages then come up:
Entering runlevel: 3/bin/sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
MontaVista(R) Linux(R) Professional Edition 4.0.1 (0600980)
However, I cannot login - first attempt, root:
/bin/login: error while loading shared libraries: libproc-3.2.5.so: cannot openshared object file: No such file or directory
Where might I find these missing library files?
I am glad to hear you found the problem, but I am curious where you got this filesystem? The filesystem you get from following the getting started guide in /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/target should have everything you need (it works for me via NFS and seems to for most). The first place I would guess to look for such files would be here.
Ah, it could be possible that not all the files were extracted then - I swiftly ran out of disk space when extracting to my virtual machine, which had about 2GB spare - I thought this would be plenty!
I shall find some space on a network server, create a new virtual drive and extract again
Okay, I'm pretty convinced I must have a corrupt install DVD, getting messages such as:
grep: invalid predicate `-qs'
rm: invalid predicate `-f'
and the recurring one:
sleep: 10: No such file or directory
Therefore, is there a link available to re-download the install files?
You can download the files from www.ti.com/davinciregistration once you have registered your board, those are some strange messages hopefully downloading it will help, and that it is not some incompatibility with your host Linux distribution.
I tried following that link before, but the https://www-a.ti.com/extranet/cm/product/dvevmsw/dspswext/general/homepage.shtml link will not load for me - is the TI extranet working?
That page is working from me, of course I am inside the TI network, but I have not heard of any other issues with it today so far.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.