[U-Boot] Kernel panic - not syncing: VFS: Unable to mount rootfs on unknown-block (1, 0)
Zoran S
zoran.stojsavljevic.de at gmail.com
Sat Mar 3 07:18:49 UTC 2018
Hello Stefano,
This, what you wrote here is very correct assumption.
CONFIG_BLK_DEV_INITRD=y <<===== To have Block device initramfs/rootfs
CONFIG_RD_GZIP=y <<===== To have initramfs/rootfs in .gz format
CONFIG_RD_BZIP2=y <<===== To have initramfs/rootfs in .bz2 format
CONFIG_RD_LZMA=y <<====== To have initramfs/rootfs in .7z format
CONFIG_RD_XZ=y <<===== To have initramfs/rootfs in .xz format
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
(I unsubscribed from u-boot list since every day there are gazillions
of patches @ - you guys can reconsider to create one special mailing
list for only U-Boot patches).
Thank you,
Zoran
_______
On Fri, Mar 2, 2018 at 11:03 AM, Stefano Babic <sbabic at denx.de> wrote:
> Hi Zoran,
>
> On 26/02/2018 11:57, Zoran S wrote:
>> Hello Stefano,
>>
>>> If it canot be mounted, the cause is in the most of cases in a missing
>>> configuration in kernel, like initrd not supported, missing compression
>>> type, and so on.
>>
>> After some investigation, I found that you were correct, most likely.
>> I did this investigation on two similar platforms, in two different
>> environments (since one is corporate one, with some firewalls around,
>> another is outside of the reach, simply it hangs on the open net, my
>> private setup). Just to be sure that I excluded all the corporate
>> security influences.
>>
>> I used the off shelf kernel for BBB (BeagleBone Black), using YOCTO
>> Project (Rocko release) to compile form the scratch, with assurance
>> that this kernel is set correctly (configuration wise).
>>
>> After several days of testing (since my U-Boot skills are a bit rusty,
>> so I assumed I am scripting wrong), I have concluded that I have a
>> correct U-Boot setup, but that the kernel image is not set correctly
>> (as you suggested), since I tested it with at least 5 differently
>> compiled ramdisks.
>>
>> I found one BBB kernel on Linaro site (this one is Debian one, Linux
>> beaglebone 4.9.0-4-armmp #1 SMP Debian 4.9.65-3 (2017-12-03) armv7l
>> GNU/Linux), and tried it with minimal setup (have no idea what/how
>> .config looks like), including ramdiskfs-es (I tested it with several
>> ones, all compiled in the same YOCTO Rocko package) and DTB from the
>> same.
>>
>> It worked for me from the very first time (on both setups).
>>
>
> ok - this confirms that the defconfig for kernel in Yocto build does not
> contain enough to start from ramdisk.
>
>> Conclusion is: Something in .config is wrong. What? This needs some
>> serious investigation, since I think the failed one is also set to use
>> ramdisk.
>
> Usually, some of these are missing:
>
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_RD_GZIP=y
> CONFIG_RD_BZIP2=y
> CONFIG_RD_LZMA=y
> CONFIG_RD_XZ=y
> CONFIG_RD_LZO=y
> CONFIG_RD_LZ4=y
>
> Of course, not all of them can be necessary, I am just speculating.
>
> I would also check (but they should be on) the CONFIG_DECOMPRESS_*
> options and if not, you could turn them on.
>
>
>>
>> I would like to thank you for the hint.
>
> You're welcoime,
>
> Best regards,
> Stefano
>
>>
>> Best Regards,
>> Zoran Stojsavljevic
>> _______
>>
>> On Wed, Feb 21, 2018 at 5:31 PM, Stefano Babic <sbabic at denx.de> wrote:
>>> Hi Zoran,
>>>
>>> On 21/02/2018 11:45, Zoran S wrote:
>>>> Hello to U-Boot list,
>>>>
>>>> I have encountered an interesting problem which I do not entirely
>>>> understand. I am trying to boot MLO and u-boot.bin from the SD Card,
>>>> and rest from the initramfs.
>>>>
>>>> I tried several initramfs images, and so far I am always failing on
>>>> the same place:
>>>> [ 2.135533] No filesystem could mount root, tried:
>>>> [ 2.135541] ext2
>>>> [ 2.140682]
>>>> [ 2.144262] Kernel panic - not syncing: VFS: Unable to mount root
>>>> fs on unknown-block(1,0)
>>>> [ 2.153034] ---[ end Kernel panic - not syncing: VFS: Unable to
>>>> mount root fs on unknown-block(1,0)
>>>>
>>>> I have tried mostly .gz images (cpio.gz and ext2.gz). Does not help.
>>>> Even does not with ext2.gz after YOCTO is done. In order to do it
>>>> correctly, I MUST to add U-Boot header, and I do this with the
>>>> following command:
>>>>
>>>> mkimage -n 'Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d
>>>> initramfs.ext2.gz initramfs.uImage
>>>>
>>>> And the image I actually supply is: initramfs.uImage
>>>>
>>>> Then, the following happens:
>>>>
>>>> => run netloadfdt
>>>> link up on port 0, speed 100, full duplex
>>>> Using cpsw device
>>>> TFTP from server 192.168.15.2; our IP address is 192.168.15.20
>>>> Filename 'am335x-boneblack.dtb'.
>>>> Load address: 0x88000000
>>>> Loading: ###
>>>> 697.3 KiB/s
>>>> done
>>>> Bytes transferred = 35016 (88c8 hex)
>>>> => run netloadimage
>>>> link up on port 0, speed 100, full duplex
>>>> Using cpsw device
>>>> TFTP from server 192.168.15.2; our IP address is 192.168.15.20
>>>> Filename 'zImage'.
>>>> Load address: 0x82000000
>>>> Loading: #################################################################
>>>> #################################################################
>>>> #################################################################
>>>> #################################################################
>>>> ########################
>>>> 772.5 KiB/s
>>>> done
>>>> Bytes transferred = 4161160 (3f7e88 hex)
>>>> => tftp 0x88080000 initramfs.uImage
>>>> link up on port 0, speed 100, full duplex
>>>> Using cpsw device
>>>> TFTP from server 192.168.15.2; our IP address is 192.168.15.20
>>>> Filename 'initramfs.uImage'.
>>>> Load address: 0x88080000
>>>> Loading: #################################################################
>>>> #################################################################
>>>>
>>>> [snap]
>>>>
>>>> #######################################################
>>>> 767.6 KiB/s
>>>> done
>>>> Bytes transferred = 46599246 (2c70c4e hex)
>>>> => dhcp
>>>> link up on port 0, speed 100, full duplex
>>>> BOOTP broadcast 1
>>>> DHCP client bound to address 192.168.15.159 (21 ms)
>>>> => run ramboot
>>>> Booting from ramdisk ...
>>>> ## Loading init Ramdisk from Legacy Image at 88080000 ...
>>>> Image Name: Ramdisk Image
>>>> Created: 2018-02-21 9:46:15 UTC
>>>> Image Type: ARM Linux RAMDisk Image (gzip compressed)
>>>> Data Size: 46599182 Bytes = 44.4 MiB
>>>> Load Address: 00000000
>>>> Entry Point: 00000000
>>>> Verifying Checksum ... OK
>>>> ## Flattened Device Tree blob at 88000000
>>>> Booting using the fdt blob at 0x88000000
>>>> Loading Ramdisk to 8d38f000, end 8ffffc0e ... OK
>>>> Loading Device Tree to 8d383000, end 8d38e8c7 ... OK
>>>>
>>>> Starting kernel ...
>>>>
>>>> [ 0.000000] Booting Linux on physical CPU 0x0
>>>> [ 0.000000] Linux version 4.13.8-jumpnow (oe-user at oe-host) (gcc
>>>> version 7.2.0 (GCC)) #1 Tue Jan 9 15:37:12 CET 2018
>>>> [ 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] cma: Reserved 16 MiB at 0x9f000000
>>>> [ 0.000000] CPU: All CPU(s) started in SVC mode.
>>>> [ 0.000000] AM335X ES2.1 (sgx neon)
>>>> [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
>>>> Total pages: 130048
>>>>
>>>> Please, note the Kernal Command line in the log!
>>>> [ 0.000000] Kernel command line: console=ttyO0,115200n8
>>>> root=/dev/ram0 rw rootfstype=ext2 <<======================== Kernel
>>>> Command Line
>>>>
>>>> [SNAP]
>>>>
>>>> [ 1.770469] omap_voltage_late_init: Voltage driver support not added
>>>> [ 1.777510] ThumbEE CPU extension supported.
>>>> [ 1.791397] mmcblk0: mmc0:59b4 USD 1.87 GiB
>>>> [ 1.801349] mmcblk0: p1 p2
>>>> [ 1.868955] mmc1: new high speed MMC card at address 0001
>>>> [ 1.876511] mmcblk1: mmc1:0001 MMC04G 3.60 GiB
>>>> [ 1.882230] mmcblk1boot0: mmc1:0001 MMC04G partition 1 2.00 MiB
>>>> [ 1.890172] mmcblk1boot1: mmc1:0001 MMC04G partition 2 2.00 MiB
>>>> [ 1.896948] mmcblk1rpmb: mmc1:0001 MMC04G partition 3 128 KiB
>>>> [ 1.906237] mmcblk1: p1 p2
>>>> [ 1.925804] tps65217 0-0024: TPS65217 ID 0xe version 1.2
>>>> [ 1.932470] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
>>>> [ 1.948789] omap_rtc 44e3e000.rtc: setting system clock to
>>>> 2017-12-04 18:09:58 UTC (1512410998)
>>>> [ 1.963613] List of all partitions:
>>>> [ 1.967311] 0100 16384 ram0
>>>> [ 1.967322] (driver?)
>>>> [ 1.973831] 0101 16384 ram1
>>>> [ 1.973840] (driver?)
>>>> [ 1.980294] 0102 16384 ram2
>>>> [ 1.980303] (driver?)
>>>> [ 1.986703] 0103 16384 ram3
>>>> [ 1.986711] (driver?)
>>>> [ 1.993144] 0104 16384 ram4
>>>> [ 1.993153] (driver?)
>>>> [ 1.999582] 0105 16384 ram5
>>>> [ 1.999590] (driver?)
>>>> [ 2.005991] 0106 16384 ram6
>>>> [ 2.005999] (driver?)
>>>> [ 2.012428] 0107 16384 ram7
>>>> [ 2.012437] (driver?)
>>>> [ 2.018903] 0108 16384 ram8
>>>> [ 2.018911] (driver?)
>>>> [ 2.025313] 0109 16384 ram9
>>>> [ 2.025321] (driver?)
>>>> [ 2.031776] 010a 16384 ram10
>>>> [ 2.031785] (driver?)
>>>> [ 2.038304] 010b 16384 ram11
>>>> [ 2.038312] (driver?)
>>>> [ 2.044804] 010c 16384 ram12
>>>> [ 2.044812] (driver?)
>>>> [ 2.051344] 010d 16384 ram13
>>>> [ 2.051352] (driver?)
>>>> [ 2.057871] 010e 16384 ram14
>>>> [ 2.057879] (driver?)
>>>> [ 2.064371] 010f 16384 ram15
>>>> [ 2.064379] (driver?)
>>>> [ 2.070912] b300 1960960 mmcblk0
>>>> [ 2.070922] driver: mmcblk
>>>> [ 2.078079] b301 131072 mmcblk0p1 46a788a5-01
>>>> [ 2.078088]
>>>> [ 2.085214] b302 1828863 mmcblk0p2 46a788a5-02
>>>> [ 2.085222]
>>>> [ 2.092652] b308 3776512 mmcblk1
>>>> [ 2.092663] driver: mmcblk
>>>> [ 2.099840] b309 98304 mmcblk1p1 00000000-01
>>>> [ 2.099849]
>>>> [ 2.106975] b30a 3677184 mmcblk1p2 00000000-02
>>>> [ 2.106984]
>>>> [ 2.114160] b320 128 mmcblk1rpmb
>>>> [ 2.114169] (driver?)
>>>> [ 2.121235] b318 2048 mmcblk1boot1
>>>> [ 2.121244] (driver?)
>>>> [ 2.128401] b310 2048 mmcblk1boot0
>>>> [ 2.128410] (driver?)
>>>> [ 2.135533] No filesystem could mount root, tried:
>>>> [ 2.135541] ext2
>>>> [ 2.140682]
>>>> [ 2.144262] Kernel panic - not syncing: VFS: Unable to mount root
>>>> fs on unknown-block(1,0)
>>>> [ 2.153034] ---[ end Kernel panic - not syncing: VFS: Unable to
>>>> mount root fs on unknown-block(1,0)
>>>>
>>>> What could be the (list of) problem(s) here?
>>>
>>>
>>> I do not see how you start the kernel. Anyway, it shopuld be something
>>> like "bootz 0x82000000 0x88000000 0x88080000". This is enough for U-Boot
>>> to pass the offset for ramdisk to kernel.
>>>
>>> If it canot be mounted, the cause is in the most of cases in a missing
>>> configuration in kernel, like initrd not supported, missing compression
>>> type, and so on.
>>>
>>> Best regards,
>>> Stefano
>>>
>>>
>>> --
>>> =====================================================================
>>> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
>>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>>> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
>>> =====================================================================
>
>
> --
> =====================================================================
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
> =====================================================================
More information about the U-Boot
mailing list