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.

boot BeagleBoard from NFS

Hy

I try to boot my BeagleBoard xM Rev.C from an NFS server which is running on an Ubuntu 10.04 host.

I am able to mount the NFS into an Angstrom Linux on the BeagleBoard so i think the NFS server should work just fine.

My bootargs in the file uEnv.txt are:

serverip=192.168.0.2
ipaddr=192.168.0.9
netmask=255.255.255.0
gatewayip=192.168.0.1
hostname=beagleboard
nfsdevice=usb0:off  
usbethaddr=6E:58:95:1B:82:65  
optargs=mem=99M@0x80000000 mem=384M@0x88000000
nfsargs=setenv bootargs console=tty02,115200n8 mpurate=1000 ${optargs} ip=dhcp nfsroot=192.168.0.2:/home/kli/rootfs root=/dev/nfs rw rootwait  
uenvcmd=echo Initializing net ...; dcache off; usb start; echo Loading kernel ...; nfs ${loadaddr} 192.168.0.2:/home/kli/rootfs/boot/uImage ; echo Booting from nfs ...; run nfsargs; bootm ${loadaddr}

When i boot the BeagleBoard i get the log:

U-Boot SPL 2011.12-dirty (May 26 2012 - 14:13:36)

Texas Instruments Revision detection unimplemented

OMAP SD/MMC: 0

timed out in wait_for_bb: I2C_STAT=1000

reading u-boot.img

reading u-boot.img

U-Boot 2011.12-dirty (Jun 13 2012 - 09:13:11)

OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz

OMAP3 Beagle board + LPDDR/NAND

I2C:

ready

DRAM: 512 MiB

NAND: 0 MiB

MMC: OMAP SD/MMC: 0

*** Warning - readenv() failed, using default environment

In: serial

Out: serial

Err: serial

Beagle xM Rev C

No EEPROM on

expansion board

No EEPROM on expansion board

Die ID #578600029ff80000015f26ad0f00c028

Net: Net Initialization Skipped

No ethernet found.

Hit any key to stop autoboot: 2

\0x08\0x08\0x08 1

\0x08\0x08\0x08 0

The user button is currently NOT pressed.

SD/MMC found on device 0

reading uEnv.txt

557 bytes read

Loaded environment from uEnv.txt

Importing environment from mmc ...

Running uenvcmd ...

Initializing net ...

Data (writethrough) Cache is OFF

(Re)start USB...

USB: Register 1313 NbrPorts 3

USB EHCI 1.00

scanning bus for devices...

3 USB Device(s) found

scanning bus for storage devices..

. 0 Storage Device(s) found

scanning bus for ethernet devices... 1 Ethernet Device(s) found

Loading kernel ...

Waiting for Ethernet connection...

done.

Using sms0 device

File transfer via NFS from server 192.168.0.2; our IP address is 192.168.0.9

Filename '/home/kli/rootfs/boot/uImage'.

Load addr

ess: 0x80200000

Loading: *\0x08################################

#################################

\0x09 #######################

##########################################

\0x09 ###############

##################################################

\0x09 ######

###########################################################

\0x09 #

############################################################

####

\0x09 ####################################################

#############

\0x09 ###########################################

######################

\0x09 ###################################

##############################

\0x09 ###########################

######################################

\0x09 ##################

###############################################

\0x09 #########

########################################################

\0x09 ###

############################################################

##

\0x09 ######################################################

###########

\0x09 #######################

done

Bytes transferred = 4439080 (43bc28 hex)

Booting from nfs ...

bootm - boot application image from memory

Usage:

bootm [addr [arg ...]]

- boot application image stored in memory

\0x09passing arguments 'arg ...'; when booting a Linux kernel,

\0x09'arg' can be the address of an initrd image

\0x09When booting a Linux kernel which requires a flat device-tree

\0x09a third argument is required which is the address of the

\0x09device-tree blob. To boot that kernel without an initrd image,

\0x09use a '-' for the second argument. If you do not pass a third

\0x09a bd_info struct will be passed instead

Sub-commands to do part of the bootm sequence. The sub-commands must be

