[arch-commits] Commit in ipxe/repos (9 files)

David Runge dvzrv at gemini.archlinux.org
Thu Apr 21 21:05:13 UTC 2022


    Date: Thursday, April 21, 2022 @ 21:05:13
  Author: dvzrv
Revision: 1187276

archrelease: copy trunk to community-staging-x86_64

Added:
  ipxe/repos/community-staging-x86_64/
  ipxe/repos/community-staging-x86_64/PKGBUILD
    (from rev 1187275, ipxe/trunk/PKGBUILD)
  ipxe/repos/community-staging-x86_64/arch.ipxe
    (from rev 1187275, ipxe/trunk/arch.ipxe)
  ipxe/repos/community-staging-x86_64/codesigning_pierre_archlinux.pem
    (from rev 1187275, ipxe/trunk/codesigning_pierre_archlinux.pem)
  ipxe/repos/community-staging-x86_64/default.ipxe
    (from rev 1187275, ipxe/trunk/default.ipxe)
  ipxe/repos/community-staging-x86_64/general.h
    (from rev 1187275, ipxe/trunk/general.h)
  ipxe/repos/community-staging-x86_64/isrgrootx1.pem
    (from rev 1187275, ipxe/trunk/isrgrootx1.pem)
  ipxe/repos/community-staging-x86_64/lets-encrypt-r3.pem
    (from rev 1187275, ipxe/trunk/lets-encrypt-r3.pem)
  ipxe/repos/community-staging-x86_64/run_ipxe
    (from rev 1187275, ipxe/trunk/run_ipxe)

----------------------------------+
 PKGBUILD                         |  106 +++++++++++++++++++++++++++++++++++++
 arch.ipxe                        |    4 +
 codesigning_pierre_archlinux.pem |   30 ++++++++++
 default.ipxe                     |    6 ++
 general.h                        |   16 +++++
 isrgrootx1.pem                   |   31 ++++++++++
 lets-encrypt-r3.pem              |   30 ++++++++++
 run_ipxe                         |   44 +++++++++++++++
 8 files changed, 267 insertions(+)

