From patchwork Tue Mar 7 04:11:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: nl6720 via arch-releng X-Patchwork-Id: 59 Return-Path: Delivered-To: patchwork@archlinux.org Received: from nymeria.archlinux.org by nymeria.archlinux.org (Dovecot) with LMTP id bZpULOMyvljnIwAAtiB/HQ for ; Tue, 07 Mar 2017 05:11:15 +0100 Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1]) by nymeria.archlinux.org (Postfix) with ESMTP id 7FFF6402E2; Tue, 7 Mar 2017 05:11:14 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on nymeria.archlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=2.5 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_MED shortcircuit=no autolearn=unavailable autolearn_force=no version=3.4.1 Received: from luna.archlinux.org (luna.archlinux.org [IPv6:2a01:4f8:160:3033::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by nymeria.archlinux.org (Postfix) with ESMTPS; Tue, 7 Mar 2017 05:11:14 +0100 (CET) Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 5013223682; Tue, 7 Mar 2017 04:11:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1488859874; bh=i7qXsu3DnO1RRH5XFF/9Wyk6UDyG4cvut5fDs+3ft9E=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=fkitI7VGRiO++ZDixaNy8AWnFDarJLKUl55KsjZJw0Oo32cSAuu0uzXx21fTw4U04 MhoLa7mw3rfLMEPE+CS9/58pDE8JcwxZgvKYF6oo7CFv5LX2LiERhAS7zyAIDUvU/y lWnqivi+567YTy9PAr/yoAUvqtz1zSllsJErlKJR/EfQoc5pDqGs5dVz9b82W64+U8 xJdKE2svS72yoUFHoPpNeZ+juX+gPJG3rIuCNpKdIJ1cjPq0IJaUcRj0Kh47Zgtkr7 lLHZV5AUlOkClbRLjm5QCvMedWhJvQYRVqukdbqeaHWLln04hLOH7+oRkK1tmw5xMO Kcw2MbNso5ID/2AGn6tKQkueqAhmJgZt0Zn4cieurFeMa74GCgqSYQEl9ScrlKEuNC nnXFpBc6jKYSyi02Vpd4GruK4shaMzJxP6QLGW4xyVSBig/ljOTN3WS/Z52pc3IcPZ fWc8cd7LIz8krvuVdrerXaSHZvja/jMPPkB3QhhXXhKJu4AvwtDLXjkT5wnmaOwhK3 bGs3EHFG9+aJvj0af4ztYMuc6An+lGfa0tvwoFtkzRsS1J/s3lAk7VF/cWsrhJ56DO KTdd3oAKOWSpqLAJPO6Uh3xKPkUzwWnA2KaEvDLuH0UdxuDlAuJeaIVlib1me4bcEe GDZpdiQj6KPsr1+3/+G0A6ms= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id B59A92367C for ; Tue, 7 Mar 2017 04:11:11 +0000 (UTC) Received: from nymeria.archlinux.org (nymeria.archlinux.org [IPv6:2a00:1828:2000:547::2]) by luna.archlinux.org (Postfix) with ESMTPS for ; Tue, 7 Mar 2017 04:11:11 +0000 (UTC) Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1]) by nymeria.archlinux.org (Postfix) with ESMTP id 8C86E402E2 for ; Tue, 7 Mar 2017 05:11:09 +0100 (CET) Received: from mail-qk0-x241.google.com (mail-qk0-x241.google.com [IPv6:2607:f8b0:400d:c09::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by nymeria.archlinux.org (Postfix) with ESMTPS for ; Tue, 7 Mar 2017 05:11:09 +0100 (CET) Received: by mail-qk0-x241.google.com with SMTP id v125so11480228qkh.1 for ; Mon, 06 Mar 2017 20:11:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=KTbZCbhYPjQlZoUnAghMAm9g5CWxvx3R+2VgxteJEws=; b=iHi6HKzeY1PAdvhYeTTe06LVGyr6M2z4fTykDw2y6QmqJATj8/i62CrmVnpAU8Xoss IIxVOwLQ8G6sjhGB83QOxx4Qnp0DLOQcB9ERoEyt92XcxQUfuBcil8fFHR3DfqnZgZXZ gfJctwhUtU/MgDdlpdFJqSsX+lRo/XTHmfbiHNwZVk+WJ1F4s1ERF7rxPAfllUcI9fzd ukmsyDJN/OWRn4R+ZnTQJz/OGluUixmxwVkG6OZ7tyHttsSf8hGqpE2hBqBmKXOetRU2 StojsKvnLHrYQF9l5y+f78k5pH8Xv7nvHOgpM9qsHV1U6/cGpRZtppDnRblhSUGRPASa 8Vsw== X-Gm-Message-State: AMke39kCky0H+BRa+giPoDM2LNTL7cB9I1ZpAKif2OSHsoGVitek/MZoQFJ87yE1PNpnDA== X-Received: by 10.55.80.135 with SMTP id e129mr17428392qkb.192.1488859868074; Mon, 06 Mar 2017 20:11:08 -0800 (PST) Received: from localhost (host239.190-31-127.telecom.net.ar. [190.31.127.239]) by smtp.gmail.com with ESMTPSA id 1sm5623713qtb.40.2017.03.06.20.11.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 Mar 2017 20:11:07 -0800 (PST) To: arch-releng@archlinux.org Date: Tue, 7 Mar 2017 01:11:04 -0300 Message-Id: <20170307041104.13721-1-vmlinuz386@gmail.com> X-Mailer: git-send-email 2.12.0 Subject: [arch-releng] [RFC] [PATCH] [configs/releng] Add 32-bit EFI support X-BeenThere: arch-releng@archlinux.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Arch Linux Release Engineering List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gerardo Exequiel Pozzi via arch-releng Reply-To: Arch Linux Release Engineering Cc: Gerardo Exequiel Pozzi Errors-To: arch-releng-bounces@archlinux.org Sender: "arch-releng" X-UID: 151 Status: X-Keywords: Content-Length: 3930 Support booting 64-bit Linux, from 32-bit EFI firmware. This was requested some times on our bugtracker. --- configs/releng/build.sh | 18 ++++++++++++++++++ configs/releng/efiboot/syslinux/archiso-cd.cfg | 7 +++++++ configs/releng/efiboot/syslinux/archiso-usb.cfg | 7 +++++++ configs/releng/efiboot/syslinux/syslinux.cfg | 6 ++++++ 4 files changed, 38 insertions(+) create mode 100644 configs/releng/efiboot/syslinux/archiso-cd.cfg create mode 100644 configs/releng/efiboot/syslinux/archiso-usb.cfg create mode 100644 configs/releng/efiboot/syslinux/syslinux.cfg diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 72b1e3f..d3b8994 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -164,6 +164,15 @@ make_efi() { curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi # EFI Shell 1.0 for non UEFI 2.3+ curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/EdkShellBinPkg/FullShell/X64/Shell_Full.efi + + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/syslinux.efi ${work_dir}/iso/EFI/boot/bootia32.efi + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/ldlinux.e32 ${work_dir}/iso/EFI/boot/ + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/libutil.c32 ${work_dir}/iso/EFI/syslinux/ + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/menu.c32 ${work_dir}/iso/EFI/syslinux/ + + sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/syslinux/archiso-usb.cfg > ${work_dir}/iso/EFI/syslinux/archiso.cfg } # Prepare efiboot.img::/EFI for "El Torito" EFI boot mode @@ -199,6 +208,15 @@ make_efiboot() { cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/syslinux.efi ${work_dir}/efiboot/EFI/boot/bootia32.efi + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/ldlinux.e32 ${work_dir}/efiboot/EFI/boot/ + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/libutil.c32 ${work_dir}/efiboot/EFI/syslinux/ + cp ${work_dir}/x86_64/airootfs/usr/lib/syslinux/efi32/menu.c32 ${work_dir}/efiboot/EFI/syslinux/ + + sed "s|%ARCHISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/syslinux/archiso-cd.cfg > ${work_dir}/efiboot/EFI/syslinux/archiso.cfg + umount -d ${work_dir}/efiboot } diff --git a/configs/releng/efiboot/syslinux/archiso-cd.cfg b/configs/releng/efiboot/syslinux/archiso-cd.cfg new file mode 100644 index 0000000..aebe289 --- /dev/null +++ b/configs/releng/efiboot/syslinux/archiso-cd.cfg @@ -0,0 +1,7 @@ +UI menu.c32 + +LABEL arch64 +MENU LABEL Boot Arch Linux (x86_64) +LINUX /EFI/archiso/vmlinuz +INITRD /EFI/archiso/intel_ucode.img,/EFI/archiso/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/efiboot/syslinux/archiso-usb.cfg b/configs/releng/efiboot/syslinux/archiso-usb.cfg new file mode 100644 index 0000000..03df5ca --- /dev/null +++ b/configs/releng/efiboot/syslinux/archiso-usb.cfg @@ -0,0 +1,7 @@ +UI menu.c32 + +LABEL arch64 +MENU LABEL Boot Arch Linux (x86_64) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz +INITRD /%INSTALL_DIR%/boot/intel_ucode.img,/%INSTALL_DIR%/boot/x86_64/archiso.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/efiboot/syslinux/syslinux.cfg b/configs/releng/efiboot/syslinux/syslinux.cfg new file mode 100644 index 0000000..77b6407 --- /dev/null +++ b/configs/releng/efiboot/syslinux/syslinux.cfg @@ -0,0 +1,6 @@ +PATH /EFI/syslinux/ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /EFI/syslinux/archiso.cfg + APPEND /EFI/