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

Patrick Venture venture at google.com
Thu Jun 28 07:17:06 AEST 2018


On Wed, Jun 27, 2018 at 8:39 AM, Patrick Venture <venture at google.com> wrote:
> On Wed, Jun 27, 2018 at 7:38 AM, Patrick Venture <venture at google.com> wrote:
>> 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).
>
> My layout idea didn't pan out -- I'm going to try 4.13 kernel with
> v2.2 openbmc -- I had tried 4.13 with v2.0 and it worked (other than
> the host wouldn't boot).  So, I'm going to give that a quick try so
> I"m at least failing on something up-to-date.

The BMC is able to boot using the 4.13 kernel.  So the issue must be
something incompatible or unhappy.  As a reason to force cycles to get
to 4.13, this will do the trick.

>
>>
>>>
>>> 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