This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: NFS fails

Part Number: AM3358
Other Parts Discussed in Thread: AM3352, TPS65217

Hi, all.

I started the boot loader with UART and downloaded the kernel image file and dtb with NFS configuration.

But, error occurs because the file system could not be found.

 

Question 

Please suggest me how to boot the Linux using nfs

Environment is as follows

1.  Host os : Ubuntu 18.04 (Virtual machine).

2.  Connection : Ethernet direct connection of pc and processor without switch or hub.

3. SDK : am335x-evm-06.01.00.08

4. File system : tisdk-rootfs-image-am335x-evm

5. status : 

NFS setting is okay

u-boot operation check

kernel image and dtb download check with wireshark

after bootz ${loadaddr} - ${fdtaddr}

I look forward to your reply.

Thank so much.

  • Hello,

    Could you please attach a full boot log (.txt file) to a post. We need to see what is going on outside of the screen captures you have provided. Thank you.

  • Thank your reply.

    Boot log is here : 

    => bootz ${loadaddr} - ${fdtaddr}
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8df2b000, end 8df36f6c ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.19.59-g5f8c1c6121 (oe-user@oe-host) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Sat Oct 19 17:17:25 UTC 2019
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 48 MiB at 0x8a800000
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon)
    [ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x434 with crng_init=0
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64960
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=10.20.11.7:/home/selpman/am335x-evm-06.01.00.08/targetNFS,nolock rw=10.20.11.56
    [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.000000] Memory: 196304K/262144K available (9216K kernel code, 309K rwdata, 2692K rodata, 1024K init, 253K bss, 16688K reserved, 49152K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)
    [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
    [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 310 kB)
    [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 254 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000035] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000046] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000203] timer_probe: no matching timers found
    [ 0.000368] Console: colour dummy device 80x30
    [ 0.000395] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000401] This ensures that you still see kernel messages. Please
    [ 0.000406] update your kernel commandline.
    [ 0.000455] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [ 0.089171] pid_max: default: 32768 minimum: 301
    [ 0.089350] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089364] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.090105] CPU: Testing write buffer coherency: ok
    [ 0.090167] CPU0: Spectre v2: using BPIALL workaround
    [ 0.090962] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.091098] rcu: Hierarchical SRCU implementation.
    [ 0.091404] EFI services will not be available.
    [ 0.092629] devtmpfs: initialized
    [ 0.099555] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.099925] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.099946] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.103285] pinctrl core: initialized pinctrl subsystem
    [ 0.104007] DMI not present or invalid.
    [ 0.104405] NET: Registered protocol family 16
    [ 0.106520] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.124873] l4_wkup_cm:clk:0010:0: failed to disable
    [ 0.177519] cpuidle: using governor ladder
    [ 0.177554] cpuidle: using governor menu
    [ 0.182186] OMAP GPIO hardware version 0.1
    [ 0.190673] No ATAGs?
    [ 0.190688] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.203091] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.205883] SCSI subsystem initialized
    [ 0.206335] media: Linux media interface: v0.10
    [ 0.206375] videodev: Linux video capture interface: v2.00
    [ 0.206470] pps_core: LinuxPPS API ver. 1 registered
    [ 0.206478] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.206499] PTP clock support registered
    [ 0.206531] EDAC MC: Ver: 3.0.0
    [ 0.207607] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.208179] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.209381] clocksource: Switched to clocksource timer1
    [ 0.216807] NET: Registered protocol family 2
    [ 0.217589] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
    [ 0.217624] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.217648] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.217671] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.217768] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.217787] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.217928] NET: Registered protocol family 1
    [ 0.218479] RPC: Registered named UNIX socket transport module.
    [ 0.218492] RPC: Registered udp transport module.
    [ 0.218498] RPC: Registered tcp transport module.
    [ 0.218503] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.219567] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.220764] Initialise system trusted keyrings
    [ 0.221124] workingset: timestamp_bits=14 max_order=16 bucket_order=2
    [ 0.225221] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.225956] NFS: Registering the id_resolver key type
    [ 0.225998] Key type id_resolver registered
    [ 0.226005] Key type id_legacy registered
    [ 0.226044] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.228088] Key type asymmetric registered
    [ 0.228105] Asymmetric key parser 'x509' registered
    [ 0.228174] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 0.228187] io scheduler noop registered
    [ 0.228194] io scheduler deadline registered
    [ 0.228420] io scheduler cfq registered (default)
    [ 0.228430] io scheduler mq-deadline registered
    [ 0.228437] io scheduler kyber registered
    [ 0.230247] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [ 0.275838] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.279570] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
    [ 0.901726] console [ttyS0] enabled
    [ 0.907337] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 0.913756] random: fast init done
    [ 0.917382] random: crng init done
    [ 0.933299] brd: module loaded
    [ 0.942643] loop: module loaded
    [ 0.948084] libphy: Fixed MDIO Bus: probed
    [ 1.019465] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 1.027167] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [ 1.035180] libphy: 4a101000.mdio: probed
    [ 1.039220] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8031 ethernet
    [ 1.048569] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Atheros 8031 ethernet
    [ 1.058702] cpsw 4a100000.ethernet: Detected MACID = f4:e1:1e:c8:dc:6f
    [ 1.065497] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.071934] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.077225] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.085728] i2c /dev entries driver
    [ 1.091136] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.098235] sdhci: Secure Digital Host Controller Interface driver
    [ 1.104508] sdhci: Copyright(c) Pierre Ossman
    [ 1.109617] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
    [ 1.118359] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.123513] omap_hsmmc 48060000.mmc: Linked as a consumer to regulator.1
    [ 1.157040] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.1
    [ 1.189576] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.196831] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.208151] NET: Registered protocol family 10
    [ 1.214232] Segment Routing with IPv6
    [ 1.218150] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.224905] NET: Registered protocol family 17
    [ 1.229821] Key type dns_resolver registered
    [ 1.234355] omap_voltage_late_init: Voltage driver support not added
    [ 1.241705] Loading compiled-in X.509 certificates
    [ 1.269739] mmc1: new high speed MMC card at address 0001
    [ 1.276135] mmcblk1: mmc1:0001 4FPD3R 3.64 GiB
    [ 1.281566] mmcblk1boot0: mmc1:0001 4FPD3R partition 1 4.00 MiB
    [ 1.287973] mmcblk1boot1: mmc1:0001 4FPD3R partition 2 4.00 MiB
    [ 1.294797] mmcblk1rpmb: mmc1:0001 4FPD3R partition 3 512 KiB, chardev (244:0)
    [ 1.304638] mmcblk1: p1 p2
    [ 1.314942] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [ 1.461661] tda998x 0-0070: found TDA19988
    [ 1.468408] tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops)
    [ 1.474531] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 1.481187] [drm] No driver support for vblank timestamp query.
    [ 1.487465] [drm] Cannot find any crtc or sizes
    [ 1.492632] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
    [ 1.500264] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.507668] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [ 1.513947] cpu cpu0: Linked as a consumer to regulator.3
    [ 1.519512] cpu cpu0: Dropping the link to regulator.3
    [ 1.525009] cpu cpu0: Linked as a consumer to regulator.3
    [ 1.531700] hctosys: unable to open rtc device (rtc0)
    [ 1.537325] ALSA device list:
    [ 1.540500] No soundcards found.
    [ 2.560053] [drm] Cannot find any crtc or sizes
    [ 97.763057] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 97.770319] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
    [ 97.777605] Please append a correct "root=" boot option; here are the available partitions:
    [ 97.786193] 0100 65536 ram0
    [ 97.786207] (driver?)
    [ 97.793077] 0101 65536 ram1
    [ 97.793201] (driver?)
    [ 97.799731] 0102 65536 ram2
    [ 97.799743] (driver?)
    [ 97.806122] 0103 65536 ram3
    [ 97.806133] (driver?)
    [ 97.812593] 0104 65536 ram4
    [ 97.812755] (driver?)
    [ 97.819024] 0105 65536 ram5
    [ 97.819035] (driver?)
    [ 97.825494] 0106 65536 ram6
    [ 97.825605] (driver?)
    [ 97.832051] 0107 65536 ram7
    [ 97.832056] (driver?)
    [ 97.838184] 0108 65536 ram8
    [ 97.838187] (driver?)
    [ 97.844366] 0109 65536 ram9
    [ 97.844369] (driver?)
    [ 97.850512] 010a 65536 ram10
    [ 97.850516] (driver?)
    [ 97.856729] 010b 65536 ram11
    [ 97.856732] (driver?)
    [ 97.862958] 010c 65536 ram12
    [ 97.862961] (driver?)
    [ 97.869172] 010d 65536 ram13
    [ 97.869175] (driver?)
    [ 97.875416] 010e 65536 ram14
    [ 97.875420] (driver?)
    [ 97.881646] 010f 65536 ram15
    [ 97.881649] (driver?)
    [ 97.887870] b300 3817472 mmcblk1
    [ 97.887874] driver: mmcblk
    [ 97.894727] b301 65536 mmcblk1p1 00000000-01
    [ 97.894731]
    [ 97.901568] b302 3750912 mmcblk1p2 00000000-02
    [ 97.901572]
    [ 97.908398] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
    [ 97.916706] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) ]---

  • Hi, thanks that is easier to read. 

    You didn't provide the U-boot part, which would be useful. It looks like somehow the kernel command line, which is set by U-Boot environment, is not correct

    han hosung said:
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=10.20.11.7:/home/selpman/am335x-evm-06.01.00.08/targetNFS,nolock rw=10.20.11.56

    the "rw=..." should be ip=10.20....

    I'm not sure if this is the only problem or why this happens. We provide a setup.sh in the SDK root directory that you can consult to see how we set up and verify NFS. Maybe that will provide some insight for you.

    Thanks.

  • my U-Boot set is here:

    setenv nfsopts nolock,v3,tcp,rsize=4096,wsize=4096

    setenv ipaddr 10.20.11.56   (device ip)

    setenv serverip 10.20.11.7  (server ip)

    setenv rootpath /home/selpman/am335x-evm-06.01.00.08/targetNFS

    setenv fdtfile am335x-boneblack.dtb

    setenv netloadimage nfs ${loadaddr} ${serverip}:${rootpath}/boot/${bootfile}

    setenv netargs setenv bootargs console=ttyO0,115200n8 root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip={ipaddr}

    setenv netloadfdt nfs ${fdtaddr} ${serverip}:${rootpath}/boot/${fdtfile}

    And i tried as below :

    ping 10.20.11.7 -> ping Check with Server okay

    run netloadimage / netloadfdt -> download okay

    run netargs -> check with printenv okay

     

    So, is there anything wrong with netargs?  Or NFS settings on the host?

    Please, could you give me directions to solve the problem?

    Thanks.

  • Hello,

    Please see this thread:

    https://e2e.ti.com/support/processors/f/791/t/841572?AM5728-NFS-boot-issue

    Can you check your NFS version and make sure version 3 is enabled? It might be interesting to try the full nfsvers=3 instead of just v3.

    Also, it might be good to try a full IP address spec, per the thread, for your static IP as well.

    I can't tell from the wireshark capture picture that you posted, but are you seeing activity after the dtb/kernel are transferred? What does that look like?

    Thanks.