On Thu, Jul 28, 2016 at 10:04:56PM +0200, Stefan Reinauer wrote:
- Trammell Hudson hudson@trmm.net [160727 13:58]:
It looks like 4.4 is adding the initrd as a separate section named "(empty)" with type "null" and the kernel can't find it:
(empty) is indeed what it claims to be, empty space in the image. There is no initrd in there.
Ah, yes. I see that the (empty) space is the amount remaining from the end of the payload to the bootblock at the top of the ROM image.
So that then leads to the question, where is the initrd image when I build with coreboot-4.4 with the same .config file?
Building with head runs:
build/util/cbfstool/cbfstool build/coreboot.pre.tmp add-payload -f bzImage -n fallback/payload -t payload -c none -r COREBOOT -I "initrd.img"
While 4.4 executes:
build/util/cbfstool/cbfstool build/coreboot.pre.tmp add-payload -f ./bzImage -n fallback/payload -t payload -c none -r COREBOOT
Looks like the fix happened when the definition of $(CONFIG_CBFS_PREFIX)/payload-options was moved from ./Makefile.inc to ./payloads/external/Makefile.inc. In 4.4 the definition happens before ADDITIONAL_PAYLOAD_CONFIG is defined, so it will always be empty and initrd is ignored.