[arch-releng] [PATCH 1/1] concatenate initramfs images for early microcode update

Christian Hesse list at eworm.de
Wed Oct 29 15:18:09 UTC 2014


Gerardo Exequiel Pozzi <vmlinuz386 at gmail.com> on Wed, 2014/10/29 12:05:
> On 10/29/2014 11:56 AM, Christian Hesse wrote:
> > Gerardo Exequiel Pozzi <vmlinuz386 at gmail.com> on Wed, 2014/10/29 11:35:
> >> On 10/29/2014 11:02 AM, list at eworm.de wrote:
> >>> From: Christian Hesse <mail at eworm.de>
> >>>
> >>> https://www.kernel.org/doc/Documentation/x86/early-microcode.txt
> >>> ---
> >>>  configs/releng/build.sh | 2 +-
> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/configs/releng/build.sh b/configs/releng/build.sh
> >>> index 07ff911..8b6beee 100755
> >>> --- a/configs/releng/build.sh
> >>> +++ b/configs/releng/build.sh
> >>> @@ -90,7 +90,7 @@ make_customize_airootfs() {
> >>>  # Prepare kernel/initramfs ${install_dir}/boot/
> >>>  make_boot() {
> >>>      mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
> >>> -    cp ${work_dir}/${arch}/airootfs/boot/archiso.img
> >>> ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img
> >>> +    cat ${work_dir}/${arch}/airootfs/boot/intel-ucode.img
> >>> ${work_dir}/${arch}/airootfs/boot/archiso.img >
> >>> ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img
> >>
> >> This does not look good. archiso.img is compressed, while
> >> intel-ucode.img is uncompressed.
> > 
> > Both of these are cpio archives. So what's wrong?
> > 
> > # file initramfs-linux.img intel-ucode.img 
> > initramfs-linux.img: ASCII cpio archive (SVR4 with no CRC)
> > intel-ucode.img:     ASCII cpio archive (SVR4 with no CRC)
> 
> Looks like you are you working with uncompressed initcpio images (ie you
> made a change to the default mkinitcpio.conf provided by archiso.)

Oops, my fault. In fact I used the files from my working system, which
already contained a concatenated image.

# ls -l initramfs-linux.img intel-ucode.img intel-ucode-initramfs-linux.img
-rw-r--r-- 1 root root 5839896 Oct 29 16:12 initramfs-linux.img
-rw-r--r-- 1 root root  648704 Oct 12 14:05 intel-ucode.img
-rw-r--r-- 1 root root 6488600 Oct 27 11:00 intel-ucode-initramfs-linux.img
# file initramfs-linux.img intel-ucode.img intel-ucode-initramfs-linux.img
initramfs-linux.img:             XZ compressed data
intel-ucode.img:                 ASCII cpio archive (SVR4 with no CRC)
intel-ucode-initramfs-linux.img: ASCII cpio archive (SVR4 with no CRC)

Booting intel-ucode-initramfs-linux.img works perfectly fine, including
microcode update.

> If prefer this way:
> 
> --- archiso_intel_ucode ---
> #!/bin/bash
> 
> build() {
>     cd /tmp
>     bsdcpio -i -d < /boot/intel-ucode.bin
>     add_file /tmp/kernel/x86/microcode/GenuineIntel.bin
> /kernel/x86/microcode/GenuineIntel.bin
> }
> 
> help() {
>     cat <<HELPEOF
> This hook adds intel microcode updates to the early boot stage.
> HELPEOF
> }
> 
> # vim: set ft=sh ts=4 sw=4 et:
> ----------------------------

As said before... This does not work. Please prove me wrong!
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
putchar(b-1/(/*               gcc -o sig sig.c && ./sig    */b/42*2-3)*42);}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-releng/attachments/20141029/6d471506/attachment.bin>


More information about the arch-releng mailing list