Copied: ipxe/repos/community-staging-x86_64/PKGBUILD (from rev 1187275, ipxe/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,106 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+pkgname=ipxe
+pkgver=1.21.1
+pkgrel=3
+pkgdesc="Network bootloader"
+arch=('x86_64')
+url="https://ipxe.org"
+license=('GPL2' 'custom:UBDL')
+makedepends=('cdrtools')
+optdepends=(
+  'bash: for run_ipxe'
+  'qemu-desktop: for run_ipxe'
+  'edk2-ovmf: for run_ipxe'
+)
+# the TLS chain of trust is described at the upstream letsencrypt website:
+# https://letsencrypt.org/certificates/
+# the code signing setup is described in Arch Linux's releng repository:
+# https://gitlab.archlinux.org/archlinux/releng/-/blob/master/README.rst#code-signing
+source=("$pkgname-$pkgver.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/refs/tags/v${pkgver}.tar.gz"
+        "${pkgname}-1.21.1-fragmented_handshake.patch::https://github.com/ipxe/ipxe/pull/116/commits/ca9f5fc5645c60c00c3ca232d2a492aa1eb29c58.patch"
+        "arch.ipxe"
+        "isrgrootx1.pem"
+        "lets-encrypt-r3.pem"
+        "codesigning_pierre_archlinux.pem"
+        "default.ipxe"
+        "general.h"
+        "run_${pkgname}")
+sha512sums=('47400975110ed4ab95835aa1b7c8d5a6917c19c5713c6ab88bc0741a3adcd62245a9c4251d1f46fffc45289c6b18bf893f86dbc3b67d3189c41b7f198367ecaa'
+            '7b021b5720ddf71d3162d2d326a05e4d883562d91effce92a8c90368e69424ccf581d2d3bf6c5e1517e3b6cc5e4ab5edfdcd41c36368488b6d357d2fd00f63b0'
+            'ec41e20333ce91b555d4f6a64f211323315a183466d8437404dc548287b96cc8aa4d2953bb5a496677f77e73b7b99752dc973688ade0ccab842fabb8f6127f47'
+            'b819e7965412dbeecc6417b1e57356d9b10e8e2feb0db1165947e7e1b7d882de226afb8457475f5107393a981d902c7f405500cadb6f61bd2acbca5d8c7cc1f4'
+            '7ff2a6b6501b30806e19446d569db0348c0457c15a9c86f186d957607278ee3cbeedd8307e1ff6dc5c0740545192eada7c0f84cdeb8ff39e6b85bd3fc400a914'
+            'e3a8c74dcf95cb4b77ed379d2185ef56b6ab2f4c7bdaf5a68876d21aca4d7961b0d8090da7132c6f1797bdca24014dfea032129ee207282797b91e31b6dc4d48'
+            '9162f528cd0080b9231785795f08d3229c52ce3c18ca5a6efcfbea5028e103a294ddef79a0f28ab64b8d0cdcb9e6cdd7fee797766ad2c3d1dbc3891ddeb4b553'
+            '080b5b7f1a02d6e3a4691e0e65f12a554ede2a783284357f4ef940eb506fec7ec477dc3060c67cf31999af99eba26b0bfa1495cb2a5baa5af4c133bdca2152af'
+            '4f026baf7d30ef33b660530001b3bcf8189a7d1a11603ccb126957d07070283907c8207dad912ff4c735b8a0376c8a5383fef2235ac3b71ef519d7201c079b93')
+b2sums=('03871b5f89c6228a9082bb89c7b102d85e5f3afcd5fe0d93762e220fe162c9c3037a9918f30251fd103835d949335f99109a12559f560a5b686e65a7c24c6501'
+        '2c1ef1e1ffd1716e29e046ae4bc69e8b98f9116c1cb3d6e2e10a9119256194ea4fd510a9d4bf79b96504fb95f6bef0b2edce9b257d8d360224dfe1ce6029025c'
+        '13f73fbd49867a087cbb036562f067ee30e3a3718402363fd6c6d318bb819dde5728510c1459d7bb5906bec37469b2046a2ad148175b6ea4fb58ce68ee614d91'
+        '6d02d871afa45caaa2b22ea2ed48217012aeeb61c50b28e82cc0750344719bdb9ef4b0100abc524b12ec6cb2b1c0084f4d24ce480af87b52aa39d4d3714467ca'
+        '44fc45af926d8c0a563b81640764a4ced266f857c72113839dcd5d441c030bb6f78576b04fcbd8b17f645ed4e2701a4634e55755f13210fa880f442ad6fbb5b1'
+        'a61f76a2ecbf344bb26e064146e4c6821ee195c7b7579cbf8c61d60ded3c3946d53329a8c2e795435ef5498bec97042472f186c13b4e0dc274da34d047f8f326'
+        'f38eec3584967f9a8d4f9f2cc39803de9fa21fd1406efe802c3422f6de30c79e4cd679e775a886f778a40aacb81b9c4120d7205178284cacf69fa7d43557a906'
+        'a69a2dabf23b931aa062d20936510eda6bc9d6a61cded4b5e5960958b2a06642d527bb788b3fae9961dbf5d2ac18c63a6df69db52668cf904b75bd7366117b9b'
+        '9c7a8eb0f9aafdc336d7eac984b6f1fcbb875d1589fb4b67f45393054f66e916c1157e1bb4e8d02af68e6438dff68a812e57bbf685a0b477634891e49c1c3284')
+
+prepare() {
+  cd "$pkgname-$pkgver"
+  # fix issues with fragmented handshakes (e.g. fullchain.pem when using a letsencrypt certificate):
+  # https://github.com/ipxe/ipxe/issues/407
+  patch -Np1 -i "../${pkgname}-1.21.1-fragmented_handshake.patch"
+  # symlink header with custom configuration into place
+  ln -sv "${srcdir}/general.h" src/config/local/
+}
+
+build() {
+  local _file _certs=""
+  # add certs
+  for _file in "${source[@]}"; do
+    if [[ "${_file}" == *.pem ]]; then
+      _certs+="${srcdir}/${_file},"
+    fi
+  done
+
+  cd "$pkgname-$pkgver"
+  # build arch specific images
+  # TODO: adapt arch.ipxe as soon as we can fix https://bugs.archlinux.org/task/70767
+  # NOTE: to debug issues with TLS or codesigning, add "DEBUG=open,tls,x509:3,certstore,privkey"
+  make -C src NO_WERROR=1 \
+    EMBED="$srcdir/arch.ipxe" \
+    CERT="${_certs}" \
+    TRUST="${_certs}" \
+    bin/ipxe.lkrn \
+    bin/ipxe.pxe \
+    bin-i386-efi/ipxe.efi \
+    bin-x86_64-efi/ipxe.efi
+
+  # move binaries out of the way
+  mv -v src/bin/ipxe{,-arch}.lkrn
+  mv -v src/bin/ipxe{,-arch}.pxe
+  mv -v src/bin-i386-efi/ipxe{,-arch}.efi
+  mv -v src/bin-x86_64-efi/ipxe{,-arch}.efi
+
+  # build default images
+  make -C src NO_WERROR=1 \
+    EMBED="$srcdir/default.ipxe" \
+    bin/ipxe.lkrn \
+    bin/ipxe.pxe \
+    bin-i386-efi/ipxe.efi \
+    bin-x86_64-efi/ipxe.efi
+
+}
+
+package() {
+  local _arch
+
+  cd "$pkgname-$pkgver"
+  install -vDm 644 src/bin/ipxe{,-arch}.{lkrn,pxe} -t "${pkgdir}/usr/share/${pkgname}/"
+  for _arch in i386 x86_64; do
+    install -vDm 644 "src/bin-${_arch}-efi/ipxe"{,-arch}.efi -t "${pkgdir}/usr/share/${pkgname}/${_arch}/"
+  done
+  install -vDm 644 COPYING.UBDL -t "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+  install -vDm 755 ../"run_${pkgname}" -t "${pkgdir}/usr/bin"
+}

Copied: ipxe/repos/community-staging-x86_64/arch.ipxe (from rev 1187275, ipxe/trunk/arch.ipxe)
===================================================================
--- community-staging-x86_64/arch.ipxe	                        (rev 0)
+++ community-staging-x86_64/arch.ipxe	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,4 @@
+#!ipxe
+ifconf
+ntp pool.ntp.org
+chain https://ipxe.archlinux.org/releng/netboot/archlinux.ipxe || shell

Copied: ipxe/repos/community-staging-x86_64/codesigning_pierre_archlinux.pem (from rev 1187275, ipxe/trunk/codesigning_pierre_archlinux.pem)
===================================================================
--- community-staging-x86_64/codesigning_pierre_archlinux.pem	                        (rev 0)
+++ community-staging-x86_64/codesigning_pierre_archlinux.pem	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFOzCCAyOgAwIBAgIJAM/ujMJZQq3IMA0GCSqGSIb3DQEBCwUAMEoxCzAJBgNV
+BAYTAkRFMRcwFQYDVQQDDA5QaWVycmUgU2NobWl0ejEiMCAGCSqGSIb3DQEJARYT
+cGllcnJlQGFyY2hsaW51eC5kZTAeFw0xNjA2MDExNjQxNTZaFw0yNjA1MzAxNjQx
+NTZaMEoxCzAJBgNVBAYTAkRFMRcwFQYDVQQDDA5QaWVycmUgU2NobWl0ejEiMCAG
+CSqGSIb3DQEJARYTcGllcnJlQGFyY2hsaW51eC5kZTCCAiIwDQYJKoZIhvcNAQEB
+BQADggIPADCCAgoCggIBAMybf9uwe6O+FPUYR4ycBDcBJp0QOsUDSSw9c5EJsTJJ
+/0HDk+cFW9OdhxnRsxOPCYyrqE/FEusMyAyyyrZ1DVqprTegcqwqgZSmLNwBp+gP
+Dt10JuNQM7IFIs0p3CE6JyuLWJWjn+ZJuVa1Qwfg80wOv/CLkQEWP5ols3o4VroF
+CzJAKd4nVRf8JSyk+4Hka1udtqw4zEyDtaomZ661ZxBH3+PAoE2N+VcMPC3yTOBS
+4RuabUU4PotfFXMrWGfBLuxGK3IVH99rof2SFG719o0ZDOtVLuaCEAo4VywiYqO0
+qAKKBlH0XEvdOAG4KuHFFKQN1UTFRQ9yZXcfdNBnMYRW3QpbPfMcrFUDYvhHW4N/
+dH5JhKL0LDvvrn0Nr1C5OJbZSl2triPmJUJpMBRhcRut6ZH6FkNWLmavNV8Q9cpM
+1qXG0s/yH2RaBQ2+Le7YdKVrcy05SiYJoaZQovxrxQGzJDg9OuWiM49gjBHW32lm
+uK1C4o7B/sf65qZOCkZO2zagLCf8xxKEh/ftbdpnhBpLFbUqXT07Ve5rX26IUUT6
+C+N/dRIxXcmV0+iWOa/Isbo81oOebriHZl5659Fceae2wA8JoBaT7/m3rRSXOPyC
+4hABWbX0eRg3fhiObubTfH74Q1oeLCEClBx8N4sutvoMA0S4Q2VuUvFaB6VyN5w5
+AgMBAAGjJDAiMAsGA1UdDwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkq
+hkiG9w0BAQsFAAOCAgEAirqIJj9KkT+uTgz4EphPZN2FbaxDcw0bxBrEX4t9E68K
+seAHkKJd9GPNGkky8JLI1XwfZ4ZTlzapRfAzPrFDk7Gb43qZeuITvCNfPrPMJ7xw
+JmvIw1ryMs9zV2WCNwVFT6EYeGQXW+F9/osP7oAIhFiGeOmDuy7qFkf7BGDCPAaS
+PlMs+YjGPJTHCbtJKV3VFDhAquQYXS6pQat+v1Nbq+53ijow9H7x+GMBz8dtPI4u
+AKjufH4V3XaxJwDUie73i8iavo9QBDA1HzYMhJ/bDymqyI3uxYkh4rsy9In/8V/z
+aZ5pUXT8HW569uQLpjbb5EKaARwXC7d9GO2rTeSDngzlU8KjeLBeR0zHx+P1TsTP
+R4SAvOSxzZGfYr04Qqwr7ivU92liJntoTcgyvvjELoXODvd4EaS2Sixb4s+eqrYI
+8GPTR1HmvknKbhaNI9caERNsnnKLWtkKkhmPmNkLaX+WQIFgcD/BkeeIbLkYA2Xp
+HCPrYuihUSN+7E80BUkbrSp+wohiieMr24LDE6H6BA/qp9Y8HwK7YsnePyaYxKL7
+CchxRmv5VmVo2bYKZvClVfB82n4yG43zR/YMVDTc5n0TqVq2/0AuOtnoiRfNUfzg
+GIaNoMJ8I0NHpB0aL9cIB9UALPY4dsVo/5TqUPgSEXki9fn2A54A8N2A5nqp0uY=
+-----END CERTIFICATE-----

Copied: ipxe/repos/community-staging-x86_64/default.ipxe (from rev 1187275, ipxe/trunk/default.ipxe)
===================================================================
--- community-staging-x86_64/default.ipxe	                        (rev 0)
+++ community-staging-x86_64/default.ipxe	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,6 @@
+#!ipxe
+
+set next-server-port 80
+
+dhcp &&
+chain http://${next-server}:${next-server-port}/default.ipxe

Copied: ipxe/repos/community-staging-x86_64/general.h (from rev 1187275, ipxe/trunk/general.h)
===================================================================
--- community-staging-x86_64/general.h	                        (rev 0)
+++ community-staging-x86_64/general.h	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,16 @@
+
+// disable unsafe options
+#undef CRYPTO_80211_WEP  /* WEP encryption (deprecated and insecure!) */
+#undef CRYPTO_80211_WPA  /* WPA Personal, authenticating with passphrase */
+
+// enable additional options
+#define NET_PROTO_IPV6  /* IPv6 protocol */
+#define DOWNLOAD_PROTO_HTTPS  /* Secure Hypertext Transfer Protocol */
+#define DOWNLOAD_PROTO_NFS  /* Network File System Protocol */
+#define IMAGE_TRUST_CMD /* Image trust management commands */
+#define NEIGHBOUR_CMD   /* Neighbour management commands */
+#define NTP_CMD   /* NTP commands */
+#define REBOOT_CMD    /* Reboot command */
+#define PING_CMD    /* Ping command */
+#define POWEROFF_CMD    /* Power off command */
+#define CERT_CMD    /* Certificate management commands */

Copied: ipxe/repos/community-staging-x86_64/isrgrootx1.pem (from rev 1187275, ipxe/trunk/isrgrootx1.pem)
===================================================================
--- community-staging-x86_64/isrgrootx1.pem	                        (rev 0)
+++ community-staging-x86_64/isrgrootx1.pem	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
+WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
+ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
+MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
+h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
+A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
+T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
+B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
+B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
+KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
+OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
+jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
+qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
+rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
+hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
+3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
+NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
+ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
+TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
+jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
+oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
+4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
+mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
+emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----

Copied: ipxe/repos/community-staging-x86_64/lets-encrypt-r3.pem (from rev 1187275, ipxe/trunk/lets-encrypt-r3.pem)
===================================================================
--- community-staging-x86_64/lets-encrypt-r3.pem	                        (rev 0)
+++ community-staging-x86_64/lets-encrypt-r3.pem	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
+WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
+RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
+R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
+sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
+NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
+Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
+/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
+AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
+Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
+FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
+AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
+Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
+gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
+PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
+ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
+CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
+lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
+avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
+yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
+yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
+hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
+HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
+MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
+nLRbwHOoq7hHwg==
+-----END CERTIFICATE-----

Copied: ipxe/repos/community-staging-x86_64/run_ipxe (from rev 1187275, ipxe/trunk/run_ipxe)
===================================================================
--- community-staging-x86_64/run_ipxe	                        (rev 0)
+++ community-staging-x86_64/run_ipxe	2022-04-21 21:05:13 UTC (rev 1187276)
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+ovmf_code=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd
+ovmf_vars=/usr/share/edk2-ovmf/x64/OVMF_VARS.fd
+ipxe_image="${1}"
+
+if [[ ! -f "${ovmf_code}" ]]; then
+  printf "ERROR: %s is missing, install the edk2-ovmf package." "${ovmf_code}" >&2
+  exit 1
+fi
+if [[ ! -f "${ovmf_vars}" ]]; then
+  printf "ERROR: %s is missing, install the edk2-ovmf package." "${ovmf_vars}" >&2
+  exit 1
+fi
+if [[ ! -f "${ipxe_image}" ]]; then
+  echo "ERROR: No IPXE image to run provided as first argument." >&2
+  exit 1
+fi
+
+workdir=$(mktemp -d --tmpdir run_ipxe.XXXXXX)
+trap 'rm -rf $workdir' EXIT INT TERM QUIT
+
+cd "${workdir}"
+cp "${ovmf_vars}" efivars
+mkdir -p ./fat/EFI/Boot/
+cp "${ipxe_image}" ./fat/EFI/Boot/bootx64.efi
+
+exec qemu-system-x86_64 \
+  -boot order=d,menu=on,reboot-timeout=5000 \
+  -m "size=3072,slots=0,maxmem=$((3072*1024*1024))" \
+  -k en-us \
+  -name ipxe,process=ipxe_0 \
+  -device virtio-net-pci,romfile=,netdev=net0 \
+  -netdev user,ipv4=on,id=net0 \
+  -drive if=pflash,format=raw,unit=0,readonly=on,file="${ovmf_code}" \
+  -drive if=pflash,format=raw,unit=1,file=efivars \
+  -usb \
+  -enable-kvm \
+  -serial stdio \
+  -drive if=none,id=usb-fat,format=raw,file=fat:rw:./fat \
+  -device usb-storage,drive=usb-fat \
+  -vga virtio



More information about the arch-commits mailing list