[arch-releng] [PATCH] [configs/releng] Add SecureBoot support via prebootloader

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Thu Jun 20 00:02:37 EDT 2013


On 06/19/2013 08:41 PM, Gerardo Exequiel Pozzi wrote:
> Tested only under QEMU using OVMF SecureBoot enabled firmware plus lockdown-ms.
> 
> Both loader.efi (gummiboot) and vmlinuz.efi should be hashed before boot in secure mode.
> 
> Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
> ---
>  configs/releng/build.sh        | 10 ++++++++--
>  configs/releng/packages.x86_64 |  1 +
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/configs/releng/build.sh b/configs/releng/build.sh
> index 6e9e2f8..bec9a42 100755
> --- a/configs/releng/build.sh
> +++ b/configs/releng/build.sh
> @@ -128,7 +128,10 @@ make_isolinux() {
>  # Prepare /EFI
>  make_efi() {
>      mkdir -p ${work_dir}/iso/EFI/boot
> -    cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi
> +    cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi
> +    cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/
> +
> +    cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi
>  
>      mkdir -p ${work_dir}/iso/loader/entries
>      cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/
> @@ -159,7 +162,10 @@ make_efiboot() {
>      cp ${work_dir}/iso/${install_dir}/boot/x86_64/archiso.img ${work_dir}/efiboot/EFI/archiso/archiso.img
>  
>      mkdir -p ${work_dir}/efiboot/EFI/boot
> -    cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
> +    cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi
> +    cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/
> +
> +    cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi
>  
>      mkdir -p ${work_dir}/efiboot/loader/entries
>      cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/
> diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
> index aceb6cf..3b75077 100644
> --- a/configs/releng/packages.x86_64
> +++ b/configs/releng/packages.x86_64
> @@ -1,3 +1,4 @@
>  grub-efi-x86_64
>  gummiboot
> +prebootloader
>  refind-efi
> 

http://www.youtube.com/watch?v=jZz3D68_8bo

$ qemu-system-x86_64 -enable-kvm -m 1024 -bios ~/arch/OVMF/bios.bin
-drive file=fat:rw:~/arch/EFI -drive
file=/tmp/releng/out/archlinux-2013.06.19-dual.iso,media=cdrom

$ ls -l ~/arch/OVMF/ ~/arch/EFI/EFI/
/home/djgera/arch/EFI/EFI/:
total 64
-rw-r--r-- 1 djgera djgera 65156 Jun 20 00:20 LockDown_ms.efi

/home/djgera/arch/OVMF/:
total 1024
-rw-r--r-- 1 djgera djgera 1048576 Jun 19 21:06 bios.bin

OVMF build from:
https://bitbucket.org/the_ridikulus_rat/ovmf-tianocore-edk2-pkgbuild/src


PS: looks like newer versions of OVMF/QEMU works fine with kvm enabled :)

-- 
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 555 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-releng/attachments/20130620/4a43524b/attachment.asc>


More information about the arch-releng mailing list