[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A plan for parameterized packages
From: |
Denis 'GNUtoo' Carikli |
Subject: |
Re: A plan for parameterized packages |
Date: |
Wed, 18 Nov 2020 02:30:15 +0100 |
On Sun, 15 Nov 2020 22:24:29 +0100
raingloom <raingloom@riseup.net> 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.
pgpi6JPGckjtD.pgp
Description: OpenPGP digital signature
- Re: A plan for parameterized packages, (continued)
- Re: A plan for parameterized packages, Taylan Kammer, 2020/11/15
- Re: A plan for parameterized packages, Danny Milosavljevic, 2020/11/15
- Re: A plan for parameterized packages, raingloom, 2020/11/15
- Re: A plan for parameterized packages,
Denis 'GNUtoo' Carikli <=
- Re: A plan for parameterized packages, Ludovic Courtès, 2020/11/20
- Re: A plan for parameterized packages, zimoun, 2020/11/20
- Re: A plan for parameterized packages, Christopher Baines, 2020/11/20
Re: A plan for parameterized packages, Ludovic Courtès, 2020/11/16
Re: A plan for parameterized packages, Stephen Christie, 2020/11/17