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