* [bug#40514] Should we shrink the installer by a gig or so?
@ 2020-04-08 20:56 Tobias Geerinckx-Rice via Guix-patches via
2020-04-08 21:01 ` [bug#40514] [PATCH] vm: Transparently compress iso9660 images Tobias Geerinckx-Rice via Guix-patches via
0 siblings, 1 reply; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-04-08 20:56 UTC (permalink / raw)
To: 40514
[-- Attachment #1: Type: text/plain, Size: 1353 bytes --]
Guix,
I've met at least someone who was worried that Guix wouldn't
support their System ‘because the installer fell back to text
mode’. They didn't mean nomodeset: obviously a 1.5-GiB ISO must
be hiding a full desktop somewhere, not just the interface of a
text-mode netinstaller image about 2.5% its total size:
$ du -h Downloads/trisquel-netinst_8.0_amd64.iso
37M …
$ du -h /gnu/store/l005v0ssz34gz5mrg3vpr51sq8sry8wp-image.iso
1.5G …
Now I'm not suggesting we add Gnome (yet), but how about reducing
the size by 60% for 1.1.0?
du -h /gnu/store/jcpg5wsflpymiq3vx929wq2cr0qbw44f-image.iso
561M …
Our CD image finally fits on a CD! Remember those? I try not to.
It also fits onto the ~100 1-‘GB’ USB drives I have in a box and
can now finally give away as Guix installers.
Zisofs is a somewhat obscure, Linux-specific extension to Rock
Ridge that transparently (de)compresses file data using zlib. Our
linux-libre already supports it. As far as the system is
concerned it's just a regular iso9660 file system.
Unlike squashfs (with which I'm currently playing) it requires
zero further changes to the creation or boot process that could
introduce new bugs. Hence I'm hopeful that this can be tested and
merged in time for the next release.
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#40514] [PATCH] vm: Transparently compress iso9660 images.
2020-04-08 20:56 [bug#40514] Should we shrink the installer by a gig or so? Tobias Geerinckx-Rice via Guix-patches via
@ 2020-04-08 21:01 ` Tobias Geerinckx-Rice via Guix-patches via
2020-04-09 21:34 ` Danny Milosavljevic
0 siblings, 1 reply; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2020-04-08 21:01 UTC (permalink / raw)
To: 40514
* gnu/build/vm.scm (make-iso9660-image): Use the ‘--zisofs’ xorriso
filter at the highest compression settings for supported directories.
---
gnu/build/vm.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 79eed48c1f..972eb4bdf9 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -533,6 +533,24 @@ GRUB configuration and OS-DRV as the stuff in it."
;; Set all timestamps to 1.
"-volume_date" "all_file_dates" "=1"
+ ;; ‘zisofs’ compression reduces the total image size by ~60%.
+ "-zisofs" "level=9:block_size=128k" ; highest compression
+ ;; It's transparent to our Linux-Libre kernel but not to GRUB.
+ ;; Don't compress the kernel, initrd, and other files read by
+ ;; grub.cfg, as well as common already-compressed file names.
+ "-find" "/" "-type" "f"
+ ;; XXX Even after "--" above, and despite documentation claiming
+ ;; otherwise, "-or" is stolen by grub-mkrescue which then chokes
+ ;; on it (as ‘-o …’) and dies. Don't use "-or".
+ "-not" "-wholename" "/boot/*"
+ "-not" "-wholename" "/System/*"
+ "-not" "-name" "unicode.pf2"
+ "-not" "-name" "bzImage"
+ "-not" "-name" "*.gz" ; initrd & all man pages
+ "-not" "-name" "*.png" ; includes grub-image.png
+ "-exec" "set_filter" "--zisofs"
+ "--"
+
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"
--
2.25.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#40514] [PATCH] vm: Transparently compress iso9660 images.
2020-04-08 21:01 ` [bug#40514] [PATCH] vm: Transparently compress iso9660 images Tobias Geerinckx-Rice via Guix-patches via
@ 2020-04-09 21:34 ` Danny Milosavljevic
2020-04-10 0:02 ` bug#40514: " Tobias Geerinckx-Rice via Guix-patches via
0 siblings, 1 reply; 4+ messages in thread
From: Danny Milosavljevic @ 2020-04-09 21:34 UTC (permalink / raw)
To: 40514; +Cc: me
[-- Attachment #1: Type: text/plain, Size: 2016 bytes --]
Hi T G-R,
On Wed, 8 Apr 2020 23:01:32 +0200
Tobias Geerinckx-Rice via Guix-patches via <guix-patches@gnu.org> wrote:
> * gnu/build/vm.scm (make-iso9660-image): Use the ‘--zisofs’ xorriso
> filter at the highest compression settings for supported directories.
> ---
> gnu/build/vm.scm | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
> index 79eed48c1f..972eb4bdf9 100644
> --- a/gnu/build/vm.scm
> +++ b/gnu/build/vm.scm
> @@ -533,6 +533,24 @@ GRUB configuration and OS-DRV as the stuff in it."
> ;; Set all timestamps to 1.
> "-volume_date" "all_file_dates" "=1"
>
> + ;; ‘zisofs’ compression reduces the total image size by ~60%.
> + "-zisofs" "level=9:block_size=128k" ; highest compression
> + ;; It's transparent to our Linux-Libre kernel but not to GRUB.
> + ;; Don't compress the kernel, initrd, and other files read by
> + ;; grub.cfg, as well as common already-compressed file names.
> + "-find" "/" "-type" "f"
> + ;; XXX Even after "--" above, and despite documentation claiming
> + ;; otherwise, "-or" is stolen by grub-mkrescue which then chokes
> + ;; on it (as ‘-o …’) and dies. Don't use "-or".
> + "-not" "-wholename" "/boot/*"
> + "-not" "-wholename" "/System/*"
> + "-not" "-name" "unicode.pf2"
> + "-not" "-name" "bzImage"
> + "-not" "-name" "*.gz" ; initrd & all man pages
> + "-not" "-name" "*.png" ; includes grub-image.png
> + "-exec" "set_filter" "--zisofs"
> + "--"
> +
> "-volid" (string-upcase volume-id)
> (if volume-uuid
> `("-volume_date" "uuid"
LGTM!
Tested it and it works, and I see no downside either.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-04-10 0:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-08 20:56 [bug#40514] Should we shrink the installer by a gig or so? Tobias Geerinckx-Rice via Guix-patches via
2020-04-08 21:01 ` [bug#40514] [PATCH] vm: Transparently compress iso9660 images Tobias Geerinckx-Rice via Guix-patches via
2020-04-09 21:34 ` Danny Milosavljevic
2020-04-10 0:02 ` bug#40514: " Tobias Geerinckx-Rice via Guix-patches via
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).