[OE-core] zimage Initramfs booting stuck at Start Kernel
Ferry Toth
fntoth at gmail.com
Mon Oct 28 20:46:38 UTC 2019
Op 28-10-2019 om 03:02 schreef JH:
> On 10/28/19, Ferry Toth <fntoth at gmail.com> wrote:
>>> No, there is no limitation in kernel, BTW, the zImage-initramfs is not
>>> just kernel space, the zImage-initramfs = kernel + rootfs which cannot
>>> be limited to 10 MB. I have a zImage-initramfs created by openwrt, the
>>> size is 28 MB. The problem is created by oe-core, most likely in
>>> kernel.bbclass, could anyone in oe-core development provide insights
>>> where is the 10 MB limitation from and how to fix it?
>>
>> I see that Ubuntu keeps the initramfs in a separate cpio, while we are
>> trying to build the cpio into the kernel (afaiu the cpio is unpacked
>> into a kernel directory, and then built-in by the kernels build system).
>
> I built all package formats, rootfs.tar.gz, rootfs.cpio.gz,
> rootfs.cpio.gz.u-boot, zImage->zImage*.bin,
> zImage-initramfs->zImage-initramfs*.bin.
>
> I did try to run different images to boot it to imx6 RAM, but the
> zImage*.bin (8MB) is the only one I could boot it to imx6 RAM,
> obviously it failed to mount rootfs as it did not bundle the rootfs.
>
> How did you build the cpio into the kernel?
https://github.com/edison-fw/meta-intel-edison/blob/master/meta-intel-edison-bsp/conf/machine/edison.conf
And there is the max size!
>> And that cpio is ~64MB, so it must be possible.
>
> Is the 64MB for compressed cpio.gz? If so, that should be fine. Did
> you allude that 64MB is also a limitation for cpio?
No I don't think so.
>> In my case kernel, cpio and zImage-initramfs are all built. And although
>> U-Boot allows to load kernel and cpio separately I didn't try (or don't
>> remember the result). So, maybe that's the trick.
>
> Both rootfs.cpio.gz and rootfs.cpio.gz.u-boot I built are gzip
> compressed data, thaI cannot be booted to imx6 RAM.
>
> Here is the image format built from openwrt which I could boot to imx6 RAM:
>
> 0 0x0 Linux kernel ARM boot executable zImage
> (little-endian)
> 15464 0x3C68 xz compressed data
> 15696 0x3D50 xz compressed data
>
> Here is the zImage (8MB) image format I build from bitbake which did
> not bundle rootfs, but it could be booted to imx6 RAM
>
> 0 0x0 Linux kernel ARM boot executable zImage
> (little-endian)
> 6904 0x1AF8 LZO compressed data
> 7316 0x1C94 LZO compressed data
> 7918 0x1EEE device tree image (dtb)
> 57505 0xE0A1 device tree image (dtb)
> 312284 0x4C3DC LZ4 compressed data, legacy
> 2049118 0x1F445E SHA256 hash constants, little endian
> 2372712 0x243468 mcrypt 2.5 encrypted data, algorithm:
> "]", keysize: 23701 bytes, mode: "(",
> 6093219 0x5CF9A3 device tree image (dtb)
> 8127047 0x7C0247 LZ4 compressed data, legacy
>
> Here is the zImage-initramfs (35 MB) I build from bitbake which
> bundled the rootfs, but could not be booted I believe the cause is the
> size too large:
>
> 0 0x0 Linux kernel ARM boot executable zImage
> (little-endian)
> 6904 0x1AF8 LZO compressed data
> 7316 0x1C94 LZO compressed data
> 7918 0x1EEE device tree image (dtb)
> 57505 0xE0A1 device tree image (dtb)
> 312302 0x4C3EE LZ4 compressed data, legacy
> 2049266 0x1F44F2 SHA256 hash constants, little endian
> 2372864 0x243500 mcrypt 2.5 encrypted data, algorithm:
> "]", keysize: 23701 bytes, mode: "(",
> 6093526 0x5CFAD6 device tree image (dtb)
> 8127489 0x7C0401 LZ4 compressed data, legacy
> 10886101 0xA61BD5 ZBOOT firmware header, header size: 32
> bytes, load address: 0x0564F721, start address: 0x2E4CEE95, checksum:
> 0x22771426, version: 0x1D216514, image size: 185068065 bytes
> 11990008 0xB6F3F8 mcrypt 2.5 encrypted data, algorithm:
> ">", keysize: 2093 bytes, mode: "-",
> 12899061 0xC4D2F5 LZMA compressed data, properties: 0x63,
> dictionary size: 2097152 bytes, uncompressed size: 139006573920 bytes
> 12899237 0xC4D3A5 LZMA compressed data, properties: 0x6C,
> dictionary size: 2097152 bytes, uncompressed size: 541203680 bytes
> 12899272 0xC4D3C8 LZMA compressed data, properties: 0x63,
> dictionary size: 2097152 bytes, uncompressed size: 139810176352 bytes
> 12899719 0xC4D587 LZMA compressed data, properties: 0x65,
> dictionary size: 2097152 bytes, uncompressed size: 541990112 bytes
> 12940308 0xC57414 LZMA compressed data, properties: 0x5E,
> dictionary size: 522190848 bytes, uncompressed size: 2157628 bytes
> 12945629 0xC588DD LZMA compressed data, properties: 0xBE,
> dictionary size: -1108672512 bytes, uncompressed size: 138831226112
> bytes
> 12948853 0xC59575 LZMA compressed data, properties: 0xC0,
> dictionary size: -551550976 bytes, uncompressed size: 2117660 bytes
> 12995870 0xC64D1E Copyright string: "Copyright 2017, NXP"
> 13729894 0xD18066 ELF, 32-bit LSB processor-specific,
> 14855286 0xE2AC76 mcrypt 2.5 encrypted data, algorithm:
> "9n", keysize: 2452 bytes, mode: "4",
> 14956131 0xE43663 ELF, 32-bit LSB processor-specific, ("")
> 15462188 0xEBEF2C device tree image (dtb)
> 15506348 0xEC9BAC device tree image (dtb)
> 15760959 0xF07E3F LZ4 compressed data, legacy
> 17497877 0x10AFF15 SHA256 hash constants, little endian
> 17821483 0x10FEF2B mcrypt 2.5 encrypted data, algorithm:
> "]", keysize: 23701 bytes, mode: "(",
> 21542158 0x148B50E device tree image (dtb)
> 23402211 0x16516E3 LZ4 compressed data, legacy
> 23899460 0x16CAD44 mcrypt 2.5 encrypted data, algorithm:
> ")}", keysize: 11556 bytes, mode: "|",
> 25538245 0x185AEC5 PARity archive data - file number 13345
> 25763629 0x1891F2D mcrypt 2.5 encrypted data, algorithm:
> "*l", keysize: 20516 bytes, mode: "~",
> 26601909 0x195E9B5 SHA256 hash constants, little endian
> 27027026 0x19C6652 SHA256 hash constants, little endian
> 27294589 0x1A07B7D ELF, 32-bit LSB processor-specific, ("")
> 27377983 0x1A1C13F mcrypt 2.5 encrypted data, algorithm:
> "ute0^", keysize: 25971 bytes, mode: """,
> 27653793 0x1A5F6A1 Base64 standard index table
> 28982449 0x1BA3CB1 ELF, 32-bit LSB processor-specific, ("")
> 29102151 0x1BC1047 LZMA compressed data, properties: 0xB7,
> dictionary size: 1572864 bytes, uncompressed size: 106573083904 bytes
> 30170892 0x1CC5F0C SHA256 hash constants, little endian
> 31079699 0x1DA3D13 lrzip compressed data
> 31079703 0x1DA3D17 LZ4 compressed data
> 31079707 0x1DA3D1B LZ4 compressed data, legacy
> 31081483 0x1DA440B EBML file
> 31165137 0x1DB8AD1 lrzip compressed data
> 31165149 0x1DB8ADD LZ4 compressed data
> 31165156 0x1DB8AE4 LZ4 compressed data, legacy
> 31167662 0x1DB94AE Gameboy ROM,
> 31168529 0x1DB9811 EBML file
> 31273481 0x1DD3209 lrzip compressed data
> 31273482 0x1DD320A rzip compressed data - version 32.-20
> (-1785336650 bytes)
> 31552610 0x1E17462 gzip compressed data, from FAT
> filesystem (MS-DOS, OS/2, NT), last modified: 1970-01-01 00:01:36
> (bogus date)
> 32680766 0x1F2AB3E eCos RTOS string reference: "ECOS field"
> 33863073 0x204B5A1 mcrypt 2.5 encrypted data, algorithm:
> "_fd", keysize: 8881 bytes, mode: "h",
> 34075614 0x207F3DE ELF, 32-bit LSB processor-specific, ("")
> 34638178 0x2108962 Copyright string: "copyrighted by many
> authors between 1998-2015."
> 34664157 0x210EEDD SHA256 hash constants, little endian
>
> Could anyone share insights how to fix it or if there is a workarounds?
>
> Thanks Ferry.
>
> Kind regards,
>
> - jh
>
More information about the Openembedded-core
mailing list