I’m exploring ways to shave a few seconds off of my boot time, and I came across a post that stated, “my initrd is pretty small–doesn’t really load much–and Arch also defaults to using zstd which is also faster to decompress versus gzip.”

What compression does Pop! use for initrd and the kernel? When I run ls -al /boot, I see files such as 14M vmlinuz-6.4.6-76060406-generic and 119M initrd.img-6.4.6-76060406-generic. Are these compressed?

Lastly, is there a way to choose the compression of these boot files without a custom kernel build? Or is what I’m trying to do “off the beaten path” and going to lead to “you have to compile your own kernel from here on out”?

  • TOR-anon1@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    Go to /etc/initramfs-tools/initramfs.conf and change:

    compress=gzip
    

    to

    compress=ztsd
    

    and run:

    sudo update-initramfs -u -k all
    
    • canadaduane@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      When I check this file, it is already set at COMPRESS=zstd. However, I’m not sure if it’s working as I think, because the vmlinuz-6.4* kernel file is not a zstd file? Maybe it uses zstd for just a portion of the binary…

  • CameronDev@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I’d be curious to know how uncompressed fairs if you test it. But i think you’re really getting into minimal gains territory…

  • surewhynotlem@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I wouldn’t focus on faster decompression.

    Disk read speed is almost always the bottleneck. I think you’ll find that smaller file sizes, even if the decompress takes slightly longer, are faster overall because they save disk I/O.

    YMMV based on your hardware, of course.