issued in the order below (it's ok to not issue all sub-commands):

\0x09start [addr [arg ...]]

\0x09loados - load OS image

\0x09fdt - relocate flat device tree

\0x09cmdline - OS specific command line processing/setup

\0x09bdt - OS specific bd_t processing

\0x09prep - OS specific prep before relocation or go

\0x09go - start OS

Loading file "/boot/uImage" from mmc device 0:2 xxa2

** File not found /boot/uImage

Booting from nand ...

no devices available

## Booting kernel from Legacy Image at 80200000 ...

Image Name: Linux-3.2.18

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 4439016 Bytes = 4.2 MiB

Load Address: 80008000

Entry Point: 80008000

Verifying Checksum ...

OK

Loading Kernel Image ...

OK

OK

Starting kernel ...

Uncompressing Linux...

done, booting the kernel.

[ 0.000000] Initializing cgroup subsys cpuset

[ 0.000000] Initializing cgroup subsys cpu

[

0.000000] Linux version 3.2.18 (kli@kli-laptop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #8 Tue Jan 22 13:10:15 WET 2013

[ 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] Machine: OMAP3 Beagle Board

[ 0.000000] Beagle expansionboard: none

[ 0.000000] Beagle second expansionboard: none

[ 0.000000] Reserving 12582912 bytes SDRAM for VRAM

[ 0.000000] Memory policy: ECC disabled, Data cache writeback

[ 0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )

[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/600 MHz

[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 118016

[ 0.000000] Kernel command line: console=ttyO2,115200n8 mem=99M@0x80000000 mem=384M@0x88000000

mpurate=auto buddy=none buddy2=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs

[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)

[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

[ 0.000000] allocated 2097152 bytes of page_cgroup

[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups

[ 0.000000] Memory: 99MB 366MB = 465MB total

[ 0.000000] Memory: 460896k/460896k available, 33696k reserved, 0K highmem

[ 0.000000] Virtual kernel memory layout:

[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)

[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)

[ 0.000000] vmalloc : 0xe0800000 - 0xf8000000 ( 376 MB)

[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)

[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)

[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)

[ 0.000000] .text : 0xc0008000 - 0xc0751e1c (7464 kB)

[ 0.000000] .init : 0xc0752000 - 0xc0799000 ( 284 kB)

[ 0.000000] .data : 0xc079a000 - 0xc07f4990 ( 363 kB)

[ 0.000000] .bss : 0xc07f49b4 - 0xc08b19d4 ( 757 kB)

[ 0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[ 0.000000] NR_IRQS:410 nr_irqs:410 410

[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts

[ 0.000000] Total of 96 interrupts on 1 active controller

[ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz

[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms

[ 0.000000] Console: colour dummy device 80x30

[ 0.000122] Calibrating delay loop... 503.12 BogoMIPS (lpj=1966080)

[ 0.032897] pid_max: default: 32768 minimum: 301

[ 0.033172] Security Framework initialized

[ 0.033203] AppArmor: AppArmor initialized

[ 0.033416] Mount-cache hash table entries: 512

[ 0.033843] Initializing cgroup subsys cpuacct

[ 0.033905] Initializing cgroup subsys memory

[ 0.033935] Initializing cgroup subsys devices

[ 0.033966] Initializing cgroup subsys freezer

[ 0.033966] Initializing cgroup subsys blkio

[ 0.033996] Initializing cgroup subsys perf_event

[ 0.034088] CPU: Testing write buffer coherency: ok

[ 0.035186] devtmpfs: initialized

[ 0.038848] print_constraints: dummy:

[ 0.039093] NET: Registered protocol family 16

[ 0.039276] GPMC revision 5.0

[ 0.040679] OMAP GPIO hardware version 2.5

[ 0.041961] omap_mux_init: Add partition: #1: core, flags: 0

[ 0.043243] OMAP3 Beagle Rev: xM C

[ 0.046325] Reprogramming SDRC clock to 400000000 Hz

[ 0.046356] dpll3_m2_clk rate change failed: -22

[ 0.048278] Found NAND on CS0

[ 0.048309] Registering NAND on CS0

[ 0.048614] Unable to get DVI reset GPIO

[ 0.048767] hw-breakpoint: debug architecture 0x4 unsupported.

[ 0.052276] omap-mcbsp.2: alias fck already exists

[ 0.052459] omap-mcbsp.3: alias fck already exists

[ 0.053619] OMAP DMA hardware revision 5.0

[ 0.060333] bio: create slab <bio-0> at 0

[ 0.061584] SCSI subsystem initialized

[ 0.062713] usbcore: registered new interface driver usbfs

[ 0.062866] usbcore: registered new interface driver hub

[ 0.063049] usbcore: registered new device driver usb

[ 0.063751] omap_i2c omap_i2c.1: bus 1 rev1.4.0 at 2600 kHz

[ 0.066162] twl

4030: PIH (irq 7) chaining IRQs 368..375

[ 0.066284] twl4030: power (irq 373) chaining IRQs 376..383

[ 0.066741] twl4030: gpio (irq 368) chaining IRQs 384..401

[ 0.067108] _omap_mux_init_gpio: Could not set gpio192

[ 0.069885] print_constraints: VUSB1V5: 1500 mV normal standby

[ 0.070281] print_constraints: VUSB1V8: 1800 mV normal standby

[ 0.070648] print_constraints: VUSB3V1: 3100 mV normal standby

[ 0.072326] twl4030_usb twl4030_usb: Initialized TWL4030 USB module

[ 0.073089] print_constraints: VMMC1: 1850 <--> 3150 mV at 3150 mV normal standby

[ 0.073516] print_constraints: VDAC: 1800 mV normal standby

[ 0.073913] print_constraints: VAUX2_4030: 1800 mV normal

[ 0.074310] print_constraints: VDVI: 1800 mV normal standby

[ 0.074798] print_constraints: VSIM: 1800 <--> 3000 mV at 1800 mV normal standby

[ 0.075103] omap_i2c omap_i2c.2: bus 2 rev1.4.0 at 400 kHz

[ 0.085540] omap_i2c omap_i2c.3: bus 3 rev1.4.0 at 100 kHz

[ 0.086608] NetLabel: Initializing

[ 0.086639] NetLabel: domain hash size = 128

[ 0.086639] NetLabel: protocols = UNLABELED CIPSOv4

[ 0.086700] NetLabel: unlabeled traffic allowed by default

[ 0.086761] Switching to clocksource 32k_counter

[ 0.100799] AppArmor: AppArmor Filesystem Enabled

[ 0.113250] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)

[ 0.124206] musb-hdrc musb-hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92

[ 0.124572] NET: Registered protocol family 2

[ 0.124877] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)

[ 0.125793] TCP established hash table entries: 16384 (order: 5, 131072 bytes)

[ 0.126342] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)

[ 0.126617] TCP: Hash tables configured (established 16384 bind 16384)

[ 0.126647] TCP reno registered

[ 0.126678] UDP hash table entries: 256 (order: 0, 4096 bytes)

[ 0.126678] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

[ 0.127075] NET: Registered protocol family 1

[ 0.127502] RPC: Registered named UNIX socket transport module.

[ 0.127502] RPC: Registered udp transport module.

[ 0.127532] RPC: Registered tcp transport module.

[ 0.127532] RPC: Registered tcp NFSv4.1 backchannel transport module.

[ 0.127807] omap_dsp_init: 600000 bytes @ 9ee00000

[ 0.129455] audit: initializing netlink socket (disabled)

[ 0.129516] type=2000 audit(0.140:1): initialized

[ 0.353942] VFS: Disk quotas dquot_6.5.2

[ 0.354278] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

[ 0.357727] nfs4filelayout_init: NFSv4 File Layout Driver Registering...

[ 0.357818] fuse init (API version 7.17)

[ 0.359863] Btrfs loaded

[ 0.359893] msgmni has been set to 900

[ 0.361602] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)

[ 0.361724] io scheduler noop registered

[ 0.361755] io scheduler deadline registered

[ 0.361785] io scheduler cfq registered (default)

[ 0.362701] OMAP DSS rev 2.0

[ 0.365325] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled

[ 0.366485] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0

[ 0.366760] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1

[ 0.367126] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2

[ 1.091796] console [ttyO2] enabled

[ 1.095855] omap_uart.3: ttyO3 at MMIO 0x49042000 (irq = 80) is a OMAP UART3

[ 1.103851] [drm] Initialized drm 1.1.0 20060810

[ 1.116424] brd: module loaded

[ 1.123779] loop: module loaded

[ 1.130249] twl4030_madc twl4030_madc: clk disabled, enabling

[ 1.138214] omap2-nand driver initializing

[ 1.142944] No NAND device found

[ 1.146514] No NAND device found

[ 1.150177] OneNAND driver initializing

[ 1.154846] usbcore: registered new interface driver cdc_ether

[ 1.161102] usbcore: registered new interface driver rndis_host

[ 1.167419] cdc_ncm: 04-Aug-2011

[ 1.170867] usbcore: registered new interface driver cdc_ncm

[ 1.177307] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[ 3.196411] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller

[ 3.202667] ehci-omap e

hci-omap.0: new USB bus registered, assigned bus number 1

[ 3.210662] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800

[ 3.227752] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00

[ 3.233886] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

[ 3.241119] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[ 3.248779] usb usb1: Product: OMAP-EHCI Host Controller

[ 3.254455] usb usb1: Manufacturer: Linux 3.2.18 ehci_hcd

[ 3.260223] usb usb1: SerialNumber: ehci-omap.0

[ 3.265747] hub 1-0:1.0: USB hub found

[ 3.269775] hub 1-0:1.0: 3 ports detected

[ 3.305816] Initializing USB Mass Storage driver...

[ 3.311035] usbcore: registered new interface driver usb-storage

[ 3.317443] USB Mass Storage support registered.

[ 3.322448] usbcore: registered new interface driver libusual

[ 3.328674] udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma)

[ 3.335998] mousedev: PS/2 mouse device common for all mice

[ 3.344085] input: twl4030_pwrbutton as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0

[ 3.355957] i2c /dev entries driver

[ 3.360229] Linux media interface: v0.10

[ 3.364562] lirc_dev: IR Remote Control driver registered, major 249

[ 3.371429] Driver for 1-wire Dallas network protocol.

[ 3.377655] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec

[ 3.384735] twl4030_wdt twl4030_wdt: Failed to register misc device

[ 3.391418] twl4030_wdt: probe of twl4030_wdt failed with error -16

[ 3.399108] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com

[ 3.408538] cpuidle: using governor ladder

[ 3.412811] cpuidle: using governor menu

[ 3.417022] sdhci: Secure Digital Host Controller Interface driver

[ 3.423553] sdhci: Copyright(c) Pierre Ossman

[ 3.602844] usb 1-2: new high-speed USB device number 2 using ehci-omap

[ 3.652587] omap_hsmmc: probe of omap_hsmmc.1 failed with error -16

[ 3.660919] usbcore: registered new interface driver usbhid

[ 3.666870] usbhid: USB HID core driver

[ 3.670867] oprofile: hardware counters not available

[ 3.676269] oprofile: using timer interrupt.

[ 3.681640] TCP cubic registered

[ 3.685821] NET: Registered protocol family 10

[ 3.692352] NET: Registered protocol family 17

[ 3.697265] Registering the dns_resolver key type

[ 3.702209] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3

[ 3.710296] ThumbEE CPU extension supported.

[ 3.714874] Registering SWP/SWPB emulation handler

[ 3.723785] sr_init: No PMIC hook to init smartreflex

[ 3.729339] smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized

[ 3.737609] smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized

[ 3.745849] SmartReflex Class3 initialized

[ 3.753784] clock: disabling unused clocks to save power

[ 3.760284] registered taskstats version 1

[ 3.764739] fbcvt: 640x480@60: CVT Name - .307M3-R

[ 3.780059] Console: switching to colour frame buffer device 80x30

[ 3.792755] regulator_init_complete: VDAC: incomplete constraints, leaving on

[ 3.800415] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

[ 3.807922] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)

[ 3.815460] Please append a correct "root=" boot option; here are the available partitions:

[ 3.824249] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

[ 3.833038] [<c0012478>] (unwind_backtrace+0x0/0xec) from [<c0530b20>] (panic+0x54/0x18c)

[ 3.841674] [<c0530b20>] (panic+0x54/0x18c) from [<c0752d38>] (mount_block_root+0x1d0/0x210)

[ 3.850616] [<c0752d38>] (mount_block_root+0x1d0/0x210) from [<c0752ef0>] (prepare_namespace+0x88/0x1c4)

[ 3.860595] [<c0752ef0>] (prepare_namespace+0x88/0x1c4) from [<c075229c>] (kernel_init+0xfc/0x134)

[ 3.870056] [<c075229c>] (kernel_init+0xfc/0x134) from [<c000df38>] (kernel_thread_exit+0x0/0x8)



It would be really nice if one could help me to get the BeagleBoard booted from the NFS server

Thanks in advance


Wendelin

  • Hi Wendelin,

    The Kernel panic which observe in the log seems due to something wrong in the "root=" boot option.

    The other possible reasons for panic informs you that the Linux kernel is unable to either are:

    •     detect the controller for your hard disk (a likely candidate if the message says unknown-block(0,0))
    •     detect your partition because it doesn't have support for your partition types (less likely)
    •     mount your partition because it doesn't know how to access the file system (a likely candidate if the message gives a non-zero figure in the first number set, such as unknown-block(2,0))
    •     detect your partition because you passed the wrong device in your boot loader configuration

    The other useful information which you could read is a tutorial about NFS boot:

    http://mfcoding.wordpress.com/2012/10/19/beagleboard-xm-nfs-boot/

    http://elinux.org/Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB

    BR

    Tsvetolin Shulev

  • Thanks for the answer

    I found out that the kernel command line is not using the correct root variable from the uEnv.txt file.

    [ 0.000000] Kernel command line: console=ttyO2,115200n8 mem=99M@0x80000000 mem=384M@0x88000000

    mpurate=auto buddy=none buddy2=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs


    I tried to change the uboot variables with


    $ setenv root /dev/nfs rw

    $ printenv root

           root=/dev/nfs rw

    $ saveenv

           Saving Environment to NAND...

           Erasing Nand...

           Attempt to erase non page aligned data


    but without success. After i reboot the BeagleBoard xM the variable is again set to root=ubi0:rootfs.


    It would be nice to get an hint how i could change that


    Thanks

    Wendelin


  • Hi Wendelin,

    When you use the saveenv command it takes effect only till reboot the board. When the board has been rebooted it reads uEnv.txt file and the root variable is again set to its previous value. Therefore I recommend you:

    • If you make only a test after executing saveenv use boot command. This will start kernel without reboot.
    • If you wont to use the new settings of root variable you must change its value in the uEnv.txt file using text editor on the PC and copy it again on the board or card.

    BR

    Tsvetolin Shulev

  • Hello

    I have set the variable boot in my uEnv.txt file:

    serverip=192.168.0.2 
    ipaddr=192.168.0.9 
    netmask=255.255.255.0 
    gatewayip=192.168.0.1 
    hostname=beagleboard 
    nfsdevice=usb0:off  
    usbethaddr=6E:58:95:1B:82:65  
    optargs=mem=99M@0x80000000 mem=384M@0x88000000 
    nfsargs=setenv bootargs console=tty02,115200n8 mpurate=1000 ${optargs} ip=dhcp nfsroot=192.168.0.2:/home/kli/rootfs root=/dev/nfs rw rootwait  
    uenvcmd=echo Initializing net ...; dcache off; usb start; echo Loading kernel ...; nfs ${loadaddr} 192.168.0.2:/home/kli/rootfs/boot/uImage ; echo Booting from nfs ...; run nfsargs; bootm ${loadaddr}

    but when i boot from NFS the kernel uses the kernel command line:

    [ 0.000000] Kernel command line: console=ttyO2,115200n8 mem=99M@0x80000000 mem=384M@0x88000000 mpurate=auto buddy=none buddy2=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs

    Well i tried to change the boot variable with setenv, saveenv and use the boot command instead of a reboot but i get the same failures as before.

    Thanks 

    Wendelin

  • It seems that the value of the root variable is hardcoded in your sources. You could search for "root=" in the kernel sources to find where comes from this value.

    BR

    Tsvetolin Shulev

  • Hello

    Thanks that helped, there was an problem with my uboot. Now the variables from my uEnv.txt file are correct in the kernel command line.

    But i got the next problem which is (see log.txt):

    [ 116.376495] VFS: Unable to mount root fs via NFS, trying floppy.

    [ 116.383300] VFS: Cannot open root device "nfs" or unknown-block(2,0)

    [ 116.390167] Please append a correct "root=" boot option; here are the available partitions:

    [ 116.398956] b300 1931264 mmcblk0 driver: mmcblk

    [ 116.404571] b301 72261 mmcblk0p1 00000000-0000-0000-0000-000000000mmcblk0p1

    [ 116.413024] b302 1855507 mmcblk0p2 00000000-0000-0000-0000-000000000mmcblk0p2

    [ 116.421447] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

    [ 116.430145] [<c0012048>] (unwind_backtrace+0x0/0xe0) from [<c0514558>] (panic+0x50/0x180)

    [ 116.438781] [<c0514558>] (panic+0x50/0x180) from [<c073ac0c>] (mount_block_root+0x1bc/0x1fc)

    [ 116.447662] [<c073ac0c>] (mount_block_root+0x1bc/0x1fc) from [<c073ae04>] (mount_root+0xd0/0xec)

    [ 116.456909] [<c073ae04>] (mount_root+0xd0/0xec) from [<c073af7c>] (prepare_namespace+0x15c/0x1bc)

    [ 116.466247] [<c073af7c>] (prepare_namespace+0x15c/0x1bc) from [<c073a86c>] (kernel_init+0xfc/0x134)

    [ 116.475738] [<c073a86c>] (kernel_init+0xfc/0x134) from [<c000dc98>] (kernel_thread_exit+0x0/0x8)


    You described the warning unknown-block(2,0) like:


    The other possible reasons for panic informs you that the Linux kernel is unable to

    mount your partition because it doesn't know how to access the file system (a likely candidate if the message gives a non-zero figure in the first number set, such as unknown-block(2,0))


    Maybe you have an hint how i could solve this?


    Thanks

    Wendelin



    5810.log.txt

  • I followed the instructions from -> http://veter-project.blogspot.co.at/2012/03/comfortable-kernel-workflow-on.html, but i did not use the same kernel (Xenomai) so i had to recompile my kernel with the LAN driver statically

    (make menuconfig -> Device drivers -> Network device support -> USB Network Adapters -> SMSC LAN95XX USB Ethernet devices and Device drivers -> USB support -> EHCI HCD (USB 2.0) )

    moreover i had to change the uEnv.txt file

    serverip=192.168.0.2
    ipaddr=192.168.0.9
    netmask=255.255.255.0
    gatewayip=192.168.0.1
    hostname=beagleboard
    console=ttyO2,115200n8
    optargs=mem=80M@0x80000000 mem=384M@0x88000000 xeno_hal.cpufreq=800000000
    mpurate=800
    root=/dev/nfs rw
    rootpath=/home/maker/rootfs
    nfsdevice=usb0:off
    nfsrootargs=vers=3
    usbethaddr=6E:58:95:1B:82:65
    nfsargs=setenv bootargs console=${console} mpurate=${mpurate} ${optargs} ip=dhcp nfsroot=${serverip}:${rootpath},${nfsrootargs} root=${root}
    uenvcmd=echo Initializing net ...; dcache off; usb start; echo Loading kernel ...; nfs ${loadaddr} ${serverip}:${rootpath}/boot/uImage ; echo Booting from nfs ...; run nfsargs; bootm ${loadaddr}

    (-> ip=dhcp)

    to get the BeagleBoard to boot from the NFS server.

    Thanks for the help

  • Hi wendelin klimann,


    I have few questions about your work with Beagleboard-xM Rev C and Linux kernel. I saw that you used Linux kernel 3.2.18. I'm followed the same link as you: http://veter-project.blogspot.co.at/2012/03/comfortable-kernel-workflow-on.html. I configured network properly with rootfs and Linux kernel 2.6.38 from that link but I want to use Linux kernel 3.3.7 from this TI SDK: http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/BeagleBoardSDK/latest/exports/beagleboard-sdk-src-05.07.00.00.tar.gz . I extracted Linux kernel 3.3.7 into /rootfs/usr/src/ folder, built it and then rebooted my BeagleBoard-xm Rev C I got the following output into console:

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    U-Boot SPL 2011.12-dirty (Dec 31 2012 - 11:51:48)
    Texas Instruments Revision detection unimplemented
    OMAP SD/MMC: 0
    timed out in wait_for_bb: I2C_STAT=1000
    reading u-boot.img
    reading u-boot.img


    U-Boot 2011.12-dirty (Dec 31 2012 - 11:51:48)

    OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
    OMAP3 Beagle board + LPDDR/NAND
    I2C: ready
    DRAM: 512 MiB
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0
    *** Warning - readenv() failed, using default environment

    In: serial
    Out: serial
    Err: serial
    Beagle xM Rev C
    No EEPROM on expansion board
    No EEPROM on expansion board
    Die ID #401600029ff80000016849aa1402c006
    Net: Net Initialization Skipped
    No ethernet found.
    Hit any key to stop autoboot: 0
    The user button is currently NOT pressed.
    SD/MMC found on device 0
    reading uEnv.txt

    671 bytes read
    Loaded environment from uEnv.txt
    Importing environment from mmc ...
    Running uenvcmd ...
    Initializing net ...
    Data (writethrough) Cache is OFF
    (Re)start USB...
    USB: Register 1313 NbrPorts 3
    USB EHCI 1.00
    scanning bus for devices... 3 USB Device(s) found
    scanning bus for storage devices... 0 Storage Device(s) found
    scanning bus for ethernet devices... 1 Ethernet Device(s) found
    Loading kernel ...
    Waiting for Ethernet connection... done.
    Using sms0 device
    File transfer via NFS from server 192.168.2.177; our IP address is 192.168.2.181
    Filename '/home/dev4/work/rootfs/boot/uImage'.
    Load address: 0x80200000
    Loading: #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    #################################################################
    ###################
    done
    Bytes transferred = 3424536 (344118 hex)
    Booting from nfs ...
    ## Booting kernel from Legacy Image at 80200000 ...
    Image Name: Linux-3.3.7
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3424472 Bytes = 3.3 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    [ 0.000000] Booting Linux on physical CPU 0
    [ 0.000000] Initializing cgroup subsys cpuset
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Linux version 3.3.7 (dev4@ubuntu) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #3 Fri Apr 26 10:46:04 CEST 2013
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine: OMAP3 Beagle Board
    [ 0.000000] Reserving 14680064 bytes SDRAM for VRAM
    [ 0.000000] Memory policy: ECC disabled, Data cache writeback
    [ 0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )
    [ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/600 MHz
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 113920
    [ 0.000000] Kernel command line: console=ttyO2,115200n8 mpurate=800 mem=80M@0x80000000 mem=384M@0x88000000 xeno_hal.cpufreq=800000000 ip=dhcp nfsroot=192.168.2.177:/home/dev4/work/rootfs,vers=3 root=/dev/nfs rw
    [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] allocated 1048576 bytes of page_cgroup
    [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    [ 0.000000] Memory: 80MB 369MB = 449MB total
    [ 0.000000] Memory: 447548k/447548k available, 27588k reserved, 0K highmem
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    [ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc0620ac8 (6243 kB)
    [ 0.000000] .init : 0xc0621000 - 0xc0658000 ( 220 kB)
    [ 0.000000] .data : 0xc0658000 - 0xc06a8880 ( 323 kB)
    [ 0.000000] .bss : 0xc06a88a4 - 0xc06e2174 ( 231 kB)
    [ 0.000000] NR_IRQS:474
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
    [ 0.000000] Total of 96 interrupts on 1 active controller
    [ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
    [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [ 0.000000] Console: colour dummy device 80x30
    [ 0.000183] Calibrating delay loop... 490.52 BogoMIPS (lpj=1916928)
    [ 0.032043] pid_max: default: 32768 minimum: 301
    [ 0.032226] Mount-cache hash table entries: 512
    [ 0.032562] Initializing cgroup subsys cpuacct
    [ 0.032592] Initializing cgroup subsys memory
    [ 0.032623] Initializing cgroup subsys devices
    [ 0.032653] Initializing cgroup subsys freezer
    [ 0.032653] Initializing cgroup subsys blkio
    [ 0.032684] Initializing cgroup subsys perf_event
    [ 0.032775] CPU: Testing write buffer coherency: ok
    [ 0.033020] Setting up static identity map for 0x80469a78 - 0x80469ad0
    [ 0.033691] devtmpfs: initialized
    [ 0.035278] omap_hwmod: usbtll_fck: missing clockdomain for usbtll_fck.
    [ 0.058654] print_constraints: dummy:
    [ 0.058898] NET: Registered protocol family 16
    [ 0.059082] GPMC revision 5.0
    [ 0.060424] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
    [ 0.060516] OMAP GPIO hardware version 2.5
    [ 0.060638] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
    [ 0.060821] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
    [ 0.061004] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
    [ 0.061187] gpiochip_add: registered GPIOs 128 to 159 on device: gpio
    [ 0.061370] gpiochip_add: registered GPIOs 160 to 191 on device: gpio
    [ 0.061889] omap_mux_init: Add partition: #1: core, flags: 0
    [ 0.063049] OMAP3 Beagle Rev: xM C
    [ 0.065063] Reprogramming SDRC clock to 400000000 Hz
    [ 0.065093] dpll3_m2_clk rate change failed: -22
    [ 0.066864] usbhs_omap: alias fck already exists
    [ 0.066955] Found NAND on CS0
    [ 0.066955] Registering NAND on CS0
    [ 0.067413] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.070709] omap-mcbsp.2: alias fck already exists
    [ 0.070892] omap-mcbsp.3: alias fck already exists
    [ 0.072082] Calibrating delay loop (skipped) already calibrated this CPU
    [ 0.072174] Switched to new clocking rate (Crystal/Core/MPU): 26.0/400/800 MHz
    [ 0.072326] OMAP DMA hardware revision 5.0
    [ 0.078552] bio: create slab <bio-0> at 0
    [ 0.079345] SCSI subsystem initialized
    [ 0.080535] usbcore: registered new interface driver usbfs
    [ 0.080627] usbcore: registered new interface driver hub
    [ 0.080749] usbcore: registered new device driver usb
    [ 0.081298] omap_i2c omap_i2c.1: bus 1 rev1.4.0 at 2600 kHz
    [ 0.083435] twl4030: PIH (irq 7) chaining IRQs 368..375
    [ 0.083526] twl4030: power (irq 373) chaining IRQs 376..383
    [ 0.083923] twl4030: gpio (irq 368) chaining IRQs 384..401
    [ 0.084197] gpiochip_add: registered GPIOs 192 to 211 on device: twl4030
    [ 0.085998] print_constraints: VUSB1V5: 1500 mV normal standby
    [ 0.086334] print_constraints: VUSB1V8: 1800 mV normal standby
    [ 0.086639] print_constraints: VUSB3V1: 3100 mV normal standby
    [ 0.089599] twl4030_usb twl4030_usb: Initialized TWL4030 USB module
    [ 0.090118] print_constraints: VMMC1: 1850 <--> 3150 mV at 3150 mV normal standby
    [ 0.090484] print_constraints: VDAC: 1800 mV normal standby
    [ 0.090881] print_constraints: VDVI: 1800 mV normal standby
    [ 0.091339] print_constraints: VSIM: 1800 <--> 3000 mV at 1800 mV normal standby
    [ 0.091644] omap_i2c omap_i2c.3: bus 3 rev1.4.0 at 100 kHz
    [ 0.092315] omap-iommu omap-iommu.0: isp registered
    [ 0.092437] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [ 0.092926] Bluetooth: Core ver 2.16
    [ 0.092987] NET: Registered protocol family 31
    [ 0.092987] Bluetooth: HCI device and connection manager initialized
    [ 0.092987] Bluetooth: HCI socket layer initialized
    [ 0.093017] Bluetooth: L2CAP socket layer initialized
    [ 0.093017] Bluetooth: SCO socket layer initialized
    [ 0.093231] Switching to clocksource 32k_counter
    [ 0.102233] usbhs_omap usbhs_omap: xclk60mhsp1_ck set parentfailed error:-22
    [ 0.102264] usbhs_omap usbhs_omap: xclk60mhsp2_ck set parentfailed error:-22
    [ 0.102630] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    [ 0.103057] musb-hdrc musb-hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
    [ 0.103332] NET: Registered protocol family 2
    [ 0.103546] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.103851] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [ 0.104095] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.104278] TCP: Hash tables configured (established 16384 bind 16384)
    [ 0.104278] TCP reno registered
    [ 0.104278] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.104309] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.104492] NET: Registered protocol family 1
    [ 0.104797] RPC: Registered named UNIX socket transport module.
    [ 0.104797] RPC: Registered udp transport module.
    [ 0.104797] RPC: Registered tcp transport module.
    [ 0.104827] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.107513] VFS: Disk quotas dquot_6.5.2
    [ 0.107543] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.108032] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.108398] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.108428] JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
    [ 0.108978] msgmni has been set to 874
    [ 0.110168] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
    [ 0.110260] io scheduler noop registered
    [ 0.110290] io scheduler deadline registered
    [ 0.110321] io scheduler cfq registered (default)
    [ 0.110931] OMAP DSS rev 2.0
    [ 0.112579] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [ 0.113647] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0
    [ 0.113983] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1
    [ 0.114288] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2
    [ 0.882537] console [ttyO2] enabled
    [ 0.886505] omap_uart.3: ttyO3 at MMIO 0x49042000 (irq = 80) is a OMAP UART3
    [ 0.900482] brd: module loaded
    [ 0.907104] loop: module loaded
    [ 0.911804] No NAND device found
    [ 0.915405] No NAND device found
    [ 0.919525] usbcore: registered new interface driver catc
    [ 0.925323] usbcore: registered new interface driver kaweth
    [ 0.931213] pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
    [ 0.939086] usbcore: registered new interface driver pegasus
    [ 0.945068] usbcore: registered new interface driver rtl8150
    [ 0.951019] usbcore: registered new interface driver asix
    [ 0.956726] usbcore: registered new interface driver cdc_ether
    [ 0.962890] usbcore: registered new interface driver dm9601
    [ 0.968780] usbcore: registered new interface driver smsc75xx
    [ 0.974792] usbcore: registered new interface driver smsc95xx
    [ 0.980834] usbcore: registered new interface driver gl620a
    [ 0.986755] usbcore: registered new interface driver net1080
    [ 0.992706] usbcore: registered new interface driver plusb
    [ 0.998535] usbcore: registered new interface driver rndis_host
    [ 1.004791] usbcore: registered new interface driver cdc_subset
    [ 1.011016] usbcore: registered new interface driver zaurus
    [ 1.016906] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
    [ 1.025085] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 1.032043] _regulator_get: ehci-omap.0 supply hsusb0 not found, using dummy regulator
    [ 1.040405] _regulator_get: ehci-omap.0 supply hsusb1 not found, using dummy regulator
    [ 3.062225] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
    [ 3.068450] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
    [ 3.076324] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
    [ 3.093566] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
    [ 3.099609] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 3.106781] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 3.114379] usb usb1: Product: OMAP-EHCI Host Controller
    [ 3.119995] usb usb1: Manufacturer: Linux 3.3.7 ehci_hcd
    [ 3.125640] usb usb1: SerialNumber: ehci-omap.0
    [ 3.130859] hub 1-0:1.0: USB hub found
    [ 3.134857] hub 1-0:1.0: 3 ports detected
    [ 3.163818] Initializing USB Mass Storage driver...
    [ 3.168975] usbcore: registered new interface driver usb-storage
    [ 3.175323] USB Mass Storage support registered.
    [ 3.180480] mousedev: PS/2 mouse device common for all mice
    [ 3.187866] input: twl4030_pwrbutton as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0
    [ 3.199371] i2c /dev entries driver
    [ 3.203369] Linux media interface: v0.10
    [ 3.207489] Linux video capture interface: v2.00
    [ 3.212890] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec
    [ 3.219299] Bluetooth: HCI UART driver ver 2.2
    [ 3.223907] Bluetooth: HCI H4 protocol initialized
    [ 3.229003] Bluetooth: HCI BCSP protocol initialized
    [ 3.234252] Bluetooth: HCILL protocol initialized
    [ 3.239135] Bluetooth: HCIATH3K protocol initialized
    [ 3.244445] usbcore: registered new interface driver btusb
    [ 3.250427] cpuidle: using governor ladder
    [ 3.254699] cpuidle: using governor menu
    [ 3.479675] usbcore: registered new interface driver usbhid
    [ 3.485595] usbhid: USB HID core driver
    [ 3.489685] usb 1-2: new high-speed USB device number 2 using ehci-omap
    [ 3.497070] usbcore: registered new interface driver snd-usb-audio
    [ 3.504211] OMAP3 Beagle/Devkit8000 SoC init
    [ 3.594635] asoc: twl4030-hifi <-> omap-mcbsp-dai.1 mapping ok
    [ 3.603485] ALSA device list:
    [ 3.606567] #0: omap3beagle
    [ 3.609771] oprofile: hardware counters not available
    [ 3.614990] oprofile: using timer interrupt.
    [ 3.619750] TCP cubic registered
    [ 3.623107] NET: Registered protocol family 17
    [ 3.627838] NET: Registered protocol family 15
    [ 3.632568] lib80211: common routines for IEEE802.11 drivers
    [ 3.638458] Registering the dns_resolver key type
    [ 3.643463] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 3.651519] ThumbEE CPU extension supported.
    [ 3.659423] sr_init: No PMIC hook to init smartreflex
    [ 3.664916] smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized
    [ 3.673187] smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized
    [ 3.681365] SmartReflex Class3 initialized
    [ 3.689605] clock: disabling unused clocks to save power
    [ 3.696044] registered taskstats version 1
    [ 3.714263] Console: switching to colour frame buffer device 80x30
    [ 3.726379] omapdss DPI: Could not find exact pixel clock. Requested 23500 kHz, got 24000 kHz
    [ 3.737487] usb 1-2: New USB device found, idVendor=0424, idProduct=9514
    [ 3.744567] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 3.753936] hub 1-2:1.0: USB hub found
    [ 3.757995] regulator_init_complete: VDAC: incomplete constraints, leaving on
    [ 3.765869] hub 1-2:1.0: 5 ports detected
    [ 3.770446] input: gpio-keys as /devices/platform/gpio-keys/input/input1
    [ 3.777832] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
    [ 3.914428] mmc0: host does not support reading read-only switch. assuming write-enable.
    [ 3.925781] mmc0: new high speed SDHC card at address 1234
    [ 3.932006] mmcblk0: mmc0:1234 SA04G 3.63 GiB
    [ 3.938995] mmcblk0: p1
    [ 4.070648] usb 1-2.1: new high-speed USB device number 3 using ehci-omap
    [ 4.196166] usb 1-2.1: New USB device found, idVendor=0424, idProduct=ec00
    [ 4.203430] usb 1-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [ 4.214141] smsc95xx v1.0.4
    [ 4.297943] smsc95xx 1-2.1:1.0: eth0: register 'smsc95xx' at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 5a:bb:0e:82:5e:19
    [ 6.291320] smsc95xx 1-2.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
    [ 6.328094] Sending DHCP requests ., OK
    [ 8.125335] IP-Config: Got DHCP answer from 0.0.0.0, my address is 192.168.2.145
    [ 8.133453] IP-Config: Complete:
    [ 8.136779] device=eth0, addr=192.168.2.145, mask=255.255.255.0, gw=192.168.2.1,
    [ 8.144897] host=192.168.2.145, domain=, nis-domain=(none),
    [ 8.151245] bootserver=0.0.0.0, rootserver=192.168.2.177, rootpath=, mtu=576
    [ 138.392364] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 138.399169] VFS: Cannot open root device "nfs" or unknown-block(2,0)
    [ 138.405944] Please append a correct "root=" boot option; here are the available partitions:
    [ 138.414764] b300 3813376 mmcblk0 driver: mmcblk
    [ 138.420288] b301 3812352 mmcblk0p1 00000000-0000-0000-0000-000000000mmcblk0p1
    [ 138.428741] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    I modified menuconfig as you said: make menuconfig -> Device drivers -> Network device support -> USB Network Adapters -> SMSC LAN95XX USB Ethernet devices and Device drivers -> USB support -> EHCI HCD (USB 2.0)

    My uEnv.txt have the following content:

    serverip=192.168.2.177
    ipaddr=192.168.2.181
    netmask=255.255.255.0
    gatewayip=192.168.2.1
    hostname=beagleboard
    console=ttyO2,115200n8
    optargs=mem=80M@0x80000000 mem=384M@0x88000000 xeno_hal.cpufreq=800000000
    mpurate=800
    root=/dev/nfs rw
    rootpath=/home/dev4/work/rootfs    # This is path to rootfs folder on my host(PC) machine
    nfsdevice=usb0:off
    nfsrootargs=vers=3
    usbethaddr=6E:58:95:1B:82:65
    nfsargs=setenv bootargs console=${console} mpurate=${mpurate} ${optargs} ip=dhcp    # I changed this as you said nfsroot=${serverip}:${rootpath},${nfsrootargs} root=${root}
    uenvcmd=echo Initializing net ...; dcache off; usb start; echo Loading kernel ...; nfs ${loadaddr} ${serverip}:${rootpath}/boot/uImage ; echo Booting from nfs ...; run nfsargs; bootm ${loadaddr}


    Do you have any idea why I can't mount root fs via NFS?



    Thanks,

    Vladimir

  • Hello Vladimir. I think you don't pass the NFS info to the kernel, so it cannot use that info. The "nfsroot " argument, must go at the same line as nfsargs (as it is part of the bootargs you pass to the kernel)

    Try:

    nfsargs=setenv bootargs console=${console} mpurate=${mpurate} ${optargs} nfsroot=${serverip}:${rootpath},${nfsrootargs} root=${root}  # This must go in the same line than above line!
    uenvcmd=echo Initializing net ...; dcache off; usb start; echo Loading kernel ...; nfs ${loadaddr} ${serverip}:${rootpath}/boot/uImage ; echo Booting from nfs ...; run nfsargs; bootm ${loadaddr}


    And you must use only ip=dhcp if you're connecting host and target via a switch or router with DHCP ability; in any other case, use append this:

    ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:sitara:eth0:off  # change to eth1 if using JP7

    to the nfsargs definition.