From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id CGTqF5x4tl+QBgAA0tVLHw (envelope-from ) for ; Thu, 19 Nov 2020 13:52:28 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id EGa8E5x4tl8uUgAAB5/wlQ (envelope-from ) for ; Thu, 19 Nov 2020 13:52:28 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 20B479401CD for ; Thu, 19 Nov 2020 13:52:28 +0000 (UTC) Received: from localhost ([::1]:47152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfkMN-0003Ve-3O for larch@yhetil.org; Thu, 19 Nov 2020 08:52:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:36312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfCLE-00079m-Li for guix-devel@gnu.org; Tue, 17 Nov 2020 20:33:01 -0500 Received: from cyberdimension.org ([80.67.179.20]:42452 helo=gnutoo.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1kfCLA-0002eg-9s for guix-devel@gnu.org; Tue, 17 Nov 2020 20:33:00 -0500 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id d6c41f62; Wed, 18 Nov 2020 01:28:11 +0000 (UTC) Received: from primarylaptop.localdomain (localhost.localdomain [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 02ab8e4f; Wed, 18 Nov 2020 01:28:11 +0000 (UTC) Date: Wed, 18 Nov 2020 02:30:15 +0100 From: Denis 'GNUtoo' Carikli To: raingloom Subject: Re: A plan for parameterized packages Message-ID: <20201118023015.35be5a4b@primarylaptop.localdomain> In-Reply-To: <20201115222429.40243606@riseup.net> References: <87eeku8trb.fsf@gnu.org> <20201115214658.41223d15@scratchpost.org> <20201115222429.40243606@riseup.net> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/X/MFv+hWmK47wt160PhLal2"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=80.67.179.20; envelope-from=GNUtoo@cyberdimension.org; helo=gnutoo.cyberdimension.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/17 20:32:51 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 19 Nov 2020 08:52:14 -0500 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -0.11 X-TUID: bnXVLV2AdX+V --Sig_/X/MFv+hWmK47wt160PhLal2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 15 Nov 2020 22:24:29 +0100 raingloom wrote: > Alpine already achieves an incredibly tiny install size by splitting > packages into many outputs. We could and should do the same. > As far as I know, they do not have parameterized packages. That also depends on how far you want to go. Last time I looked into how LibreCMC/OpenWRT did that, they had much more optimization than that. If I recall well, they use at least: - sstrip to strip binaries as much as they could. sstrip produces smaller binaries than with strip. - compilation flags like -Os - a read-only compressed filesystem with an overlay to store the changes The issue is that despite all that, the size of the images tend to increase too rapidly over time[1]. If we manage to shrink Guix enough, it might be possible to use it on way more devices, including RYF compliant devices or potentially certifiable devices: - The Talos II BMC has 32M according to both the wiki[2] and the image sizes[4]. Its architecture is ARM. So once we have the PPC64 architecture working, it would be great to be able to run Guix both in the BMC and on the PowerPC CPU. That BMC is also available on other mainboards like the D16 which is supported by Libreboot, but the flash size is probably even smaller there. - Many WiFi access point have very few flash space. It can boils down to as low as 16M for LibreCMC/OpenWRT compatible devices, or even 8M for older devices. However they typically use the MIPS architecture which isn't supported yet in Guix. - There is a GNU/Linux distribution[6] that runs inside the flash chip where Libreboot or Coreboot typically runs. The goal is to enable more flexible and/or secure booting by using GNU/Linux to boot GNU/Linux. Here too the flash chip of computers supported by Libreboot can be quite small, like 8M for Thinkpads with GM45 chipsets. In some case it might be possible to increase the flash chip size (sometimes you don't need soldering for that), but at least with x86 mainboards, the chipset has limits on the size of the flash chip that it can see. And the size cannot be increased that much: The biggest flash chip that flashrom supports is 256M. References: ----------- [1]https://openwrt.org/supported_devices/864_warning [2]The wiki[3] mention a MX25L25635F/MX25L25645E/MX25L25665E flash chip which is 32M according to flashrom -L [3]https://wiki.raptorcs.com/wiki/Debricking_the_BMC#Flash_new_BMC_firmware= _via_serial_port_.28Open_Source_Method.29 [4]Once uncompressed the image[5] size (for installation through the shell) is 32M. [5]https://wiki.raptorcs.com/wiki/File:Talos-ii-openbmc-v2.00-bundle.tar [6]https://github.com/osresearch/heads/ [7]https://github.com/osresearch/heads/tree/master/config Denis. --Sig_/X/MFv+hWmK47wt160PhLal2 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAl+0eScACgkQX138wUF3 4mO2rQ//WLt1rHltX4qY8FdMG7y6fTEoQ1pSAc+RrwdmG5NChSqf+wuT5t72JVja E85t4MMB1sWSPGxiAlayH/HIWeF7a2jzNEblPdLjDd0IlzJlQ7dHhKMg1OvZgXKc wgESAgy/Dw8erc32mATvLdYUyMlcZRm2cuDpsnoxa12FcTMtBYBU1lke4G4qlq9M wUGysXmhDKC4vYpyCpXrKuDqwmA8kr292RBCmsoOTA+q26yGQ/0UqBSCvG9UP82X cI4JvG1HPjJh0I79dR6GlkWSbLP/J5RXJUzyupoOF3dEmav92YoRi/dAY6LlkODK t/GFd+wJcvFEumXagQqznKZlUlMSrL2R/w/Hfbkf1pSWroI53LwPHIvL90hc3WI8 Mgmx33m/LlhLxlMszbpIAtNwErHZyY6OfvzrHM2JnvhWpjltenOdaLvkXhwLScXT f1gtohRLQSOz+r0hsCTd2yEOlYI0vwtvo7txSPaa3YUnc0EV7HJ/ZOUA9xhjRopP XyntpVOn/YcPRAyRfD7Siq73je3vXpBPaY2VMD+HCuL8zJOXOUkielwL/2RfW+Mi RlHv7LpevoWbGqrYiF89/0aYVPXNM7RQzdxZYOcrbSCChu8KBSk6kk3b+a2zubjw QRHcoMATC82cCOoUO8PtYUg20kotQlklf6AkJ9opqwjY7sdZ7rU= =cSc6 -----END PGP SIGNATURE----- --Sig_/X/MFv+hWmK47wt160PhLal2--