Kernel 3.7 boot error

Working to get Omap2plus 3.7 kernel booted.

I am getting this error… Google does not have any results. Any ideas what this might be?

VFS: Cannot open root device “mmcblk0p2” or unknown-block(179,2): error -30
[ 4.068237] Please append a correct “root=” boot option; here are the available partition:
[ 4.077026] 1f00 512 mtdblock0 (driver?)
[ 4.082275] 1f01 1920 mtdblock1 (driver?)
[ 4.087585] 1f02 128 mtdblock2 (driver?)
[ 4.092895] 1f03 4096 mtdblock3 (driver?)
[ 4.098144] 1f04 255488 mtdblock4 (driver?)
[ 4.103454] b300 8076288 mmcblk0 driver: mmcblk
[ 4.109008] b301 72261 mmcblk0p1 00000000-0000-0000-0000-000000000000
[ 4.116851] b302 8000370 mmcblk0p2 00000000-0000-0000-0000-000000000000
[ 4.124664] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179)
[ 4.133514] [] (unwind_backtrace+0x0/0xe0) from [] (panic+0x70/0x1c4)
[ 4.142059] [] (panic+0x70/0x1c4) from [] (mount_block_root+0x1e4/0x2)
[ 4.150848] [] (mount_block_root+0x1e4/0x224) from [] (mount_root+0xe)
[ 4.160095] [] (mount_root+0xe4/0x100) from [] (prepare_namespace+0x1)
[ 4.169433] [] (prepare_namespace+0x15c/0x1bc) from [] (kernel_init+0)
[ 4.178955] [] (kernel_init+0x194/0x2cc) from [] (ret_from_fork+0x14/)

It seems that answer is there in the error log. Either the root command line is not proper or some problem with the root drive.

Regards

Abhi

Hi,

Thanks for the reply.
Same file system and card works with 3.6 kernel.
The reason I asked is because the ‘error -30’ code does not come up in a Google search in relation to the ‘Cannot open root device’ issue (which is a pretty common problem) … just wondering what the -30 code might mean or if there has been a change in 3.7 to error codes perhaps.

Has anyone else got the 3.7 kernel booting on the Beagle?

Cheers,
CJ

I’ve been battling with a similar problem myself, albeit when trying to boot 3.2.0 from the Arago AM33XX repository on a BeagleBone. Funnily enough when trying to boot 3.2.28 there is no problem.

It would be informative to post what the boot args are from your log. What I found to fix the error you’ve got going is to compile the kernel with the boot args already in there and set it to ignore any arguments passed on to it. That got me through this error but to another one:

https://groups.google.com/forum/?fromgroups=#!topic/beagleboard/rfl9Q0FKxc0

It seems to me this is some sort of incompatibility issue between u-boot and the kernel, but I am no u-boot expert to be able to tell what the problem is.

I’ve read about solutions ranging from changing the root fs patition to ext3 from ext4, adding rootdelay of a few seconds in your boot args, and lastly people saying that the board is just broken.

Are you using the correct defconfig? I have had no issues while booting the Arago 3.2.0 on a beaglebone with the Arago/SDK filesystems that ship with the TI SDKs

Thanks,
Joel

I am using the am335x_evm_defconfig. Is this correct?

I’ve just realized that actually
/sys/kernel/security does not exist on the rootfs (unless created during boot) as well as /dev/kmsg/

– Stefan

Are you on a beaglebone or the evm? I thought the beaglebone with DT support was meant to (just about) boot with the omap2plus_defconfig these days...

Regards,

I am using the am335x_evm_defconfig. Is this correct?

I’ve just realized that actually
/sys/kernel/security does not exist on the rootfs (unless created
during boot) as well as /dev/kmsg/

– Stefan

I’ve been battling with a similar problem myself, albeit when
trying to boot 3.2.0 from the Arago AM33XX repository on a
BeagleBone. Funnily enough when trying to boot 3.2.28 there is
no problem.

Are you using the correct defconfig? I have had no issues while
booting the Arago 3.2.0 on a beaglebone with the Arago/SDK
filesystems that ship with the TI SDKs

Thanks,
Joel

Are you on a beaglebone or the evm?

Most certainly am on the beaglebone and not the evm. Let me try and compile another kernel then :slight_smile:

What I’ve noticed is that the v3.2.28 boots alright and creates the directories that are otherwise giving me trouble when booting with v3.2.0.

I am using the am335x_evm_defconfig. Is this correct?

I’ve just realized that actually
/sys/kernel/security does not exist on the rootfs (unless created
during boot) as well as /dev/kmsg/

– Stefan

I’ve been battling with a similar problem myself, albeit when
trying to boot 3.2.0 from the Arago AM33XX repository on a
BeagleBone. Funnily enough when trying to boot 3.2.28 there is
no problem.

Are you using the correct defconfig? I have had no issues while
booting the Arago 3.2.0 on a beaglebone with the Arago/SDK
filesystems that ship with the TI SDKs

Thanks,
Joel

Are you on a beaglebone or the evm?

Most certainly am on the beaglebone and not the evm. Let me try and compile another kernel then :slight_smile:

Did not take long. I got as far as:

arch/arm/mach-omap2/board-omap3evm.c: In function ‘omap3_evm_init’:
arch/arm/mach-omap2/board-omap3evm.c:676:2: error: implicit declaration of function ‘omap_nand_init’ [-Werror=implicit-function-declaration]
arch/arm/mach-omap2/board-omap3evm.c:676:17: error: ‘omap3_evm_nand_partitions’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:676:17: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-omap2/board-omap3evm.c:677:4: error: negative width in bit-field ‘’
arch/arm/mach-omap2/board-omap3evm.c:678:7: error: ‘NAND_BUSWIDTH_16’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:678:26: error: ‘nand_default_timings’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:679:2: error: implicit declaration of function ‘board_onenand_init’ [-Werror=implicit-function-declaration]
arch/arm/mach-omap2/board-omap3evm.c:679:21: error: ‘omap3_evm_onenand_partitions’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:680:4: error: negative width in bit-field ‘’

Any ideas what needs to go from the config file?

When I compiled the 3.7 kernel for beaglebone I did:

make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm omap2plus_defconfig
make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm zImage
make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm am335x-bone.dtb

Then built the latest u-boot (which in fact failed, and I got Robert Nelson to send me u-boot binaries to use, somewhere on the list here).

Chucked it all on the sd-card and off I went.

I am using the am335x_evm_defconfig. Is this correct?

I’ve just realized that actually
/sys/kernel/security does not exist on the rootfs (unless
created
during boot) as well as /dev/kmsg/

– Stefan

I’ve been battling with a similar problem myself,
albeit when
trying to boot 3.2.0 from the Arago AM33XX
repository on a
BeagleBone. Funnily enough when trying to boot
3.2.28 there is
no problem.

Are you using the correct defconfig? I have had no
issues while
booting the Arago 3.2.0 on a beaglebone with the Arago/SDK
filesystems that ship with the TI SDKs

Thanks,
Joel

Are you on a beaglebone or the evm?
Most certainly am on the beaglebone and not the evm. Let me try
and compile another kernel then :slight_smile:

Did not take long. I got as far as:

arch/arm/mach-omap2/board-omap3evm.c: In function ‘omap3_evm_init’:
arch/arm/mach-omap2/board-omap3evm.c:676:2: error: implicit declaration of function ‘omap_nand_init’ [-Werror=implicit-function-declaration]
arch/arm/mach-omap2/board-omap3evm.c:676:17: error: ‘omap3_evm_nand_partitions’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:676:17: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-omap2/board-omap3evm.c:677:4: error: negative width in bit-field ‘’
arch/arm/mach-omap2/board-omap3evm.c:678:7: error: ‘NAND_BUSWIDTH_16’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:678:26: error: ‘nand_default_timings’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:679:2: error: implicit declaration of function ‘board_onenand_init’ [-Werror=implicit-function-declaration]
arch/arm/mach-omap2/board-omap3evm.c:679:21: error: ‘omap3_evm_onenand_partitions’ undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:680:4: error: negative width in bit-field ‘’

Any ideas what needs to go from the config file?

What I’ve noticed is that the v3.2.28 boots alright and creates
the directories that are otherwise giving me trouble when booting
with v3.2.0.

I thought the beaglebone with DT
support was meant to (just about) boot with the
omap2plus_defconfig
these days…

Regards,


Jack Mitchell (ja…@embed.me.uk)
Embedded Systems Engineer
http://www.embed.me.uk

When I compiled the 3.7 kernel for beaglebone I did:

make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm omap2plus_defconfig
make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm zImage
make CROSS_COMPILE=arm-poky-linux-gnueabi- ARCH=arm am335x-bone.dtb

Then built the latest u-boot (which in fact failed, and I got Robert Nelson to send me u-boot binaries to use, somewhere on the list here).

Chucked it all on the sd-card and off I went.

I am doing about the same with the only difference being not making the dtb files as I believe those are not needed for v3.2.0 (actually anything below 3.6?).

Ok, I misunderstood. I thought you were building 3.7rc2... I don't think beaglebone has support in mainline 3.2 so you won't have much luck I don't think.

If you are talking about the TI vendor tree, then I have no idea, sorry!

[snip]

I am doing about the same with the only difference being not making
the dtb files as I believe those are not needed for v3.2.0 (actually
anything below 3.6?).

Ok, I misunderstood. I thought you were building 3.7rc2… I don’t think
beaglebone has support in mainline 3.2 so you won’t have much luck I
don’t think.

If you are talking about the TI vendor tree, then I have no idea, sorry!

Yes that’s the one! :slight_smile:

Are you able to get past this?

I just built kernel v3.7-rc2 with patches applied from:
http://github.com/beagleboard/kernel

I haven't see any build issues using the supplied configs/beaglebone
from above git

make ARCH=arm CROSS_COMPILE="ccache arm-linux-gnueabi-" uImage
make ARCH=arm CROSS_COMPILE="ccache arm-linux-gnueabi-"
uImage-dtb.am335x-evm -j 8

gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu3)

Thanks,
Joel