Merging up to OpenBMC v2.2 from v2.1 - boot problem, invalid ramdisk format

Patrick Venture venture at google.com
Thu Jun 28 00:38:58 AEST 2018


On Tue, Jun 26, 2018 at 6:10 PM, Andrew Jeffery <andrew at aj.id.au> wrote:
> On Wed, 27 Jun 2018, at 01:49, Patrick Venture wrote:
>> I assume this is just a recipe change such that I need to now specify
>> something -- with OpenBMC v2.1 I see:
>>
>> """
>> U-Boot 2016.07 (May 24 2018 - 12:55:55 -0700)
>>
>> DRAM:  120 MiB
>> WARNING: Caches not enabled
>> Flash: 64 MiB
>> *** Warning - bad CRC, using default environment
>>
>> In:    serial
>> Out:   serial
>> Err:   serial
>> Net:   aspeednic#0
>> Error: aspeednic#0 address not set.
>>
>> Hit any key to stop autoboot:  0
>> ## Loading kernel from FIT Image at 20080000 ...
>>    Using 'conf at 1' configuration
>>    Trying 'kernel at 1' kernel subimage
>>      Description:  Linux kernel
>>      Type:         Kernel Image
>>      Compression:  uncompressed
>>      Data Start:   0x20080128
>>      Data Size:    1721352 Bytes = 1.6 MiB
>>      Architecture: ARM
>>      OS:           Linux
>>      Load Address: 0x40008000
>>      Entry Point:  0x40008000
>>      Hash algo:    sha1
>>      Hash value:   de140d9d803c22f731c4d99a4250979489383a81
>>    Verifying Hash Integrity ... sha1+ OK
>> ## Loading ramdisk from FIT Image at 20080000 ...
>>    Using 'conf at 1' configuration
>>    Trying 'ramdisk at 1' ramdisk subimage
>>      Description:  obmc-phosphor-initramfs
>>      Type:         RAMDisk Image
>>      Compression:  lzma compressed
>>      Data Start:   0x2022ad00
>>      Data Size:    1592362 Bytes = 1.5 MiB
>>      Architecture: ARM
>>      OS:           Linux
>>      Load Address: unavailable
>>      Entry Point:  unavailable
>>      Hash algo:    sha1
>>      Hash value:   9f6f2feb110e27e07f81bb60bb372b4083672f19
>>    Verifying Hash Integrity ... sha1+ OK
>> ## Loading fdt from FIT Image at 20080000 ...
>>    Using 'conf at 1' configuration
>>    Trying 'fdt at 1' fdt subimage
>>      Description:  Flattened Device Tree blob
>>      Type:         Flat Device Tree
>>      Compression:  uncompressed
>>      Data Start:   0x20224624
>>      Data Size:    26139 Bytes = 25.5 KiB
>>      Architecture: ARM
>>      Hash algo:    sha1
>>      Hash value:   37864a4c4a608d5f4e370bbccf93ccbe3e77462d
>>    Verifying Hash Integrity ... sha1+ OK
>>    Booting using the fdt blob at 0x20224624
>>    Loading Kernel Image ... OK
>>    Loading Ramdisk to 47213000, end 47397c2a ... OK
>>    Loading Device Tree to 47209000, end 4721261a ... OK
>>
>> Starting kernel ...
>> """
>>
>> With v2.2 I see:
>> """
>> U-Boot 2016.07 (Jun 25 2018 - 10:07:57 -0700)
>>
>> DRAM:  120 MiB
>> WARNING: Caches not enabled
>> Flash: 64 MiB
>> *** Warning - bad CRC, using default environment
>>
>> In:    serial
>> Out:   serial
>> Err:   serial
>> Net:   aspeednic#0
>> Error: aspeednic#0 address not set.
>>
>> Hit any key to stop autoboot:  0
>> libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
>
> From below it looks like u-boot finds the kernel in the FIT, but your ramdisk is "corrupt". The error above suggests something is missing from the FIT. Can you check the initrd/ramdisk node in your FIT to make sure it is present and uses all the correct options and paths with respect to the initrd you intended to package?

I'll take a look -- one thought I had last night is that now the
kernel config bit above is using the dts -- and IIRC, there have been
changes to the flash layout.  So, maybe my device tree being used here
is out-of-date or doesn't match what it's expecting now.  I'm still on
the 4.7.10 kernel as I haven't had a chance to get the host booted
with 4.13 (although that's high on my todo list).

>
> Might also be helpful to provide the content of the .its file.
>
>> ## Loading kernel from FIT Image at 20080000 ...
>>    Using 'conf at aspeed-bmc-quanta-q71l.dtb' configuration
>>    Trying 'kernel at 1' kernel subimage
>>      Description:  Linux kernel
>>      Type:         Kernel Image
>>      Compression:  uncompressed
>>      Data Start:   0x20080124
>>      Data Size:    1723192 Bytes = 1.6 MiB
>>      Architecture: ARM
>>      OS:           Linux
>>      Load Address: 0x40008000
>>      Entry Point:  0x40008000
>>      Hash algo:    sha1
>>      Hash value:   95ed76c9361d9f6f991a6a859a06eb7626af80df
>>    Verifying Hash Integrity ... sha1+ OK
>> Wrong Ramdisk Image Format
>> Ramdisk image is corrupt or invalid
>> """
>>
>> I figured I'd reach out first as I'm sure this will be familiar to someone :D
>>
>> Patrick


More information about the openbmc mailing list