From unknown Wed Jun 18 23:10:18 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#40579 <40579@debbugs.gnu.org> To: bug#40579 <40579@debbugs.gnu.org> Subject: Status: [RFC PATCH] add iPXE. Reply-To: bug#40579 <40579@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:10:18 +0000 retitle 40579 [RFC PATCH] add iPXE. reassign 40579 guix-patches submitter 40579 Vincent Legoll severity 40579 normal tag 40579 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 13:59:20 2020 Received: (at submit) by debbugs.gnu.org; 12 Apr 2020 17:59:20 +0000 Received: from localhost ([127.0.0.1]:58822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNgt6-000787-8F for submit@debbugs.gnu.org; Sun, 12 Apr 2020 13:59:20 -0400 Received: from lists.gnu.org ([209.51.188.17]:50372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNgt0-00077t-1G for submit@debbugs.gnu.org; Sun, 12 Apr 2020 13:59:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51765) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jNgsx-00021P-Us for guix-patches@gnu.org; Sun, 12 Apr 2020 13:59:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jNgsw-0004r2-DO for guix-patches@gnu.org; Sun, 12 Apr 2020 13:59:11 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:54770) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jNgsw-0004pX-4Q for guix-patches@gnu.org; Sun, 12 Apr 2020 13:59:10 -0400 Received: by mail-wm1-x32e.google.com with SMTP id h2so7513734wmb.4 for ; Sun, 12 Apr 2020 10:59:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=IwAMjfmJXktGXrnTD5nTxL1QLMMHDe4AtgL7b2VGpNo=; b=LPWwYliZlVhitfMM5v89Sl6n5A3Vb9RiiXxv2ItlYLexU1tdGw6kAugosQ33NOAikg kHFigaQTMjQhRDq9KtZgyb3UuujGHY9ZMATvrZqLhzEM+GnjhaUWA7DSGMQg+3tiodKL BRLst9AX1YaP30Z4rjLSVHCXE/yYse3JNT+sHWvyMnAU7uTd7pv872YCKCPh+uJhXh+1 PbwF18hV+kl6IqQrzn0TrW6lb0ejTIdabwtqSaUXvBmNqRjQO0zdHLX2HWYr/DC25wUz RlBXJ0e6VD4PCGJlLu3qqi1lPZ5FPMh3WuF3yqopv5C+H8j1Q8sEuzdOXiyT1UKm6xt2 umQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=IwAMjfmJXktGXrnTD5nTxL1QLMMHDe4AtgL7b2VGpNo=; b=ghztM2sHmhidFfw1cm1OKjBP56ATmUqsJTMJ2CFpp3BLjfh34R6j8PiyPFvwwcTluo Pjhjw6xD3s6f82Ie3sp5LYaI+h5omlu2B0mc6e5r2dSl7Yc0sxeYGeM1ygBanSyF3vsn Jf32ZF/Eb1swQD4oRgPAxegH57VsRbGBNjb7p/FiKdbWTAu6reNcKkeQJ+waYyccMeeF ngY/B3SZdFLA3IooQBICP8PUP3Leaso2x0t3mm2KkpE0d3eD+/n5xs/NMfMluhH2YDxe iRetGLUBMxxJpY+IY2+ZBQBGn0UiHctN6X5aL/vQYxy3qzaPSD3u2jsczuwMruSpoAB6 APOQ== X-Gm-Message-State: AGi0PuaWJxXL+J/iJwZ3Weqy9bGHneyYYdAlBdne/AjYFd5UIx11Cwfj dmeyPlaYxETCD1y1WwjjKziHMoBB X-Google-Smtp-Source: APiQypKSkdqZ1y2AdlqBss5GyCYIfgSSWMFq5WT0Et71A25v4VSpdY2kiQ4r9jIVwWY6vd3/jUt+/A== X-Received: by 2002:a1c:492:: with SMTP id 140mr15839823wme.9.1586714347927; Sun, 12 Apr 2020 10:59:07 -0700 (PDT) Received: from [10.0.0.2] (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id y20sm12101659wra.79.2020.04.12.10.59.06 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Apr 2020 10:59:06 -0700 (PDT) To: guix-patches@gnu.org From: Vincent Legoll Subject: [RFC PATCH] add iPXE. Message-ID: Date: Sun, 12 Apr 2020 19:59:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------54210322BF67731B175BE69E" Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::32e X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Here is a patch for review that adds iPXE. The licensing is "interesting", see: https://ipxe.org/licensing Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: ipxe.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [209.51.188.17 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (vincent.legoll[at]gmail.com) 0.0 T_SPF_TEMPERROR SPF: test of record failed (temperror) 2.0 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is a multi-part message in MIME format. --------------54210322BF67731B175BE69E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Here is a patch for review that adds iPXE. The licensing is "interesting", see: https://ipxe.org/licensing Is that a problem ? There was no real install target in makefile, so I added one, any hints on how to write that in a cleaner way ? I've put all firmware & rom images in $(out)/bin Is there a better subdirectory to put such files ? The double with-directory-excursion could be handled with a single phase cd'ing into src, but I can't find where I've seen that... WDYT ? -- Vincent Legoll --------------54210322BF67731B175BE69E Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-Add-iPXE.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-gnu-Add-iPXE.patch" >From d0fcf7a69a7503e8fb5b61a4c1109ebfed208a40 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Sun, 12 Apr 2020 19:54:47 +0200 Subject: [PATCH] gnu: Add iPXE. * gnu/packages/bootloaders.scm (ipxe): New variable. --- gnu/packages/bootloaders.scm | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index cadcc937e1..4b1f209540 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2020 Vincent Legoll ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,6 +835,59 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public ipxe + (package + (name "ipxe") + (version "1.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'add-real-make-install + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/Makefile" + (("^install :") + (string-append "install :" + "\n\t@$(MKDIR) -p " + (assoc-ref outputs "out") "/bin" + "\n\t@$(CP) $(ALL) " + (assoc-ref outputs "out") "/bin" + "\n\n__old_install :"))) + #t)) + (delete 'configure) + (replace 'build + (lambda _ (with-directory-excursion "src" + (invoke "make" "-j" (number->string + (parallel-job-count)))))) + (replace 'install + (lambda _ (with-directory-excursion "src" + (invoke "make" "install"))))) + #:tests? #f)) + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("cdrtools" ,cdrtools) + ("mtools" ,mtools) + ("xz" ,xz))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full PXE +implementation enhanced with additional features such as booting from: a web +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to obtain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+))) + (define-public vboot-utils (package (name "vboot-utils") -- 2.26.0 --------------54210322BF67731B175BE69E-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 14:47:21 2020 Received: (at 40579) by debbugs.gnu.org; 12 Apr 2020 18:47:21 +0000 Received: from localhost ([127.0.0.1]:58867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNhdZ-0008KQ-0Z for submit@debbugs.gnu.org; Sun, 12 Apr 2020 14:47:21 -0400 Received: from tobias.gr ([80.241.217.52]:36514) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNhdW-0008KF-Sb for 40579@debbugs.gnu.org; Sun, 12 Apr 2020 14:47:19 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id c04fed85 for <40579@debbugs.gnu.org>; Sun, 12 Apr 2020 18:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to :subject:references:in-reply-to:date:message-id:mime-version :content-type; s=2018; i=me@tobias.gr; bh=zqz/+IYCiYXQ1LSQMhxspl A75BMMVpuRlIEXRfVE0RU=; b=dLVyCSFhfByjpmdMUtMDeqex6ub52KH3JlcpCY 8L162TjMqVXF0vYykG7haxOhAfYJC4JSkUdRO2mONAQ4WBgjTXHYA57vo7R11fB+ cSu+UczBdbWTo7QF8ZzIJzs6Pj/ijPRWeksSJKF59qwT3BURl7ivTaWGRdGMDn1c qcy5ihcvyi81F+i/BjBK/yQOEKia4sqKuPYcTA8DAFpF/Wd0mtDF1D0OB+U8x/Ft nnldII2hlt/B8tIQWamIMo35PllMTPAAq7ZvUTEDWX+6mK8w7p5qqwrEtk5aP3SS dRm1ViiUy6WfinAlG3B4JArcP/XNz1INkbmtGFhKPkYYKq6A== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 7817fc73 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <40579@debbugs.gnu.org>; Sun, 12 Apr 2020 18:47:17 +0000 (UTC) From: Tobias Geerinckx-Rice To: 40579@debbugs.gnu.org Subject: Re: [bug#40579] [RFC PATCH] add iPXE. References: In-reply-to: Date: Sun, 12 Apr 2020 20:47:23 +0200 Message-ID: <87y2r0mthg.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40579 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Vincent, Thank you! Brief review, will build & maybe notice more later: Vincent Legoll =E5=86=99=E9=81=93=EF=BC=9A > The licensing is "interesting", see: > > https://ipxe.org/licensing > > Is that a problem ? Could you elaborate? What's "interesting" about it? That all=20 looks very boring and straightforward to me (which is good! :-) =E2=80=94=20 the result is GPL2-only, no? + (file-name (string-append name "-" version=20 "-checkout")) You can use the GIT-FILE-NAME helper here. + `(#:phases (modify-phases %standard-phases Aside: I'd indent arguments' #:keywords as + `(#:phases + (modify-phases %standard-phases to give you more breathing room at deeper indentation levels.=20 It's not needed now, but if someone were to add a new phase they might have to do annoying things, or re-indent the entire thing later, causing noise. Maybe that's=20 just me though. + (add-after 'unpack 'add-real-make-install + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/Makefile" + (("^install :") + (string-append "install :" + "\n\t@$(MKDIR) -p " + (assoc-ref outputs "out")=20 "/bin" + "\n\t@$(CP) $(ALL) " + (assoc-ref outputs "out")=20 "/bin" + "\n\n__old_install :"))) Interesting approach! I'm OK with it; looking at ALL it wouldn't=20 be more readable or future-proff to use FIND-FILES & Scheme. /bin is not the right place for these files. /lib/ipxe looks to=20 be the standard; let's use that. + (replace 'build + (lambda _ (with-directory-excursion "src" + (invoke "make" "-j"=20 (number->string +=20 (parallel-job-count)))))) Let's, instead: (add-after 'unpack 'enter-source-directory (lambda _ (chdir "src") #t)) Don't worry, the state can't hurt you now. Now we can keep the=20 standard build & install phases. It might be necessary to add a =E2=80=98leave-source-directory=E2=80=99 aft= er=20 'install to make sure the licence files are still installed to=20 share/doc/. + #:tests? #f)) =E2=86=92 #:tests? #f)) ; no test suite + (native-inputs Nitpick: sort? :-) + (synopsis "PXE-compliant network boot firmware") I personally like the =E2=80=98these are just boot loaders=E2=80=99 angle, = but=20 would users expect to find this in (gnu packages firmware)=20 instead? Shrug. + (license license:gpl2+))) =E2=80=98gpl2=E2=80=99 as mentioned above. If you feel like it (there aren't that many files) you could list=20 the licences for each output binary, but that's optional. The=20 combined work appears to be GPL2. Kind regards, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl6TYjwACgkQ2Imw8BjF STwLGRAApmpsVYVJSUS7a0jFmuOVXPnJrSlrQA2AeF7gZdSKDa5xMh3R1wPVzR0j dgGiW/YqxDgeo05i/eI4m/4gzYA361s01E1y6+kyJVMF9mcp8yYZiHedvMnKvG8w a/E7hqeUUVjAPWljEsxAO5LWJX9JqQE8vRU7xryBta9ee5sAYPt9DntjtC+W4o18 FSl+IyEnXqHUXb0NXdFUlV38Gyw/Ily+Wny1hl6plfyvZf2dMirbdToRAy1hMCor D7nMTuPXrFO2o5kSYPmmKBmKHLQl8Gmxm31UuI3xUjEdpcv3qoNr6B9KQmF8/TLF fXHIDSLFjZhtUlYA+cuhaNiArsI0GcgYEDJMRoUsKWH2YC28bEBfzvk2KTVK5tVX LhCIvtHLPyQSy8LVuoGD4rndKMRvkfNC51sR812NI//ZxDyzKdc5XqsA+aLTCO1D VFxLO37iexCcXx2MU7WxxPB+y48NZEuMm4xTZH+i7A5jv7wqTb3MZZlGzV6fApow bgps65fOI2Hqgfmk+qC7BvBFfEv0SMdDdtk01K9I+1pIf7H+ij+smJlvKsirWlUF ZyrN2LQXEilATtBlRKHfzulUkf2aE21P2S2Fmy8HZMvZFQ7m9weMBoMAyoJ6VbwT NXAJD86V1cjGS7tNoTbTMOT8Xa/4jCoBFPgD1yfoAbzMD5FngWI= =57Y5 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 14:58:12 2020 Received: (at 40579) by debbugs.gnu.org; 12 Apr 2020 18:58:12 +0000 Received: from localhost ([127.0.0.1]:58879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNho4-00008d-Gw for submit@debbugs.gnu.org; Sun, 12 Apr 2020 14:58:12 -0400 Received: from tobias.gr ([80.241.217.52]:36854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNho2-00008U-QD for 40579@debbugs.gnu.org; Sun, 12 Apr 2020 14:58:11 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id 83baf96d for <40579@debbugs.gnu.org>; Sun, 12 Apr 2020 18:58:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to :subject:references:in-reply-to:date:message-id:mime-version :content-type; s=2018; i=me@tobias.gr; bh=3IKEVAootJu8YCeMq9XskX 8WEdzQRZZpmSA0a3PaV/M=; b=iPp2py04KZQ3scUc9GlPINEfYdAsBu7KU5FhAB 6kVmHBp49m2WJPoyYbDYrxNsrsHZFEypOuSXwYCJ1/1//gkFzjBYgFYGdAV/M8px T+aznnsyJWgXd1kwcBFjywScpcBr8/8JxhSMhKglzgGA5+jeatVyZf48GRmKZmPl J2da+ZGdMcihP2hQwFQuVSmv0EddkSvS5Bk5AGf90rnKiLMoJQwHDYxhYolp3+BJ EQSQpYS+Jltsdk9CGWndydtRTefqedfB5EB6lLRMR693HjtoVi99k+KNtBSTfdrE 1/W5nt8nJMhv1ZeNnD7aJzOgE031qpgF0GB5mzNyvl+9iyug== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id d911b3d0 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <40579@debbugs.gnu.org>; Sun, 12 Apr 2020 18:58:08 +0000 (UTC) From: Tobias Geerinckx-Rice To: 40579@debbugs.gnu.org Subject: Re: [bug#40579] [RFC PATCH] add iPXE. References: <87y2r0mthg.fsf@nckx> In-reply-to: <87y2r0mthg.fsf@nckx> Date: Sun, 12 Apr 2020 20:58:15 +0200 Message-ID: <87wo6kmszc.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40579 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Tobias Geerinckx-Rice =E5=86=99=E9=81=93=EF=BC=9A > Brief review, will build & maybe notice more later: Such as: we don't ship static (.a) libraries in Guix unless=20 something else (in Guix) needs them. Can we delete the 5.6-MiB=20 blib.a? Kind regards, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl6TZMcACgkQ2Imw8BjF STy4wA/+LwUblRddZ8ulRMooT+SNyHaF1fGS23lQugTHzmOdbsLVJq/vkh6qXq88 uFbxY/IjwZgtZkSozPR9IRoc1dP8W4UoMiP8j3Tk1PcX/nqh2q85EuZ5coX5gcyn k2YD0Rkh3sfhsL0KcaLwq0eygphL94egInjrPXGTmvfKKdAYeMkMNAzq0H2CJpo3 8pGwP4/ncNbkIBSpzYHRDh0WBHgPPchE8CHrzLD6jrKcsEXE827uPeAAHRtI/Ub5 QukWS46X08S2ZYd9wrLjUXh7OHiNIw6FBROfC1Thuior3d8SEyxzKOqyGUe2sU2g 2r1KGJg/h36l1PJqh3fjZ4nxCZVm2bFS2mCIBWeBLKictsAk5YWqC0Gtbp0Gnj7H z9qfe/ZB6K4u5HyrThYbNbXmTSYF25C4tPSwpLBJ20u/H9w5uIfUhrebZT2OTBBl ZktdotCGMNE0MIb4OMejZMUZzAJCLoj+f2g4rm+Ft5P6Y7CPIOOA5EPw3NIXLvLD VR69KJRTZZgds4uf9SDpcGkwY+IAshY1QPPgeR+nx1OHixgFlUQvfIWJysKxNJhj GPWCLVz37kOyQHo4duddhHuPMBtp8VKcJyxKEqI/qB5IlzXNrIKV0aCOE2ogf+zL uM9UwwtlnSJy7VvwK3noWeJehOgwM1fBkztbCVHzErRRAc2G/Nk= =rQ2S -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 15:46:15 2020 Received: (at 40579) by debbugs.gnu.org; 12 Apr 2020 19:46:15 +0000 Received: from localhost ([127.0.0.1]:58925 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNiYY-0001Jb-Ho for submit@debbugs.gnu.org; Sun, 12 Apr 2020 15:46:15 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:41720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNiYX-0001JT-5O for 40579@debbugs.gnu.org; Sun, 12 Apr 2020 15:46:13 -0400 Received: from localhost (unknown [185.128.244.187]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 8775F33620C1; Sun, 12 Apr 2020 21:46:11 +0200 (CEST) Date: Sun, 12 Apr 2020 21:46:09 +0200 From: Danny Milosavljevic Subject: Re: [bug#40579] [RFC PATCH] add iPXE. Message-ID: <20200412214609.57f92dcc@scratchpost.org> In-Reply-To: <87y2r0mthg.fsf@nckx> References: <87y2r0mthg.fsf@nckx> Followup-To: Tobias Geerinckx-Rice via Guix-patches via X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/h_3FvR.M_PewbezwDo6i4F="; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 40579 Cc: 40579@debbugs.gnu.org, Tobias Geerinckx-Rice X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) --Sig_/h_3FvR.M_PewbezwDo6i4F= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, On Sun, 12 Apr 2020 20:47:23 +0200 Tobias Geerinckx-Rice via Guix-patches via wrote: > Could you elaborate? What's "interesting" about it? That all=20 > looks very boring and straightforward to me (which is good! :-) =E2=80=94= =20 > the result is GPL2-only, no? No, there are different makefile targets (rom output filenames) which will result in different parts of ipxe to be built and included in the output. There's special makefile targets for each of these targets to determine the license that applies to each of the latter targets, respectively. Unfortunately, there's no "all.license" target. > /bin is not the right place for these files. /lib/ipxe looks to=20 > be the standard; let's use that. I agree. > Let's, instead: >=20 > (add-after 'unpack 'enter-source-directory > (lambda _ (chdir "src") #t)) > > Don't worry, the state can't hurt you now. Now we can keep the=20 > standard build & install phases. I agree. > If you feel like it (there aren't that many files) you could list=20 > the licences for each output binary, but that's optional. The=20 > combined work appears to be GPL2. Does it? Did you try to make all of the targets' license targets? P.S. The following ROMs are not reproducible: 10222000.rom GPL2 10500940.rom GPL2=20 10ec8139.rom GPL2 15ad07b0.rom GPL2+ 1af41000.rom GPL2+ 8086100e.mrom GPL2+ 8086100f.mrom GPL2+ 808610d3.mrom GPL2+ 80861209.rom GPL2+ ipxe.iso license checker doesn't work rtl8139.rom GPL2 which are ALL of them except blib.a, ipxe.dsk, ipxe.lkrn, ipxe.pxe, ipxe.usb and undionly.kpxe (this one has GPL2+) (which are not roms). Note: Maybe also pass make-flags to overwrite those: ./Makefile.housekeeping:ECHO_E_BIN_ECHO :=3D /bin/echo ./Makefile.housekeeping:ECHO_E_BIN_ECHO_E :=3D /bin/echo -e --Sig_/h_3FvR.M_PewbezwDo6i4F= Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl6TcAEACgkQ5xo1VCww uqXvrgf/R/mL/THaLlYllEnmESXUoFroQSbaZqc+5/aLFYHUW9lVCfSmADrwiAyU AL5ETyRkmxfCQkQi1wyLLyNUFn/SCTptFR7BM8kddktlrpjwRIkb3uI6BkqPDTy6 S1Lx3eMmUNlhO6u/WvaV/iM/gKtPdkuo1dR1HjcyHOT79R9IVlMxYRQ6fIKbUv5m LPykekjlne4v95MgZDsQCB3F8ATf+kpvCJOYknKht+QnWRLUc+j+utmInTTp29rP /aLmIkJC93Fpv7I4FdtbzhFoT+n2x7vjsY1QVu/o1nugfqW+HkDycpA7oIE5N12W GWRquDfcXEearUg4icNryN+1MQ5rbQ== =nJd3 -----END PGP SIGNATURE----- --Sig_/h_3FvR.M_PewbezwDo6i4F=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 17:18:18 2020 Received: (at 40579) by debbugs.gnu.org; 12 Apr 2020 21:18:18 +0000 Received: from localhost ([127.0.0.1]:58977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNjzd-0003Us-Ow for submit@debbugs.gnu.org; Sun, 12 Apr 2020 17:18:18 -0400 Received: from tobias.gr ([80.241.217.52]:41080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNjzb-0003Uh-Nr for 40579@debbugs.gnu.org; Sun, 12 Apr 2020 17:18:16 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id a37fb712; Sun, 12 Apr 2020 21:18:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc :subject:references:in-reply-to:date:message-id:mime-version :content-type; s=2018; i=me@tobias.gr; bh=eKXBHLoNtYJXWqp23rDNoF G3LRBR5tJ+/BoL72rUpvU=; b=cpNodjYv9xs2jh9BgVhBkQiGZNSPI8qrZ1bP4+ TXjyEcRpR6MjNO7trRfeP6M3aYbGWi9pQuxkXnY7jDWZ1wm419yfydx2NroL2kGo w9HO/ory0Y/31A85NSYz9Ua5Kmef5qeaUUOg1l3rUsIasr5A9BurdjK0pwY1j0BX Zt7h2moa8o/oS9o2gS2JqAeYyPUboVtiVcywvz/gfci28lP3Jh6ed93/GteYXWRP 9VrKohpa1hMNFbMPqwk4iqHlNMs/buP62N5pwU/9CUCTFNwvzyXInLt/Dzxy2n1V vaCBlxIYEbjn3nDOiKH8bzjqFOOIt/5FcYWM7TYGcyqLSaMg== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id be4f87ad (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sun, 12 Apr 2020 21:18:13 +0000 (UTC) From: Tobias Geerinckx-Rice To: Danny Milosavljevic Subject: Re: [bug#40579] [RFC PATCH] add iPXE. References: <87y2r0mthg.fsf@nckx> <20200412214609.57f92dcc@scratchpost.org> In-reply-to: <20200412214609.57f92dcc@scratchpost.org> Date: Sun, 12 Apr 2020 23:18:21 +0200 Message-ID: <87tv1ommhu.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40579 Cc: 40579@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Hullo Danny, Danny Milosavljevic =E5=86=99=E9=81=93=EF=BC=9A > Tobias Geerinckx-Rice via Guix-patches via=20 > wrote: > >> Could you elaborate? What's "interesting" about it? That all=20 >> looks very boring and straightforward to me (which is good! :-)=20 >> =E2=80=94=20 >> the result is GPL2-only, no? > > No, there are different makefile targets (rom output filenames)=20 > which will > result in different parts of ipxe to be built and included in=20 > the output. > > There's special makefile targets for each of these targets to=20 > determine > the license that applies to each of the latter targets,=20 > respectively. OK. This was already clear. I'm now convinced that this whole make target thing is a=20 misunderstanding and a distraction: iPXE licencing is not, in any=20 way, =E2=80=98generated on the fly by make rules=E2=80=99 or =E2=80=98uncle= ar=E2=80=99 or=20 =E2=80=98interesting=E2=80=99. It's boring. It's good. It's GPL2. =CE=BB grep -hr '^FILE_LICENCE ( .* );' * | sort -u FILE_LICENCE ( BSD2 ); FILE_LICENCE ( BSD3 ); FILE_LICENCE ( GPL2_ONLY ); FILE_LICENCE ( GPL2_OR_LATER ); FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); FILE_LICENCE ( GPL_ANY ); FILE_LICENCE ( MIT ); FILE_LICENCE ( PUBLIC_DOMAIN ); Just a normal Free software package. Happens to bundle a Perl=20 script similar to (but=20 less useful). Nothing to see here. > Did you try to make all of the targets' license targets? No. I hope I've shown they're irrelevant now. What is relevant is that some files are missing licence headers=20 (e.g. drivers/net/tg3/tg3_phy.c). However, this is so common as=20 to be standard (Guix wouldn't exist if we demanded headers in=20 every file) and COPYING says that these are licenced under =E2=80=98the=20 GPL=E2=80=99. That's=E2=80=A6 acceptable. > P.S. The following ROMs are not reproducible: > > 10222000.rom GPL2 > 10500940.rom GPL2=20 > 10ec8139.rom GPL2 > 15ad07b0.rom GPL2+ > 1af41000.rom GPL2+ > 8086100e.mrom GPL2+ > 8086100f.mrom GPL2+ > 808610d3.mrom GPL2+ > 80861209.rom GPL2+ > ipxe.iso license checker doesn't work > rtl8139.rom GPL2 Ooh, thanks for catching that. I noticed that Debian installs a very different set of file(=20 name)s[0] than we do. I don't know what that means though. Kind regards, T G-R [0]: https://packages.debian.org/sid/all/ipxe/filelist https://packages.debian.org/sid/all/ipxe-qemu/filelist --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl6ThZ0ACgkQ2Imw8BjF STzx0xAAkf/tpM52YPNN+mOU3Hrw3JNn3fEkc7BPKBvRDia0sJKoCjIX13GlMl+e 56ofisfSQHpf0A2sWzeGBbTpLOl7NZhw74Tsqrm3RsiMOKgxPbLhMCHBqz09EW4P X+hfCVmpTXYx8PagNyhd98YnHms+n9C17AQryZdd4xeE564459WKlVFUoL2u+/bU 8hNcCAHWor9rdaZ6BODSrxpHyXGd8SvuspQYK95cFLaBKuPSywZ0xyg6fWspSSGF 74yIwA9ZNC4S3OC4QGNTwotpv0wBvE7UChd2AK69PTYhl43V/Q4a6wI1cAqUtmI+ eBBZ6oaqjSwmrU4865EpyFapEUKIAUhKVSXKHTdm1yv6kXznYs+9XVgcL/vAp1gH QRH0OipAsDiXwovU9ec41ztUX8kd1rMeUQM2Q1gJUKumjCCwKox8ZG2ppTD/F5u+ t95kHngNOPttYIVaNfI29dx3rdrV170CCMxY8fII+7p/v1X930mwCF/5btfHbrEz ax5daTpywbHm2DqUGzFJeZMjAuFo5FyZHn2DGwnOG/dzo+SMLkbAjgvWSMSDA1bY Ba2JGwzjDJOX4lfNj7EG6cNGatEBzjxusEmTH7KVQLuf4q9I/lK8DFbf3gXQK3Il h5uUMC5ni8C4OOa2L6xirPVYC5bJmm/H3ErwHnfTQfDAPyTVlXM= =kBP2 -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 12 19:28:52 2020 Received: (at 40579) by debbugs.gnu.org; 12 Apr 2020 23:28:52 +0000 Received: from localhost ([127.0.0.1]:59018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNm1u-0006WH-Uf for submit@debbugs.gnu.org; Sun, 12 Apr 2020 19:28:52 -0400 Received: from tobias.gr ([80.241.217.52]:44994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNm1s-0006W8-Cg for 40579@debbugs.gnu.org; Sun, 12 Apr 2020 19:28:45 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id 605c9630; Sun, 12 Apr 2020 23:28:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc :subject:date:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=2018; i=me@tobias.gr; bh=EpIq39eD1PeZyD13L9aKsLNToo5u2v45v3f44tubvVY=; b=PfmDjeokkw2h ugNQVuSxMvb/tt81ja6islU/aVFB6E8oYBQkENykKKYHOka/Jds4iUEWulbkkP4U XGfRQPMRrzDerOnkvF7CVPg9VwbbGMHZicqiJO4FxdTbjviPARqne2LZGi/57nrt JqhgrlKdTSUeEdItLfUIXuSmiqE+SQbAOOT5T2ZzvMsn2jIX1Socs9c200wolrD5 isIeJng34MZQCvDU7smGwmAL1Vt3ciJxIHzjPWKJfKb8a9NlehUZCuxF/LQ18/3v Coo7lCKnNXo1iiU+S1gnBVhGMoSf8uvpegt+Wdifw4WFrZxh7rwI+zm5Qmk+pu9Y LeK0pexcqA== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 25ba5ff3 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sun, 12 Apr 2020 23:28:42 +0000 (UTC) From: Tobias Geerinckx-Rice To: 40579@debbugs.gnu.org Subject: [PATCH v2] gnu: Add iPXE. Date: Mon, 13 Apr 2020 01:28:31 +0200 Message-Id: <20200412232831.5876-1-me@tobias.gr> X-Mailer: git-send-email 2.25.2 In-Reply-To: <87tv1ommhu.fsf@nckx> References: <87tv1ommhu.fsf@nckx> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40579 Cc: Vincent Legoll X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) From: Vincent Legoll * gnu/packages/bootloaders.scm (ipxe): New variable. Co-authored-by Tobias Geerinckx-Rice --- Vincent, Danny, Danny Milosavljevic wrote: > P.S. The following ROMs are not reproducible: The ROMS were easily fixed by setting BUILD_ID_CMD to a static string. The ISO was a pain. cdrtools' mkisofs seems to predate the concept of reproducible builds. Switching to the modern Xorriso exposed another bug: we weren't setting ISOLINUX_BIN, and cdrtools' mkisofs happily created an ISO that probably never worked(?). Luckily, Xorriso complained loudly. The image still isn't reproducible, but it has much fewer dates in it now and it actually boots ;-) [citation needed]. I've silenced some other annoying warnings during the build, and applied some of my suggestions from my previous mail (not all though — please do send a V3). Neither mtools nor XZ were ever used. Why were they there? Kind regards, T G-R gnu/packages/bootloaders.scm | 70 +++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index cadcc937e1..112b079c1b 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,10 +7,11 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2016, 2017 David Craven ;;; Copyright © 2017, 2018 Efraim Flashner -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2020 Vincent Legoll ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,6 +835,73 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public ipxe + (package + (name "ipxe") + (version "1.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "ECHO_E_BIN_ECHO=echo" + "ECHO_E_BIN_ECHO_E=echo -e" + + ;; cdrtools' mkisofs will silently ignore a missing isolinux.bin! + ;; Luckily xorriso is more strict. + (string-append "ISOLINUX_BIN=" (assoc-ref %build-inputs "syslinux") + "/share/syslinux/isolinux.bin") + + ;; Build reproducibly. + "BUILD_ID_CMD=echo -n 0x78697547") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "src") #t)) + (add-before 'configure 'add-make-install-target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (ipxe (string-append out "/share/ipxe"))) + (substitute* "Makefile" + (("^install :") + (string-append "install :" + "\n\t@$(MKDIR) -p " ipxe + "\n\t@$(CP) $(ALL) " ipxe + "\n\n__old_install :"))) + #t))) + (add-before 'configure 'use-xorriso + ;; Use xorriso's mkisofs emulation, which is better maintained and + ;; respects SOURCE_DATE_EPOCH to create a reproducible image. + (lambda _ + (substitute* "util/geniso" + ((" genisoimage ") " \"xorriso -as mkisofs\" ")) + #t)) + (delete 'configure) ; no configure script + (add-after 'install 'leave-source-directory + (lambda _ (chdir "..") #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("xorriso" ,xorriso))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full PXE +implementation enhanced with additional features such as booting from: a web +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to obtain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+))) + (define-public vboot-utils (package (name "vboot-utils") -- 2.25.2 From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 14 11:11:48 2020 Received: (at 40579) by debbugs.gnu.org; 14 Apr 2020 15:11:48 +0000 Received: from localhost ([127.0.0.1]:34550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jONDy-0007g2-3w for submit@debbugs.gnu.org; Tue, 14 Apr 2020 11:11:48 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:39272) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jONDv-0007fo-Tn for 40579@debbugs.gnu.org; Tue, 14 Apr 2020 11:11:40 -0400 Received: by mail-wm1-f65.google.com with SMTP id y24so14365124wma.4 for <40579@debbugs.gnu.org>; Tue, 14 Apr 2020 08:11:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=SmjTD2DfxjJzBM7zTVPuGCekh62Qa6LQYUznxigHjjA=; b=avVLl/cUH2E8kKXgoEPnMgJ4OtjAoanW3EQWzMT6ySmKF+TIVY9NdpF1BzYazK1hWL /2H7ved4cYAYLcwuA0ihrlb9f/PmsLesjkhxHQNxOTIuMcwQqvghY80pdh2y8EoH400d jTB5Fxo+GhpXHoHeXgipee/wcF6FqjmIgS4ruH64/qiKojTFZfhEOPB/TbhsO5YI9Tm7 v+V09ukkDKUrH7qSfNaTE6OPkbUO4CeO9zqJMCCPg3JILsaHIWjhCQ0A1lBIctvxvYpu rEG7Vzwclx6fGfd5kr2sAloou1Q4/HOp/rMNmtScDFxQmU9FgQthnyC36umyBipEclL2 PUAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=SmjTD2DfxjJzBM7zTVPuGCekh62Qa6LQYUznxigHjjA=; b=VTVEmSBcMnEpLSG8lplgpWtnMbwuYb8a7SS2kGe8YcULEfFnTyy/HSUnZT6X6a0xY9 zT83KPn6be8s0OAblGo3jBcwCBsEVEQyFluzf0G7S2NyiLd1t77pbZQXlUHpFcg9ZyVm /G+WSiYkxdgEo8ZM9wqmxMnaacVHkqHC9VuIMwmTvEmU0f4uPkDBTWu/UJanUJVcDw4q 8akNWrMRlOeRrQKXFq04cKx2AKsVo5W6EiGQXH5rRNi0C43X06XpoPLs5Vq32WMXZtiE DTGNT5a29gK/S0uXaZCVwnJtbHcrTzm/JUSsHgCGm5fomlqjjWQzYhCIm/3dkq0TjLq1 PGzw== X-Gm-Message-State: AGi0PuY6gMKU3Gt1/LQyFRsi5bxRZJHR+yS/ZjU5jLPQDNJbmlJwiz45 rr7en0VROa8RwJd6RnlnRiCocmXTaz8= X-Google-Smtp-Source: APiQypLcvHF5OMb045qqoOlcxKmVTeMPuMyx2mpN38GHk9qvOCBrnhEYLSjD1sHsmBf/6PHrS8cfTg== X-Received: by 2002:a7b:c118:: with SMTP id w24mr280443wmi.173.1586877093342; Tue, 14 Apr 2020 08:11:33 -0700 (PDT) Received: from [10.0.0.2] (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id g74sm19248751wme.44.2020.04.14.08.11.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Apr 2020 08:11:31 -0700 (PDT) Subject: Re: [PATCH v3] gnu: Add iPXE. To: Tobias Geerinckx-Rice , 40579@debbugs.gnu.org References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> From: Vincent Legoll Message-ID: Date: Tue, 14 Apr 2020 17:11:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200412232831.5876-1-me@tobias.gr> Content-Type: multipart/mixed; boundary="------------EA59E78BD9B540EBBA01797E" Content-Language: en-US X-Spam-Score: -0.8 (/) X-Debbugs-Envelope-To: 40579 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------EA59E78BD9B540EBBA01797E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hello, On 13/04/2020 01:28, Tobias Geerinckx-Rice wrote: > The image still isn't reproducible, but it has much fewer dates in it > now and it actually boots ;-) [citation needed]. I tried it in qemu, got confused by its own ipxe stack, but I think it then went to isolinux which is from the ipxe.iso image... > I've silenced some other annoying warnings during the build, and > applied some of my suggestions from my previous mail (not all though — > please do send a V3). This new patch has the following changes: * used git-file-name * build everything, as I didn't know what subset to choose * install everything in ...-ipxe-1.20.1/lib/ipxe with subdirs for per-arch binaries: bin-i386, etc. You spoke about lib but put them in share, so I choose to change to the former * do the install phase in scheme, as it was easier to handle the above item than to generate a proper makefile target * only install files with specified extensions, this will get rid of the .a and other irrelevant files > Neither mtools nor XZ were ever used. Why were they there? I initially added the inputs in bulk from the build instructions on the website, and forgot to check their usefulness before sending the patch RFC. -- Vincent Legoll --------------EA59E78BD9B540EBBA01797E Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-Add-iPXE.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-gnu-Add-iPXE.patch" >From a9313c42e8e07c501f1991ff98001bb3fc908584 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Mon, 13 Apr 2020 01:28:31 +0200 Subject: [PATCH] gnu: Add iPXE. * gnu/packages/bootloaders.scm (ipxe): New variable. Co-authored-by Tobias Geerinckx-Rice --- gnu/packages/bootloaders.scm | 82 +++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index cadcc937e1..23dda99b2a 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,10 +7,11 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2016, 2017 David Craven ;;; Copyright © 2017, 2018 Efraim Flashner -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2020 Vincent Legoll ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,6 +835,85 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public ipxe + (package + (name "ipxe") + (version "1.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "ECHO_E_BIN_ECHO=echo" + "ECHO_E_BIN_ECHO_E=echo -e" + + ;; cdrtools' mkisofs will silently ignore a missing isolinux.bin! + ;; Luckily xorriso is more strict. + (string-append "ISOLINUX_BIN=" (assoc-ref %build-inputs "syslinux") + "/share/syslinux/isolinux.bin") + + ;; Build reproducibly. + "BUILD_ID_CMD=echo -n 0x78697547" + "everything") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "src") #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (ipxe (string-append out "/lib/ipxe")) + (exts-re + "\\.(efi|efirom|iso|kkpxe|kpxe|lkrn|mrom|pxe|rom|usb)$") + (dirs '("bin" "bin-i386-linux" "bin-x86_64-pcbios" + "bin-x86_64-efi" "bin-x86_64-linux" "bin-i386-efi")) + (files (apply append + (map (lambda (dir) + (find-files dir exts-re)) dirs)))) + (for-each (lambda (file) + (let* ((subdir (dirname file)) + (fn (basename file)) + (tgtsubdir (cond + ((string=? "bin" subdir) "") + ((string-prefix? "bin-" subdir) + (string-drop subdir 4))))) + (install-file file + (string-append ipxe "/" tgtsubdir)))) + files)) + #t)) + (add-before 'configure 'use-xorriso + ;; Use xorriso's mkisofs emulation, which is better maintained and + ;; respects SOURCE_DATE_EPOCH to create a reproducible image. + (lambda _ + (substitute* "util/geniso" + ((" genisoimage ") " \"xorriso -as mkisofs\" ")) + #t)) + (delete 'configure) ; no configure script + (add-after 'install 'leave-source-directory + (lambda _ (chdir "..") #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("xorriso" ,xorriso))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full PXE +implementation enhanced with additional features such as booting from: a web +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to obtain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+))) + (define-public vboot-utils (package (name "vboot-utils") -- 2.26.0 --------------EA59E78BD9B540EBBA01797E-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 15 16:41:43 2020 Received: (at submit) by debbugs.gnu.org; 15 Apr 2020 20:41:43 +0000 Received: from localhost ([127.0.0.1]:37201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOoqt-000605-Hg for submit@debbugs.gnu.org; Wed, 15 Apr 2020 16:41:43 -0400 Received: from lists.gnu.org ([209.51.188.17]:36449) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOoqr-0005zx-GC for submit@debbugs.gnu.org; Wed, 15 Apr 2020 16:41:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38633) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOoqq-0006jH-3p for guix-patches@gnu.org; Wed, 15 Apr 2020 16:41:41 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_40,RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOoqo-00056T-MW for guix-patches@gnu.org; Wed, 15 Apr 2020 16:41:39 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:48900) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jOoqo-00055P-CH for guix-patches@gnu.org; Wed, 15 Apr 2020 16:41:38 -0400 Received: from localhost (80-110-126-163.cgn.dynamic.surfer.at [80.110.126.163]) by dd26836.kasserver.com (Postfix) with ESMTPSA id E10E93365336; Wed, 15 Apr 2020 22:41:34 +0200 (CEST) Date: Wed, 15 Apr 2020 22:41:34 +0200 From: Danny Milosavljevic To: Tobias Geerinckx-Rice via Guix-patches via Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. Message-ID: <20200415224134.2014eee9@scratchpost.org> In-Reply-To: <20200412232831.5876-1-me@tobias.gr> References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/=Z7dnFTChhxP7L2bJDEJqAP"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 85.13.145.193 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: submit Cc: Vincent Legoll , 40579@debbugs.gnu.org, Tobias Geerinckx-Rice X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/=Z7dnFTChhxP7L2bJDEJqAP Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks. ipxe.iso is not reproducible it seems. --- /gnu/store/gbik17qks3cijj2jazx9a6z1v7a5mari-ipxe-1.20.1 +++ /gnu/store/gbik17qks3cijj2jazx9a6z1v7a5mari-ipxe-1.20.1-check =E2=94=9C=E2=94=80=E2=94=80 share =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 ipxe =E2=94=82 =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 ipxe.iso =E2=94=82 =E2=94=82 =E2=94=82=E2=94=84 xxd not available in path. Falling b= ack to Python hexlify. =E2=94=82 =E2=94=82 =E2=94=82=E2=94=84 'isoinfo' not available in path. Fal= ling back to binary comparison. =E2=94=82 =E2=94=82 =E2=94=82 @@ -7,15 +7,15 @@ =E2=94=82 =E2=94=82 =E2=94=82 206d697373696e67206f7220636f72727570742e0d0a= 66606631d2660306f87b =E2=94=82 =E2=94=82 =E2=94=82 661316fc7b6652665006536a016a1089e666f736e87b= c0e40688e188c592f636 =E2=94=82 =E2=94=82 =E2=94=82 ee7b88c608e141b801028a16f27bcd138d64106661c3= e81e004f706572617469 =E2=94=82 =E2=94=82 =E2=94=82 6e672073797374656d206c6f6164206572726f722e0d= 0a5eacb40e8a3e6204b3 =E2=94=82 =E2=94=82 =E2=94=82 07cd103c0a75f1cd18f4ebfd00000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 -00000000000000000000000000000000880000000000= 00005e67d53200008000 =E2=94=82 =E2=94=82 =E2=94=82 +00000000000000000000000000000000880000000000= 000067458b6b00008000 =E2=94=82 =E2=94=82 =E2=94=82 0100173f200000000000000800000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 000000000000000055aa =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 @@ -1023,15 +1023,15 @@ =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 01434430303101002020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020206950584520202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020200000000000000000700100000000= 01700000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000100000101000001 =E2=94=82 =E2=94=82 =E2=94=82 000808000a0000000000000a15000000000000000000= 00160000000022001300 =E2=94=82 =E2=94=82 =E2=94=82 -000000000013000800000000080078040f1427120002= 00000100000101002020 =E2=94=82 =E2=94=82 =E2=94=82 +000000000013000800000000080078040f1426170002= 00000100000101002020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020204854 =E2=94=82 =E2=94=82 =E2=94=82 54503a2f2f495058452e4f52472f2020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 20202020202020202020202020202020202020202020= 20202020202020202020 =E2=94=82 =E2=94=82 =E2=94=82 @@ -1210,37 +1210,37 @@ =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 00000000000000000000000000000000000000000000= 00000000000000000000 =E2=94=82 =E2=94=82 =E2=94=82 -84001300000000000013000800000000080078040f14= 27120002000001000001 =E2=94=82 =E2=94=82 =E2=94=82 +84001300000000000013000800000000080078040f14= 26170002000001000001 =E2=94=82 =E2=94=82 =E2=94=82 010053500701beef0050582401c0410000000041c001= 00000000000001e70300 =E2=94=82 =E2=94=82 =E2=94=82 -00000003e7307500000000753054461a010e78040f14= 27120078040f14271200 =E2=94=82 =E2=94=82 =E2=94=82 -78040f1427120043451c011400000000000014000000= 0000000000ed00000000 =E2=94=82 =E2=94=82 =E2=94=82 -0000ed00600013000000000000130008000000000800= 78040f14271200020000 =E2=94=82 =E2=94=82 =E2=94=82 +00000003e7307500000000753054461a010e78040f14= 26170078040f14261700 =E2=94=82 =E2=94=82 =E2=94=82 +78040f1426170043451c011400000000000014000000= 0000000000ed00000000 =E2=94=82 =E2=94=82 =E2=94=82 +0000ed00600013000000000000130008000000000800= 78040f14261700020000 =E2=94=82 =E2=94=82 =E2=94=82 01000001010150582401c0410000000041c001000000= 00000001e70300000000 =E2=94=82 =E2=94=82 =E2=94=82 -03e7307500000000753054461a010e78040f14271200= 78040f1427120078040f =E2=94=82 =E2=94=82 =E2=94=82 -14271200780021000000000000210008000000000800= 46010100000100000000 =E2=94=82 =E2=94=82 =E2=94=82 +03e7307500000000753054461a010e78040f14261700= 78040f1426170078040f =E2=94=82 =E2=94=82 =E2=94=82 +14261700780021000000000000210008000000000800= 46010100000100000000 =E2=94=82 =E2=94=82 =E2=94=82 010000010a626f6f742e6361743b3100505824010081= 00000000810001000000 =E2=94=82 =E2=94=82 =E2=94=82 00000001e7030000000003e730750000000075305446= 1a010e46010100000100 =E2=94=82 =E2=94=82 =E2=94=82 46010100000100460101000001004e4d0d0100626f6f= 742e6361740078003700 =E2=94=82 =E2=94=82 =E2=94=82 -000000000037c50a050000050ac578040f1427120000= 0000010000010a697078 =E2=94=82 =E2=94=82 =E2=94=82 +000000000037c50a050000050ac578040f1426170000= 0000010000010a697078 =E2=94=82 =E2=94=82 =E2=94=82 652e6b726e3b310050582401a4810000000081a40100= 000000000001e7030000 =E2=94=82 =E2=94=82 =E2=94=82 -000003e7307500000000753054461a010e78040f1427= 120078040f1427120078 =E2=94=82 =E2=94=82 =E2=94=82 -040f142712004e4d0d0100697078652e6b726e008000= 220000000000002200a8 =E2=94=82 =E2=94=82 =E2=94=82 -00000000a80078040f14271200000000010000010e69= 736f6c696e75782e6269 =E2=94=82 =E2=94=82 =E2=94=82 +000003e7307500000000753054461a010e78040f1426= 170078040f1426170078 =E2=94=82 =E2=94=82 =E2=94=82 +040f142617004e4d0d0100697078652e6b726e008000= 220000000000002200a8 =E2=94=82 =E2=94=82 =E2=94=82 +00000000a80078040f14261700000000010000010e69= 736f6c696e75782e6269 =E2=94=82 =E2=94=82 =E2=94=82 6e3b3100505824012481000000008124010000000000= 0001e7030000000003e7 =E2=94=82 =E2=94=82 =E2=94=82 -307500000000753054461a010e78040f142712007804= 0f1427120078040f1427 =E2=94=82 =E2=94=82 =E2=94=82 -12004e4d11010069736f6c696e75782e62696e008000= d9000000000000d99200 =E2=94=82 =E2=94=82 =E2=94=82 -00000000009278040f14271200000000010000010e69= 736f6c696e75782e6366 =E2=94=82 =E2=94=82 =E2=94=82 +307500000000753054461a010e78040f142617007804= 0f1426170078040f1426 =E2=94=82 =E2=94=82 =E2=94=82 +17004e4d11010069736f6c696e75782e62696e008000= d9000000000000d99200 =E2=94=82 =E2=94=82 =E2=94=82 +00000000009278040f14261700000000010000010e69= 736f6c696e75782e6366 =E2=94=82 =E2=94=82 =E2=94=82 673b310050582401a4810000000081a4010000000000= 0001e7030000000003e7 =E2=94=82 =E2=94=82 =E2=94=82 -307500000000753054461a010e78040f142712007804= 0f1427120078040f1427 [...] Otherwise really cool! --Sig_/=Z7dnFTChhxP7L2bJDEJqAP Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl6XcX4ACgkQ5xo1VCww uqUY1Qf/UFMUc9kXcQTmb3155KlMBMbfvWyvH8gp/az+TLrsHsLOTx6QjDIfcrhg CMkG0Iyn4XaNN569n+JzZdKdPhgFhxMln1TrKTEOkBEW3T39koJWXksncokkRvkj OxHLuoaCHTGR2pZg+uYl0BLMUEiWl4946w5w921eG3hmDiOLy0LQ8h8dKzZ6vLX9 MCN2C466+8vzRWLzmXVQ8IxdaevQAjxN4lvzCZc4PnAsfp7eiflO94T2x7xsGTRP xx7qzvuDIEbHgfr7U1dbKLSbs1lcl5BEkbexnyMttNS2pQN7RQxMRgnC0IeEvkJJ kNdjvMenJ1tNcjIjsE5cirdVfkX2VA== =giEm -----END PGP SIGNATURE----- --Sig_/=Z7dnFTChhxP7L2bJDEJqAP-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 15 16:55:18 2020 Received: (at submit) by debbugs.gnu.org; 15 Apr 2020 20:55:18 +0000 Received: from localhost ([127.0.0.1]:37209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOp42-0006Nh-2p for submit@debbugs.gnu.org; Wed, 15 Apr 2020 16:55:18 -0400 Received: from lists.gnu.org ([209.51.188.17]:40620) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jOp3u-0006NI-VN for submit@debbugs.gnu.org; Wed, 15 Apr 2020 16:55:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40358) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOp3t-0003Ot-Ru for guix-patches@gnu.org; Wed, 15 Apr 2020 16:55:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOp3s-0003fu-TH for guix-patches@gnu.org; Wed, 15 Apr 2020 16:55:09 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:33693) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOp3s-0003f0-Mw for guix-patches@gnu.org; Wed, 15 Apr 2020 16:55:08 -0400 Received: by mail-wr1-x442.google.com with SMTP id a25so1913722wrd.0 for ; Wed, 15 Apr 2020 13:55:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=xUqmhrG44ttzsqQSFuMvRb0clS4hFiVthjccEyRY/D4=; b=CCbMyRVFRtkNj+lum2p9Kn0rUNRs0fA50dw93zRPmBd5cA251cQYPs0TixM36wCZxF HbUqQV0IEAEwz10pSvYOcES7GR8gdiBJoNlQoxJtJlklw7gpEdb9REM0QN/QdAKR2tEf eTQ2xrYNWOJzozjsHO2OsEBQ2BLpSrQwB6sig/ikARF1qxh8muzrSkmvouQeunZ+7Gu0 gIYLnvdc1pyuFE4kKkCCAgE1XXvCoJhGoNwemfHK1iRJwGwnXrj9ODEs0BeOp/Ww1Frb wdQ3rsHCSLaxO9o16JPH3CexjbAt4OqpgjkXj1Z5KIolZkhEjgPMIBCcCTPMZvnvDeJh RNgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=xUqmhrG44ttzsqQSFuMvRb0clS4hFiVthjccEyRY/D4=; b=KKztsJfNfZ8DtWaLsoj9SaQseGqqV5xltjXXZKYE4F5hljKhHlA8nlmZS6Nd5Uy5CM 0OMS3nphieOeoO0k2eba+GKgzIFPLQ8LzUzwUoV+vaWKOm3nh7SR3gUR301Ofi2tJGV+ bpuiOieLBH0qQ3BrcVsSJpivimflB1/RtIwPo4P3l/cZNkWvxnSeeAq3H/fclbGLbAa/ nco5yTu2s9ARD4WqyZ5qQKIoJc39RgqSvXW9JQU1PPAeMlDAI0njVGzgBocpHKjYhMSY ZAc2HUmPmdWgmUYg+dL30D+qCLkDmm8DojFoymiI3TtgYWXWmkRKrNxjOePMt/xw8VG+ krdA== X-Gm-Message-State: AGi0PuZMB94PBd40FTAtwB2H5nJtutQkVmdbQOfvHTpwcWmHz+s/JNUn nfc1y1iyoWN4ibe9n0oYY1I= X-Google-Smtp-Source: APiQypLBln5vVT7T1jixHqqPRAAz8O/QUVTxtuilDhUaZL6240U4nXWkZElWcyqAjbg7X4oa/zHlCg== X-Received: by 2002:a5d:6107:: with SMTP id v7mr2437850wrt.270.1586984106954; Wed, 15 Apr 2020 13:55:06 -0700 (PDT) Received: from [10.0.0.2] (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id r17sm14610515wrn.43.2020.04.15.13.55.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Apr 2020 13:55:06 -0700 (PDT) Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. To: Danny Milosavljevic , Tobias Geerinckx-Rice via Guix-patches via References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> <20200415224134.2014eee9@scratchpost.org> From: Vincent Legoll Message-ID: Date: Wed, 15 Apr 2020 22:55:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200415224134.2014eee9@scratchpost.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: submit Cc: 40579@debbugs.gnu.org, Tobias Geerinckx-Rice X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, On 15/04/2020 22:41, Danny Milosavljevic wrote: > ipxe.iso is not reproducible it seems. > > --- /gnu/store/gbik17qks3cijj2jazx9a6z1v7a5mari-ipxe-1.20.1 > +++ /gnu/store/gbik17qks3cijj2jazx9a6z1v7a5mari-ipxe-1.20.1-check > ├── share > │ ├── ipxe > │ │ ├── ipxe.iso > │ │ │┄ xxd not available in path. Falling back to Python hexlify. > │ │ │┄ 'isoinfo' not available in path. Falling back to binary comparison. > [...] > > Otherwise really cool! I'll try to have a look, but that's a first for me... Does this prevent merging ? -- Vincent Legoll From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 09 15:32:06 2020 Received: (at 40579) by debbugs.gnu.org; 9 Jun 2020 19:32:06 +0000 Received: from localhost ([127.0.0.1]:60967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jijyb-0001a4-A5 for submit@debbugs.gnu.org; Tue, 09 Jun 2020 15:32:06 -0400 Received: from relay11.mail.gandi.net ([217.70.178.231]:52147) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jijyV-0001Zk-B4 for 40579@debbugs.gnu.org; Tue, 09 Jun 2020 15:31:59 -0400 Received: from localhost (luy13-1-78-237-113-178.fbx.proxad.net [78.237.113.178]) (Authenticated sender: brice@waegenei.re) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 8F213100002; Tue, 9 Jun 2020 19:31:47 +0000 (UTC) From: Brice Waegeneire To: Danny Milosavljevic Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. In-Reply-To: <20200415224134.2014eee9@scratchpost.org> (Danny Milosavljevic's message of "Wed, 15 Apr 2020 22:41:34 +0200") References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> <20200415224134.2014eee9@scratchpost.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) Date: Tue, 09 Jun 2020 21:31:43 +0200 Message-ID: <87wo4gf334.fsf@waegenei.re> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 40579 Cc: vincent.legoll@gmail.com, 40579@debbugs.gnu.org, me@tobias.gr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hello Vincent, Tobias, Danny, Danny Milosavljevic writes: > ipxe.iso is not reproducible it seems. > > [...] The attached patch should be reproducible, it is based on v3 from Vincent. It adds the following: - generate a BUILD_ID based on the package's output hash - use 'let' to set BUILD_TIMESTAMP - set some useful options - add a patch that reset the timestamps of ipxe.iso - Brice --=-=-= Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Description: [PATCH v4] gnu: Add iPXE. >From 5d6acaa49844ce1ad3f8ca4cba74be695901fb24 Mon Sep 17 00:00:00 2001 From: Vincent Legoll Date: Mon, 13 Apr 2020 01:28:31 +0200 Subject: [PATCH v4] gnu: Add iPXE. MIME-Version: 1.0 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bootloaders.scm (ipxe): New variable. * gnu/packages/patches/ipxe-reproducible-geniso.patch: New file =E2=80=A6 * gnu/local.mk (dist_patch_DATA): =E2=80=A6 add it. Co-authored-by: Tobias Geerinckx-Rice Co-authored-by: Brice Waegeneire --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 122 ++++++++++++++++++ .../patches/ipxe-reproducible-geniso.patch | 78 +++++++++++ 3 files changed, 201 insertions(+) create mode 100644 gnu/packages/patches/ipxe-reproducible-geniso.patch diff --git a/gnu/local.mk b/gnu/local.mk index 33b344d41b..92ad64135a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1105,6 +1105,7 @@ dist_patch_DATA =3D \ %D%/packages/patches/inetutils-hurd.patch \ %D%/packages/patches/inkscape-poppler-0.76.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ + %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index ea80cf020e..c819c903e8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -14,6 +14,8 @@ ;;; Copyright =C2=A9 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright =C2=A9 2018, 2019, 2020 Vagrant Cascadian ;;; Copyright =C2=A9 2020 Pierre Langlois +;;; Copyright =C2=A9 2020 Vincent Legoll +;;; Copyright =C2=A9 2020 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -1068,3 +1070,123 @@ systems so that they can be added to the bootloader= . It also works out how to boot existing GNU/Linux systems and detects what distribution is installed= in order to add a suitable bootloader menu entry.") (license license:gpl2+))) + +(define-public ipxe + ;; XXX: 'BUILD_TIMESTAMP' is used to automatically select the newest ver= sion + ;; of iPXE if multiple iPXE drivers are loaded concurrently in a UEFI sy= stem. + ;; + ;; TODO: Bump this timestamp at each modifications of the package (not o= nly + ;; for updates) by running: date +%s. + (let ((timestamp "1591706427")) + (package + (name "ipxe") + (version "1.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "ipxe-reproducible-geniso.patch")) + (sha256 + (base32 + "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp"))= )) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (guix base32) + (ice-9 string-fun) + (ice-9 regex) + (rnrs bytevectors)) + #:imported-modules ((guix base32) + ,@%gnu-build-system-modules) + #:make-flags + ;; XXX: 'BUILD_ID' is used to determine when another ROM in the + ;; system contains identical code in order to save space within t= he + ;; legacy BIOS option ROM area, which is extremely limited in siz= e. + ;; It is supposed to be collision-free across all ROMs, to do so = we + ;; use the truncated output hash of the package. + (let ((build-id + (lambda (out) + (let* ((nix-store (string-append + (or (getenv "NIX_STORE") "/gnu/store") + "/")) + (filename + (string-replace-substring out nix-store "")) + (hash (match:substring (string-match "[0-9a-z]{32= }" + filename))) + (bv (nix-base32-string->bytevector hash))) + (format #f "0x~x" + (bytevector-u32-ref bv 0 (endianness big)))))) + (out (assoc-ref %outputs "out")) + (syslinux (assoc-ref %build-inputs "syslinux"))) + (list "ECHO_E_BIN_ECHO=3Decho" + "ECHO_E_BIN_ECHO_E=3Decho -e" + + ;; cdrtools' mkisofs will silently ignore a missing isoli= nux.bin! + ;; Luckily xorriso is more strict. + (string-append "ISOLINUX_BIN=3D" syslinux + "/share/syslinux/isolinux.bin") + (string-append "SYSLINUX_MBR_DISK_PATH=3D" syslinux + "/share/syslinux/isohdpfx.bin") + + ;; Build reproducibly. + (string-append "BUILD_ID_CMD=3Decho -n " (build-id out)) + (string-append "BUILD_TIMESTAMP=3D" ,timestamp) + "everything")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "src") #t)) + (add-after 'enter-source-directory 'set-options + (lambda _ + (substitute* "config/general.h" + (("^//(#define PING_CMD.*)" _ uncommented) uncommented) + (("^//(#define IMAGE_TRUST_CMD.*)" _ uncommented) + uncommented) + (("^#undef.*(DOWNLOAD_PROTO_HTTPS.*)" _ option) + (string-append "#define " option)) + (("^#undef.*(DOWNLOAD_PROTO_NFS.*)" _ option) + (string-append "#define " option))) + #t)) + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (ipxe (string-append out "/lib/ipxe")) + (exts-re + "\\.(efi|efirom|iso|kkpxe|kpxe|lkrn|mrom|pxe|rom|us= b)$") + (dirs '("bin" "bin-i386-linux" "bin-x86_64-pcbios" + "bin-x86_64-efi" "bin-x86_64-linux" "bin-i38= 6-efi")) + (files (apply append + (map (lambda (dir) + (find-files dir exts-re)) dirs)= ))) + (for-each (lambda (file) + (let* ((subdir (dirname file)) + (fn (basename file)) + (tgtsubdir (cond + ((string=3D? "bin" subdir)= "") + ((string-prefix? "bin-" su= bdir) + (string-drop subdir 4))))) + (install-file file + (string-append ipxe "/" tgtsu= bdir)))) + files)) + #t)) + (add-after 'install 'leave-source-directory + (lambda _ (chdir "..") #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("xorriso" ,xorriso))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full P= XE +implementation enhanced with additional features such as booting from: a w= eb +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to o= btain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+)))) diff --git a/gnu/packages/patches/ipxe-reproducible-geniso.patch b/gnu/pack= ages/patches/ipxe-reproducible-geniso.patch new file mode 100644 index 0000000000..d3c97c3085 --- /dev/null +++ b/gnu/packages/patches/ipxe-reproducible-geniso.patch @@ -0,0 +1,78 @@ +From 052d24d8217c51c572c2f6cbb4a687be2e8ba52d Mon Sep 17 00:00:00 2001 +From: Brice Waegeneire +Date: Fri, 5 Jun 2020 14:38:43 +0200 +Subject: [PATCH] [geniso] Make it reproducible + +Some timestamps get embedded in the generated ISO, making it +unreproducible so we overwrite those timestamps to be at the UNIX epoch. +--- + src/util/geniso | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/util/geniso b/src/util/geniso +index ff090d4a..e032ffb0 100755 +--- a/src/util/geniso ++++ b/src/util/geniso +@@ -11,6 +11,13 @@ function help() { + echo " -o FILE save iso image to file" + } +=20 ++function reset_timestamp() { ++ for f in "$1"/*; do ++ touch -t 197001010100 "$f" ++ done ++ touch -t 197001010100 "$1" ++} ++ + LEGACY=3D0 + FIRST=3D"" +=20 +@@ -37,8 +44,9 @@ if [ -z "${OUT}" ]; then + exit 1 + fi +=20 +-# There should either be mkisofs or the compatible genisoimage program +-for command in genisoimage mkisofs; do ++# There should either be mkisofs, xorriso or the compatible genisoimage ++# program ++for command in xorriso genisoimage mkisofs; do + if ${command} --version >/dev/null 2>/dev/null; then + mkisofs=3D(${command}) + break +@@ -46,8 +54,10 @@ for command in genisoimage mkisofs; do + done +=20 + if [ -z "${mkisofs}" ]; then +- echo "${0}: mkisofs or genisoimage not found, please install or set PATH= " >&2 ++ echo "${0}: mkisofs, xorriso or genisoimage not found, please install or= set PATH" >&2 + exit 1 ++elif [ "$mkisofs" =3D "xorriso" ]; then ++ mkisofs+=3D(-as mkisofs) + fi +=20 + dir=3D$(mktemp -d bin/iso.dir.XXXXXX) +@@ -115,6 +125,8 @@ case "${LEGACY}" in + exit 1 + fi +=20 ++ reset_timestamp "$dir" ++ + # generate the iso image + "${mkisofs[@]}" -b boot.img -output ${OUT} ${dir} + ;; +@@ -127,6 +139,12 @@ case "${LEGACY}" in + cp ${LDLINUX_C32} ${dir} + fi +=20 ++ reset_timestamp "$dir" ++ ++ if [ "${mkisofs[0]}" =3D "xorriso" ]; then ++ mkisofs+=3D(-isohybrid-mbr "$SYSLINUX_MBR_DISK_PATH") ++ fi ++ + # generate the iso image + "${mkisofs[@]}" -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-i= nfo-table -output ${OUT} ${dir} +=20 +--=20 +2.26.2 + --=20 2.26.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 09 15:59:06 2020 Received: (at 40579) by debbugs.gnu.org; 9 Jun 2020 19:59:06 +0000 Received: from localhost ([127.0.0.1]:60996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jikOo-0002Cv-Ab for submit@debbugs.gnu.org; Tue, 09 Jun 2020 15:59:06 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:35216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jikOm-0002CR-BE for 40579@debbugs.gnu.org; Tue, 09 Jun 2020 15:59:04 -0400 Received: by mail-wr1-f68.google.com with SMTP id x14so22695474wrp.2 for <40579@debbugs.gnu.org>; Tue, 09 Jun 2020 12:59:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=WQqO/9hAUmCPBM34wYnDHojV4H1BIOvVJwV6ysF5OmI=; b=lOVTIPOAa+sw/XMLCRqJ/Qr83Dzlm2r1bRR3GVTwATYLmdwGJzrD/A8hcZC2NpY7F3 Smu6jEOjv9Tn/FCcmbLDs8SjC4p1FOvamoyDdMnf3WvAgdwkovcnN00dZa8dGxAVIo+4 lEQKTJAzvVcczhmhALGP7TNTmRoVqaKM2kGN2z0HYZeE+15PJyOK7KutZV/KoXjLaByg laXwP2alCtYxX2NU4WE2f5wjhBXnzYTw6l3crsgjgcLULMinWWiEtvaEevzbUrKYdWUu 6d+cwMJvSv9pgltHz6vCzpJ0gM4p9vyuPXWo2tu4FqhRyyKMDrDfd1dpXAPYvZUIzBzc FU/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=WQqO/9hAUmCPBM34wYnDHojV4H1BIOvVJwV6ysF5OmI=; b=s+RzTFQASH3ZAvA0+6A7BdCRj9pkNRpdRa4jyB34KWCQw59km8J+6fNAQv95HaPPep TVbtX987Vf9GZWSC83g6eqajCCf4giSQRNxZ9LoTdo2W+I3pTpDjvXAJu3RTYUknknWP SEueogATmCieWYc68gg40HpL2fL/X8QKijv7SVreKWzxFspaJgJW0FJF6g7tjEzl7pDA 66w5b4CwlzNhPf8IVtBDn7IvjfTDFX+Hs1wIVcth01YJ/OCaIqr2RCLnWd9uy2LtYpga MGtuHDUFyrSwMRgJJFGBahJoRwnjPkcLZqzp2hLymOwpWSKXqCyzzLADzGjfZNj/kQeN 8w6w== X-Gm-Message-State: AOAM530hOqInhG3EVz5NiamurxLi44JYu2YLQeD9Mx6mK0dAnXTaTFPu bZXn3ic1QCn9iBgRkJxDiRk= X-Google-Smtp-Source: ABdhPJyKkaRH0piDgKc+ipMgS1kYdIO3gnsOTBIVfeYp6SxgSTf4s7QHOzL/Yuw0oYMpJdjj6lYAkQ== X-Received: by 2002:a5d:42cd:: with SMTP id t13mr6146790wrr.355.1591732738419; Tue, 09 Jun 2020 12:58:58 -0700 (PDT) Received: from [10.0.0.2] (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id a14sm4651516wrv.20.2020.06.09.12.58.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 Jun 2020 12:58:57 -0700 (PDT) Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. To: Brice Waegeneire , Danny Milosavljevic References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> <20200415224134.2014eee9@scratchpost.org> <87wo4gf334.fsf@waegenei.re> From: Vincent Legoll Message-ID: <6591cb7c-601d-dc58-f4a4-10999caecfa9@gmail.com> Date: Tue, 9 Jun 2020 21:58:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <87wo4gf334.fsf@waegenei.re> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579 Cc: 40579@debbugs.gnu.org, me@tobias.gr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, On 09/06/2020 21:31, Brice Waegeneire wrote: > Danny Milosavljevic writes: > >> ipxe.iso is not reproducible it seems. >> >> [...] > > The attached patch should be reproducible, it is based on v3 from > Vincent. > > It adds the following: > - generate a BUILD_ID based on the package's output hash > - use 'let' to set BUILD_TIMESTAMP > - set some useful options > - add a patch that reset the timestamps of ipxe.iso Nice and thanks for taking care of this, I've got less time to contribute lately. Did you try to upstream the reproducibility patch ? Should be straightforward enough. -- Vincent Legoll From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 09 16:11:56 2020 Received: (at 40579) by debbugs.gnu.org; 9 Jun 2020 20:11:56 +0000 Received: from localhost ([127.0.0.1]:32776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jikbE-0002Ww-0P for submit@debbugs.gnu.org; Tue, 09 Jun 2020 16:11:56 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:58467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jikbC-0002Wf-9F for 40579@debbugs.gnu.org; Tue, 09 Jun 2020 16:11:55 -0400 X-Originating-IP: 78.237.113.178 Received: from localhost (luy13-1-78-237-113-178.fbx.proxad.net [78.237.113.178]) (Authenticated sender: brice@waegenei.re) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id C5B71E0005; Tue, 9 Jun 2020 20:11:46 +0000 (UTC) From: Brice Waegeneire To: Vincent Legoll Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> <20200415224134.2014eee9@scratchpost.org> <87wo4gf334.fsf@waegenei.re> <6591cb7c-601d-dc58-f4a4-10999caecfa9@gmail.com> Date: Tue, 09 Jun 2020 22:11:43 +0200 In-Reply-To: <6591cb7c-601d-dc58-f4a4-10999caecfa9@gmail.com> (Vincent Legoll's message of "Tue, 9 Jun 2020 21:58:55 +0200") Message-ID: <87k10gf18g.fsf@waegenei.re> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 40579 Cc: Danny Milosavljevic , 40579@debbugs.gnu.org, me@tobias.gr X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Vincent Legoll writes: > On 09/06/2020 21:31, Brice Waegeneire wrote: >> Danny Milosavljevic writes: >> >>> ipxe.iso is not reproducible it seems. >>> >>> [...] >> The attached patch should be reproducible, it is based on v3 from >> Vincent. >> It adds the following: >> - generate a BUILD_ID based on the package's output hash >> - use 'let' to set BUILD_TIMESTAMP >> - set some useful options >> - add a patch that reset the timestamps of ipxe.iso > > Nice and thanks for taking care of this, I've got less time to > contribute lately. > > Did you try to upstream the reproducibility patch ? > Should be straightforward enough. No problem :) No I didn't submit it to upstream, I got frighten by the answers to a much smaller patch from a Debian team member about reproduciblity[0][1]. Those threads were useful to make our build reproducible tho. [0]: https://lists.ipxe.org/pipermail/ipxe-devel/2020-May/007023.html [1]: https://lists.ipxe.org/pipermail/ipxe-devel/2020-May/007051.html - Brice From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 12 16:01:48 2021 Received: (at 40579) by debbugs.gnu.org; 12 Jan 2021 21:01:48 +0000 Received: from localhost ([127.0.0.1]:33431 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzQnU-0003Bn-Gq for submit@debbugs.gnu.org; Tue, 12 Jan 2021 16:01:48 -0500 Received: from mail-lf1-f49.google.com ([209.85.167.49]:43607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzQnT-0003Ba-9E for 40579@debbugs.gnu.org; Tue, 12 Jan 2021 16:01:47 -0500 Received: by mail-lf1-f49.google.com with SMTP id 23so5427165lfg.10 for <40579@debbugs.gnu.org>; Tue, 12 Jan 2021 13:01:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rPS+MklwlzG4b2Ic1sJpCENLon3SHL4eD581pP8G5ps=; b=K0Vhau4qnIFgd3e4vjbY2qn7ReXSfRl8eEpKvdDpO0lWXWN++7bLxnur46cNC5PsK9 3T+UF85Eo1VOd2my1azzz481Ai4oyBZqezxkDgnM0HqMOPVRLiC2Nf5JJKK45o6Bdkxm zbpI0oSBKfEkeEEb2n3U+zkN4GedZMcXk5qnxYQJKJkN0ftjn+tZbKVltCN1QdwlNX7l 3E6IB6iHLbwKD2/KxX+USQ0hrE8Ezl3jxFxoCKuqsXe6oCqTVwkTxLYl5Xb9ipAvqOl5 j05kSwUPiuVMY62l6C6CZ+aN/gwYISxMRHYgcErIX0p2cGsDyJTzvEWxUzuuY1iBGu+s gDLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rPS+MklwlzG4b2Ic1sJpCENLon3SHL4eD581pP8G5ps=; b=re6rZulu7uJo098kEmnGad5hjC372xNhEXTtWiMGGUPHQQ1WnEnPgHlDB60sjM/q/x D7yFNuoZVRkuZ58QRT/KrQMuF37jGWnHbDXohuQkMzCri+FAhoxj2zoZF3D6G92r87Bz VWw7ms7M80OCowvJWX4vqDeoaAgMGMfV77H3Y50JZOm1a9F64DELX/7uLHRro+NpASBE fnE7DRBIEvD1pEGGwzKlXxTOmj2Sm9VV+zN1B+02AURKo0kPzkcJt5tpYQhTf7gqyAfe 9FLfrsR95zcmTIU6Hd5NqvRZllMWNDzKN2SWGZHyeZ6dsw9n6U7XBwUYiKK1E7wJ49kV Kxtg== X-Gm-Message-State: AOAM5314hjWFC+kQinFQmKosg7fq2gqubDrpxIKtKI+AnKX9LkNhjwpA ekKzNGrf48fuZeoauLNVOimWHwR/6Z38h4Y76Zk= X-Google-Smtp-Source: ABdhPJzqEgWWtv4t7LQFLYJjoapQaLeA9e3BJWDI4p4tlzIdQ4xVVXpU0+dRZaMckAe1rT46suVp+g4jZX/3mbguhIo= X-Received: by 2002:a19:c2:: with SMTP id 185mr328476lfa.149.1610485301193; Tue, 12 Jan 2021 13:01:41 -0800 (PST) MIME-Version: 1.0 References: <87tv1ommhu.fsf@nckx> <20200412232831.5876-1-me@tobias.gr> <20200415224134.2014eee9@scratchpost.org> <87wo4gf334.fsf@waegenei.re> <6591cb7c-601d-dc58-f4a4-10999caecfa9@gmail.com> <87k10gf18g.fsf@waegenei.re> In-Reply-To: <87k10gf18g.fsf@waegenei.re> From: Vincent Legoll Date: Tue, 12 Jan 2021 22:01:29 +0100 Message-ID: Subject: Re: [bug#40579] [PATCH v2] gnu: Add iPXE. To: Brice Waegeneire Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579 Cc: Danny Milosavljevic , 40579@debbugs.gnu.org, Tobias Geerinckx-Rice X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, I'll try to forward-port this latest version, then update to 1.21.1 and resubmit here -- Vincent Legoll From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 12 16:44:42 2021 Received: (at 40579) by debbugs.gnu.org; 12 Jan 2021 21:44:42 +0000 Received: from localhost ([127.0.0.1]:33492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRT0-0004Kv-9M for submit@debbugs.gnu.org; Tue, 12 Jan 2021 16:44:42 -0500 Received: from mail-ed1-f47.google.com ([209.85.208.47]:35842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRSy-0004Kd-Jq for 40579@debbugs.gnu.org; Tue, 12 Jan 2021 16:44:41 -0500 Received: by mail-ed1-f47.google.com with SMTP id b2so4050474edm.3 for <40579@debbugs.gnu.org>; Tue, 12 Jan 2021 13:44:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aN4tGsxYkPqIP1fXNLhNMbWn4zSFjBhjm+C3rcl+zOA=; b=monQGaVizuJTKKSquCfVqVurIIqQ6lqPaiAU+stC9l4o4Ui3GirnMKHusw9oAIHZhJ caAMm4XR4bhwK0Vp6ymoO3fhoNCdrJPTfpw+bLLsxbbOojKwa9tESD15/azmU6yngXgR piPTj4ohiX7YqT97R8r4y/YIpe4R3XRzySnb4fZp/0UPbS6pgOIHfNNcBaxMiaIx0HN1 jsF2DIdr5le1MGhMuEef0s8UvZBJsLKxNF0WV7VH37fnUl63h/ZptzKHUOjAf0sVNmus bZy3I3JROTZ1jcjjYHCtk12g3JsGZy1a7PNtuyTVxAQhsF9p9hhvsABhe5B0w5DXyDud QQOg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=aN4tGsxYkPqIP1fXNLhNMbWn4zSFjBhjm+C3rcl+zOA=; b=l1qleSS/zv/CyoEUHBCC6TM44gKjFu3VOZvPprVJkVjrMJcCc2tPGpAcvV5YDLEQyR k/MG2mKL5nWYNO/Ez4PnjUgEDgU2zBviipEjFQgqqojFOgBTyMrgCcmgM0H9LSVNAjPu XQY347Pk6QKPzteWE84qTK9NRZ1pBgutk9GppzRtyhd+iRKBQ9Xn6RAYtoM0hATmGiVM 1QuiYPWtaRyQPTEaO+4NKouM5/umiUMLSkdCfqe5hRB0BT6QJwmrWU+zxD0m0w1UqAxL CNC8XYdWWb8d4DwweJQXbtZyWSj5NrWy94nA03UY0cJUyVRB5HqxF7TCcAGnDWKCUDeh hFTQ== X-Gm-Message-State: AOAM531Q7+xeFmjdqNVR8viwGZWbt3Tdv7SevK0itE2FAnCmlXyIEQ+k X4HolHToKZeSGE3AWtDtiruCq1TLdBo= X-Google-Smtp-Source: ABdhPJx14CrFN6WlZWkhw8QJhAUaF5PhmCjvR+TiAOrbCAycFsybeycakw9lnngvEhArpQGGLth+5A== X-Received: by 2002:aa7:dcd0:: with SMTP id w16mr938872edu.229.1610487874995; Tue, 12 Jan 2021 13:44:34 -0800 (PST) Received: from localhost.localdomain (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id c14sm2017552edy.56.2021.01.12.13.44.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Jan 2021 13:44:34 -0800 (PST) From: Vincent Legoll To: 40579@debbugs.gnu.org Subject: [PATCH 2/2] gnu: ipxe: Update to 1.21.1. Date: Tue, 12 Jan 2021 22:44:19 +0100 Message-Id: <20210112214419.10004-2-vincent.legoll@gmail.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210112214419.10004-1-vincent.legoll@gmail.com> References: <20210112214419.10004-1-vincent.legoll@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579 Cc: dannym@scratchpost.org, me@tobias.gr, brice@waegenei.re, Vincent Legoll X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/bootloaders.scm (ipxe): Update to 1.21.1. --- gnu/packages/bootloaders.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 38dba4cebd..88abe29a1e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1107,7 +1107,7 @@ order to add a suitable bootloader menu entry.") (let ((timestamp "1591706427")) (package (name "ipxe") - (version "1.20.1") + (version "1.21.1") (source (origin (method git-fetch) (uri (git-reference @@ -1117,7 +1117,7 @@ order to add a suitable bootloader menu entry.") (patches (search-patches "ipxe-reproducible-geniso.patch")) (sha256 (base32 - "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp")))) + "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build utils) -- 2.30.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 12 16:44:51 2021 Received: (at 40579) by debbugs.gnu.org; 12 Jan 2021 21:44:51 +0000 Received: from localhost ([127.0.0.1]:33494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRT0-0004Ky-Gk for submit@debbugs.gnu.org; Tue, 12 Jan 2021 16:44:51 -0500 Received: from mail-ed1-f51.google.com ([209.85.208.51]:34978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRSx-0004Kc-Rk for 40579@debbugs.gnu.org; Tue, 12 Jan 2021 16:44:41 -0500 Received: by mail-ed1-f51.google.com with SMTP id u19so4058392edx.2 for <40579@debbugs.gnu.org>; Tue, 12 Jan 2021 13:44:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ly/L6L6B7VFvI9k0jPdJ/vFQUAn6Mr5w7BCbAVxJHuE=; b=H8GPATCJ/RT2iGLvAlbFN3Wovf8xDS1Nbb1r1W54X7IReisFEZ9vCoZFdx5kycT8hz +GZzP0CC8N89ScfEFtzzp28wViOfDUbCeqKscrDvNc60IzZ/Z9VKwV+lH0JzdndnGVkY sJNlIhGoc1uE5ChVMsVjBTRBRNukH+MOI8oNBTp16CuRdI1nuvTjFgp3mjqb0M9Lv1XW Vn4baunxZyvePhOfEdKWQQyh2m6b2Icr7Mx0qosfuTgkEyp2W6IqypzDMoOlwo8LEVXo 2tl7VCvDvMRlUy/YYDNn/U+ugY9GKWlD27zz2m0v3XxbhBYU5xGEGfTVoBZdfudPHUQF uH/w== 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:mime-version :content-transfer-encoding; bh=Ly/L6L6B7VFvI9k0jPdJ/vFQUAn6Mr5w7BCbAVxJHuE=; b=FxoFJ3CsxrS/kOmgwsm6ZpfIBrtQk4IMQxwi/3jOLITE1o8R7HFzYnqxw5snSG2fO7 0GoHiu13xhAr8v40OPajwoBTnTr6iyuHtEMNhLnt3LxxCyDTvQz7f3VdrW5uSnuSn4hj HwRCxRVHpGPXoEJUQh5TaFISejjCAr73rsXbA49k2ug09i9zbh1aaeeR//FAfRCFl3Li tcydhR+I//81hB+sZ4Uxgjs9glfCMlnpMBP2vQ+RM/rp+4EAHFt+AnCL8KRKDt8KOT83 wIB7kEK6PSy4566FMkrzKwS7oa6GV9pJoUoGs7bb0YODtsvlvttbKV/4y7ll2y6EIT89 +FLA== X-Gm-Message-State: AOAM533W+VnJmEnsdii/zldEJheDAhs1PNHZxCq287Yhx0mGJBR7viGX M1uKIO37oiDoXXXwFv6uLNwQYzMyAD4= X-Google-Smtp-Source: ABdhPJxbL6i/R0s5GqPWavnaIQ8S8btSH+isQHQWfWmQaYvO2cBzkYBkUAWsZq1+EAb5FQDqhZRWSw== X-Received: by 2002:a05:6402:11d3:: with SMTP id j19mr929274edw.314.1610487873847; Tue, 12 Jan 2021 13:44:33 -0800 (PST) Received: from localhost.localdomain (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1]) by smtp.gmail.com with ESMTPSA id c14sm2017552edy.56.2021.01.12.13.44.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Jan 2021 13:44:33 -0800 (PST) From: Vincent Legoll To: 40579@debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add iPXE. Date: Tue, 12 Jan 2021 22:44:18 +0100 Message-Id: <20210112214419.10004-1-vincent.legoll@gmail.com> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579 Cc: dannym@scratchpost.org, me@tobias.gr, brice@waegenei.re, Vincent Legoll X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/bootloaders.scm (ipxe): New variable. * gnu/packages/patches/ipxe-reproducible-geniso.patch: New file … * gnu/local.mk (dist_patch_DATA): … add it. Co-authored-by: Tobias Geerinckx-Rice Co-authored-by: Brice Waegeneire --- gnu/local.mk | 1 + gnu/packages/bootloaders.scm | 125 +++++++++++++++++- .../patches/ipxe-reproducible-geniso.patch | 77 +++++++++++ 3 files changed, 202 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ipxe-reproducible-geniso.patch diff --git a/gnu/local.mk b/gnu/local.mk index bcf7ee0245..eb28104add 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1184,6 +1184,7 @@ dist_patch_DATA = \ %D%/packages/patches/intel-xed-fix-nondeterminism.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/iputils-libcap-compat.patch \ + %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/json-c-CVE-2020-12762.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 9ca574a151..38dba4cebd 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,12 +7,14 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2016, 2017 David Craven ;;; Copyright © 2017, 2018, 2020 Efraim Flashner -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling ;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian ;;; Copyright © 2020 Pierre Langlois +;;; Copyright © 2021 Vincent Legoll +;;; Copyright © 2021 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -1095,3 +1097,124 @@ systems so that they can be added to the bootloader. It also works out how to boot existing GNU/Linux systems and detects what distribution is installed in order to add a suitable bootloader menu entry.") (license license:gpl2+))) + +(define-public ipxe + ;; XXX: 'BUILD_TIMESTAMP' is used to automatically select the newest version + ;; of iPXE if multiple iPXE drivers are loaded concurrently in a UEFI system. + ;; + ;; TODO: Bump this timestamp at each modifications of the package (not only + ;; for updates) by running: date +%s. + (let ((timestamp "1591706427")) + (package + (name "ipxe") + (version "1.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipxe/ipxe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "ipxe-reproducible-geniso.patch")) + (sha256 + (base32 + "0w7h7y97gj9nqvbmsg1zp6zj5mpbbpckqbbx7bpp6k3ahy5fk8zp")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build gnu-build-system) + (guix base32) + (ice-9 string-fun) + (ice-9 regex) + (rnrs bytevectors)) + #:imported-modules ((guix base32) + ,@%gnu-build-system-modules) + #:make-flags + ;; XXX: 'BUILD_ID' is used to determine when another ROM in the + ;; system contains identical code in order to save space within the + ;; legacy BIOS option ROM area, which is extremely limited in size. + ;; It is supposed to be collision-free across all ROMs, to do so we + ;; use the truncated output hash of the package. + (let ((build-id + (lambda (out) + (let* ((nix-store (string-append + (or (getenv "NIX_STORE") "/gnu/store") + "/")) + (filename + (string-replace-substring out nix-store "")) + (hash (match:substring (string-match "[0-9a-z]{32}" + filename))) + (bv (nix-base32-string->bytevector hash))) + (format #f "0x~x" + (bytevector-u32-ref bv 0 (endianness big)))))) + (out (assoc-ref %outputs "out")) + (syslinux (assoc-ref %build-inputs "syslinux"))) + (list "ECHO_E_BIN_ECHO=echo" + "ECHO_E_BIN_ECHO_E=echo -e" + + ;; cdrtools' mkisofs will silently ignore a missing isolinux.bin! + ;; Luckily xorriso is more strict. + (string-append "ISOLINUX_BIN=" syslinux + "/share/syslinux/isolinux.bin") + (string-append "SYSLINUX_MBR_DISK_PATH=" syslinux + "/share/syslinux/isohdpfx.bin") + + ;; Build reproducibly. + (string-append "BUILD_ID_CMD=echo -n " (build-id out)) + (string-append "BUILD_TIMESTAMP=" ,timestamp) + "everything")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ (chdir "src") #t)) + (add-after 'enter-source-directory 'set-options + (lambda _ + (substitute* "config/general.h" + (("^//(#define PING_CMD.*)" _ uncommented) uncommented) + (("^//(#define IMAGE_TRUST_CMD.*)" _ uncommented) + uncommented) + (("^#undef.*(DOWNLOAD_PROTO_HTTPS.*)" _ option) + (string-append "#define " option)) + (("^#undef.*(DOWNLOAD_PROTO_NFS.*)" _ option) + (string-append "#define " option))) + #t)) + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (ipxe (string-append out "/lib/ipxe")) + (exts-re + "\\.(efi|efirom|iso|kkpxe|kpxe|lkrn|mrom|pxe|rom|usb)$") + (dirs '("bin" "bin-i386-linux" "bin-x86_64-pcbios" + "bin-x86_64-efi" "bin-x86_64-linux" "bin-i386-efi")) + (files (apply append + (map (lambda (dir) + (find-files dir exts-re)) dirs)))) + (for-each (lambda (file) + (let* ((subdir (dirname file)) + (fn (basename file)) + (tgtsubdir (cond + ((string=? "bin" subdir) "") + ((string-prefix? "bin-" subdir) + (string-drop subdir 4))))) + (install-file file + (string-append ipxe "/" tgtsubdir)))) + files)) + #t)) + (add-after 'install 'leave-source-directory + (lambda _ (chdir "..") #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("perl" ,perl) + ("syslinux" ,syslinux) + ("xorriso" ,xorriso))) + (home-page "https://ipxe.org") + (synopsis "PXE-compliant network boot firmware") + (description "iPXE is a network boot firmware. It provides a full PXE +implementation enhanced with additional features such as booting from: a web +server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a +wireless network, a wide-area network, an Infiniband network. It allows to +control the boot process with a script. You can use iPXE to replace the +existing PXE ROM on your network card, or you can chainload into iPXE to obtain +the features of iPXE without the hassle of reflashing.") + (license license:gpl2+)))) + diff --git a/gnu/packages/patches/ipxe-reproducible-geniso.patch b/gnu/packages/patches/ipxe-reproducible-geniso.patch new file mode 100644 index 0000000000..ff6aa1da94 --- /dev/null +++ b/gnu/packages/patches/ipxe-reproducible-geniso.patch @@ -0,0 +1,77 @@ +From 052d24d8217c51c572c2f6cbb4a687be2e8ba52d Mon Sep 17 00:00:00 2001 +From: Brice Waegeneire +Date: Fri, 5 Jun 2020 14:38:43 +0200 +Subject: [PATCH] [geniso] Make it reproducible + +Some timestamps get embedded in the generated ISO, making it +unreproducible so we overwrite those timestamps to be at the UNIX epoch. +--- + src/util/geniso | 24 +++++++++++++++++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/util/geniso b/src/util/geniso +index ff090d4a..e032ffb0 100755 +--- a/src/util/geniso ++++ b/src/util/geniso +@@ -11,6 +11,13 @@ function help() { + echo " -o FILE save iso image to file" + } + ++function reset_timestamp() { ++ for f in "$1"/*; do ++ touch -t 197001010100 "$f" ++ done ++ touch -t 197001010100 "$1" ++} ++ + LEGACY=0 + FIRST="" + +@@ -37,8 +44,9 @@ if [ -z "${OUT}" ]; then + exit 1 + fi + +-# There should either be mkisofs or the compatible genisoimage program +-for command in genisoimage mkisofs; do ++# There should either be mkisofs, xorriso or the compatible genisoimage ++# program ++for command in xorriso genisoimage mkisofs; do + if ${command} --version >/dev/null 2>/dev/null; then + mkisofs=(${command}) + break +@@ -46,8 +54,10 @@ for command in genisoimage mkisofs; do + done + + if [ -z "${mkisofs}" ]; then +- echo "${0}: mkisofs or genisoimage not found, please install or set PATH" >&2 ++ echo "${0}: mkisofs, xorriso or genisoimage not found, please install or set PATH" >&2 + exit 1 ++elif [ "$mkisofs" = "xorriso" ]; then ++ mkisofs+=(-as mkisofs) + fi + + dir=$(mktemp -d bin/iso.dir.XXXXXX) +@@ -115,6 +125,8 @@ case "${LEGACY}" in + exit 1 + fi + ++ reset_timestamp "$dir" ++ + # generate the iso image + "${mkisofs[@]}" -b boot.img -output ${OUT} ${dir} + ;; +@@ -127,6 +139,12 @@ case "${LEGACY}" in + cp ${LDLINUX_C32} ${dir} + fi + ++ reset_timestamp "$dir" ++ ++ if [ "${mkisofs[0]}" = "xorriso" ]; then ++ mkisofs+=(-isohybrid-mbr "$SYSLINUX_MBR_DISK_PATH") ++ fi ++ + # generate the iso image + "${mkisofs[@]}" -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -output ${OUT} ${dir} + +-- +2.26.2 -- 2.30.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 12 16:47:29 2021 Received: (at 40579) by debbugs.gnu.org; 12 Jan 2021 21:47:29 +0000 Received: from localhost ([127.0.0.1]:33501 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRVh-0004QJ-9X for submit@debbugs.gnu.org; Tue, 12 Jan 2021 16:47:29 -0500 Received: from mail-lj1-f172.google.com ([209.85.208.172]:35699) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzRVf-0004Q3-Im for 40579@debbugs.gnu.org; Tue, 12 Jan 2021 16:47:28 -0500 Received: by mail-lj1-f172.google.com with SMTP id p13so228939ljg.2 for <40579@debbugs.gnu.org>; Tue, 12 Jan 2021 13:47:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=2hCM+ofs6L0Vei0cpedXBd8Iid2n9Y65q9FmONbybkg=; b=mrCrZ4oy4f4FFC961mDtv8KYG347OKbYvW041/P7WjN2Zc0kCyZZdsHMiQAGZ/UHXx KbBS1yLTSqGAnAIXfAPsL4KFEEpAe4eVeny/BrGTeYmH5FB/ujZZeqNbZ6qVrixXoBmP ITWMB1xzbPJEzFOdnmyyjQ7N+O5qeFKmU08X7UnDFVLFwiELdzIuvap7aK8wStdwyvnu F+DP2Zu4OswJ8KLnkP2jdXbeMjTx1zM+JHfVyycaRcNd1WfC0Od0EjvoDsrQlIpaayBT 6/PdPWBem/ZeGVrXEYBOLEjtU9KIkNje5xUo1RbeCAzWcHA1jPe20/le52b/gnGgoeng gtQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2hCM+ofs6L0Vei0cpedXBd8Iid2n9Y65q9FmONbybkg=; b=jLrQmhSdAdTAY+ZIJsd1acliGz7yHYkhig4Y1nuTk+rPC2vrk3HIC/CAAHhxu4HZBi 5Jk7rmzc+9R3VUoDK5v8Ng42LtnGaLXcTdMEgxmN1B1RuCuyhgHjaWfO/QrlgKvvRYtK 0gb50KTBMk9ncxDCM1vScl5oXwUpkfq6BHIA31B1uFVOy7GkT0XKQKjMEnQ0En9yBmcC UvhDFe6a3XxPMMdYYFCwOb7PMDysAOekToELC03l3dyqHTlhPxCX/8FJYq8tqQ09gez3 +eK3GzrsVvpYAChF3ms25ISuTMr3R4dVBDfz2SZI+qbPCKDUHmjaTEsvBfp/Eu7tzfbi iZYg== X-Gm-Message-State: AOAM532E786ywfnL1pQNOyuy6B68CftljBAB5/BRMJdr1vXmMxyFR8Nx xcU2JErfj9EqmvubXMP2KngZZQqFT/QtVNkKqTuXUs0M X-Google-Smtp-Source: ABdhPJzopyn1AccRgbBcq31YkO+s0+A/Ie5xZgTHiFTvdMZowjp/ABcH+KnHMwqht9GIy4m7EW8olrN25FLp3F8CLWQ= X-Received: by 2002:a2e:9cc3:: with SMTP id g3mr555553ljj.0.1610488041552; Tue, 12 Jan 2021 13:47:21 -0800 (PST) MIME-Version: 1.0 References: <20210112214419.10004-1-vincent.legoll@gmail.com> In-Reply-To: <20210112214419.10004-1-vincent.legoll@gmail.com> From: Vincent Legoll Date: Tue, 12 Jan 2021 22:47:10 +0100 Message-ID: Subject: Re: [PATCH 1/2] gnu: Add iPXE. To: 40579@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579 Cc: Danny Milosavljevic , Tobias Geerinckx-Rice , Brice Waegeneire X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) The 2 versions 1.20.1 & 1.21.1 passed: ./pre-inst-env guix build --rounds=6 successfuly with this package recipe. Thanks for all the involved people ! -- Vincent Legoll From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 13 19:53:25 2021 Received: (at 40579) by debbugs.gnu.org; 14 Jan 2021 00:53:26 +0000 Received: from localhost ([127.0.0.1]:36839 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzqtB-0000LN-Nf for submit@debbugs.gnu.org; Wed, 13 Jan 2021 19:53:25 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:39454) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzqtA-0000LF-3e for 40579@debbugs.gnu.org; Wed, 13 Jan 2021 19:53:24 -0500 Received: from localhost (80-110-127-104.cgn.dynamic.surfer.at [80.110.127.104]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 341EC3364CDA; Thu, 14 Jan 2021 01:53:22 +0100 (CET) Date: Thu, 14 Jan 2021 01:53:18 +0100 From: Danny Milosavljevic To: Vincent Legoll Subject: Re: [PATCH 1/2] gnu: Add iPXE. Message-ID: <20210114015318.17905c82@scratchpost.org> In-Reply-To: References: <20210112214419.10004-1-vincent.legoll@gmail.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/.Yobp/sLcF5+baDfp/A6OXN"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 40579 Cc: 40579@debbugs.gnu.org, Tobias Geerinckx-Rice , Brice Waegeneire X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/.Yobp/sLcF5+baDfp/A6OXN Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Vincent, On Tue, 12 Jan 2021 22:47:10 +0100 Vincent Legoll wrote: > The 2 versions 1.20.1 & 1.21.1 passed: > ./pre-inst-env guix build --rounds=3D6 > successfuly with this package recipe. I've pushed both patches to guix master as commits aeed7218a933054806edd246548346e9edc327c4 and ca34b6f04559adc91c29fc5f7432b37c1486a0c3. Thanks! --Sig_/.Yobp/sLcF5+baDfp/A6OXN Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl//lf4ACgkQ5xo1VCww uqWUIwf8CHRwzQ7s7TCy0UL7/TjEP19JT5MJqgjDDFzRwwjGAKnL4Xb/qUhCoz/3 5pJ8ScVSzjzObNX9+rhyezZOOQfcd5HPn/laatVWOLo42K3FUvNLfjLRQ4qMppkC WQ3t59OG53PCnTY4Kxhj/sbMXj9OWtZU7YQdsHhJS7wNn4tvpbziqGOVgBYGNHlu 6yqWRd3qOnsPcU4a73XlDbtAiM0p+Xrqpx4eo9pUQosIsPg3EmIQmwnco/nWcOtX cze/MiUQGJrpwvZStqsNpEvYPf2ewy12cXnZa+bSDUcP5KIWySQhRe4IiiSn2WkM OeaCLpcYrV5Rd5x1yuXpqJqct/Jtow== =51U4 -----END PGP SIGNATURE----- --Sig_/.Yobp/sLcF5+baDfp/A6OXN-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 14 03:33:45 2021 Received: (at 40579-done) by debbugs.gnu.org; 14 Jan 2021 08:33:45 +0000 Received: from localhost ([127.0.0.1]:37120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzy4e-0004GK-SN for submit@debbugs.gnu.org; Thu, 14 Jan 2021 03:33:45 -0500 Received: from mail-lj1-f175.google.com ([209.85.208.175]:41295) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kzy4b-0004G5-Fb for 40579-DONE@debbugs.gnu.org; Thu, 14 Jan 2021 03:33:43 -0500 Received: by mail-lj1-f175.google.com with SMTP id f11so5497605ljm.8 for <40579-DONE@debbugs.gnu.org>; Thu, 14 Jan 2021 00:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=E0G7A/iyNeUJf+s4sflTEFVOcUqoQJEw1+iSAzZdMZ4=; b=e8FLI1myUo3H0xP/6aIhJrRNYIkeTui2OP0LNnMIUsHdSF9IFJbxI9YcDNsUgDqyE8 +/qfZC0UthpJ/rqLZFcMyRnAyhbH+KJISb5I3lvVBPb1eDx9eDjebAGljkMYAegDTnMG JdRJDzNEwVGjUn68CE7vIk2uZrwdFMDCRPtRLvdJX6Eb62G8S8/lxZiYlrhI+XTkEiYO 6Xhi+51SMMb8xFayHsIU9JncnIIWaT1mEhf+IPbnNRA/ExEgO1Khzi6HKaKd5s5G6xcT 7yzqvbFXB7/tpVzXSLMy+jmQ5AQoej4Rg4fgFLFODNde5bmskMRi0tkeZ0/spnRP9FXv 5Ufg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=E0G7A/iyNeUJf+s4sflTEFVOcUqoQJEw1+iSAzZdMZ4=; b=g2VPVFdpwP5APg8utqwjzIOahXneeLLSGN4IEsps1xMACJUaa0qsRFne6E1Pl0/GW5 81Jz4MZUc4uUsw8ClLN+l/1WXRZBrcBZ9KYpDqnn5kOcAWZ2N/bBVMg76rB8vZtCj+lv OPxaGOKhe7eTOb8AbIa+2Ap6S78ofYE6djlR39ZDIP6psiedSJTkjNp85KbrcIJZLCCz Q90CCCJu9sYypB2IZPie5iWylRC6/pSgjCWfZt84q0AuqFsJR1qLreVlzCKOSH13Y7DW HuDOS22KMp2Mf6/p3JTweYWpzgMcO6zQ0bPStGxHe0dhl/ouc1S6en7bCpFAJeUVMdj4 YF6A== X-Gm-Message-State: AOAM5309dudlJeRKOTUzl/x9C44G1+2sGH0XBJ65iYWwjpa0b/Kjh5rT 82zOlDWeaCVqXCsitKy8w/q6R0sIj+m8A0AGV7x+1X1JGpM= X-Google-Smtp-Source: ABdhPJxrfoxtGKBcE2Vak3XP7ci/W99jxTq/vmQh1KhNxpYSyR7iNTdXiW2UWPp2XTA0swqe4xtM/GFeeJmHMs+i41c= X-Received: by 2002:a2e:9246:: with SMTP id v6mr2587501ljg.221.1610613215329; Thu, 14 Jan 2021 00:33:35 -0800 (PST) MIME-Version: 1.0 From: Vincent Legoll Date: Thu, 14 Jan 2021 09:33:24 +0100 Message-ID: Subject: [RFC PATCH] add iPXE. To: 40579-DONE@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40579-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thanks a lot Danny ! -- Vincent Legoll From unknown Wed Jun 18 23:10:18 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 11 Feb 2021 12:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator