[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: boot-time messages, /init touch not found



On Sat, Apr 25, 2015, at 17:16, songbird wrote:
> # cpio -i -v < /boot/initrd.img-3.18.0-trunk-686-pae
> kernel
> kernel/x86
> kernel/x86/microcode
> kernel/x86/microcode/GenuineIntel.bin
> 22 blocks

Yeah, well, you have a multi-segment initramfs. There's an uncompressed cpio archive first with the "early initramfs" (used for platform firmware such as processor microcode updates and ACPI table overrides).  It is followed by a compressed cpio archive with the rest of the initramfs contents.

The Linux kernel definition of an initramfs image is: "one or more cpio archives, compressed or uncompressed, one after the other. Any of these cpio archives can be zero-padded to any lenght, as long as it is a multiple of 4".  It only supports a very specific subset of the possible cpio archive formats, too.

The kernel doesn't really care if you change compression type, or alternate compressed and uncompressed while loading the regular initramfs, but the early initramfs MUST be the first segment, and it MUST be uncompressed.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique de Moraes Holschuh <hmh@debian.org>


Reply to: