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