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.

squashfs as rootfs from sd-card (omapl137)

Hi,

I am working with an omapl137 evm and I want to load the kernel from the sd-card and to place the rootfs on the sd-card. I want to use squashfs as my rootfielsystem, because it is read only. I made two partitions on my sd-card. The first partition contains the kernel image and the second one contains the rootfs. When I try to boot the kernel with these bootargs: "setenv bootargs mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw noinitrd rootfstype=squashfs ip=none" I get the following error:

davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
TCP: cubic registered
NET: Registered protocol family 17
console [netcon0] enabled
netconsole: network logging started
VFS: Cannot open root device "mmcblk0p2" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
1f00               8 mtdblock0  (driver?)
1f01              24 mtdblock1  (driver?)
1f02             224 mtdblock2  (driver?)
1f03              16 mtdblock3  (driver?)
1f04            3824 mtdblock4  (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[<c001324c>] (unwind_backtrace+0x0/0xe0) from [<c032b028>] (panic+0x6c/0x1ac)
[<c032b028>] (panic+0x6c/0x1ac) from [<c0442c88>] (mount_block_root+0x1d8/0x21c)
[<c0442c88>] (mount_block_root+0x1d8/0x21c) from [<c0442ea4>] (mount_root+0xe0/0x104)
[<c0442ea4>] (mount_root+0xe0/0x104) from [<c0443024>] (prepare_namespace+0x15c/0x1b0)
[<c0443024>] (prepare_namespace+0x15c/0x1b0) from [<c04428ec>] (kernel_init+0x164/0x1a0)
[<c04428ec>] (kernel_init+0x164/0x1a0) from [<c000f024>] (kernel_thread_exit+0x0/0x8)

 

When I change the bootargs to: "setenv bootargs mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw noinitrd rootfstype=squashfs ip=dhcp" it seems to work, but I really don't understand what I did wrong in the first try:

davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
TCP: cubic registered
NET: Registered protocol family 17
console [netcon0] enabled
netconsole: network logging started
net eth0: no phy, defaulting to 100/full
Sending DHCP requests .mmc0: new high speed SDHC card at address e624
mmcblk0: mmc0:e624 SU04G 3.69 GiB
 mmcblk0: p1 p2
..... timed out!
IP-Config: Reopening network devices...
net eth0: no phy, defaulting to 100/full
Sending DHCP requests ...... timed out!
IP-Config: Auto-configuration of network failed
VFS: Mounted root (squashfs filesystem) readonly on device 179:2.
Freeing init memory: 140K
init started: BusyBox v1.20.2 (2012-11-23 15:17:51 CET)
Bad inittab entry at line 4
'tarting pid 866, tty '/dev/console': '/bin/mount -n -a
'bin/mount: invalid option -- '
BusyBox v1.20.2 (2012-11-23 15:17:51 CET) multi-call binary.

Usage: mount [OPTIONS] [-o OPTS] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

        -a              Mount all filesystems in fstab
        -r              Read-only mount
        -w              Read-write mount (default)
        -t FSTYPE[,...] Filesystem type(s)
        -O OPT          Mount only filesystems with option OPT (-a only)
-o OPT:
        remount         Remount a mounted filesystem, changing flags
        ro/rw           Same as -r/-w

There are filesystem-specific -o flags.

'tarting pid 867, tty '/dev/console': '/bin/hostname omap-l137evm

Please press Enter to activate this console.
'tarting pid 868, tty '/dev/console': '/sbin/getty -L -n ttyS2 0 vt100

 login: 7evm

 

Does somebody know what I did wrong by trying to tell the kernel where the the rootfs lies (mmcblk0p2)?

Or what do I need to do that the kernel finds the rootfs with the bootargs?

 

Regards, Tom