Description

The compressed image of e.g. SLE Micro 6.0 is ~ 900Mb. ** The overall goal of this project is to make a smaller footprint (in terms of image size) flavor of the image. This is to be achieved by limiting the target use-case to simple RPi (4, 400, Pi Zero 2) server for home IoT. **

Why? Why not, making things small doesn't hurt for IoT use-cases

Goals

  • Play around to identify parts that are not relevant for this use-case while not removing any fundamental features
  • Remove these by customizing the image in Open Build Service / Kiwi.
  • Write something up about this journey

Resources

RPi (4, 400 or Zero 2)

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 24

Activity

  • about 1 month ago: bmwiedemann liked this project.
  • about 1 month ago: llansky3 started this project.
  • about 1 month ago: llansky3 originated this project.

  • Comments

    • bmwiedemann
      about 1 month ago by bmwiedemann | Reply

      There are some parts that can be dropped without much downsides. E.g.

      • /usr/share/doc/
      • drivers /usr/lib/modules/*/kernel/drivers/infiniband etc (there are 191 MB of mostly compressed data)

      and maybe a stronger compression can be used (xz -9 or zstd -19)

    • bmwiedemann
      about 1 month ago by bmwiedemann | Reply

      iosc ls -vb SUSE:ALP:Products:Marble:6.0:PubClouds:ReleaseCandidate SLE-Micro:EC2 images-ndb/x86_64 shows 351375912 Sep 12 09:51 SLE-Micro-6-0.x86_64-1.0.0-EC2-Build1.31.raw.xz

      where is that 900MB image you talk about?

      iosc ls -vb Devel:PubCloud:CrossCloud:Micro:6.1 SLE-Micro:EC2 is 340M

      • llansky3
        about 1 month ago by llansky3 | Reply

        Hello Bernhard, thanks for comments! I am talking about e.g. SL-Micro.aarch64-6.0-Base-Build11.1.raw.xz (https://download.suse.de/ibs/SUSE:/ALP:/Products:/Marble:/6.0:/PUBLISH/images/). That is ~900Mb.

        • bmwiedemann
          about 1 month ago by bmwiedemann | Reply

          This is built in SUSE:ALP:Products:Marble:6.0:PUBLISH/SL-Micro (in the Base multibuild flavor)

    • llansky3
      about 1 month ago by llansky3 | Reply

      The IBS project used for this for now: https://build.suse.de/project/show/home:llansky3:SLE-Micro-60-Lite. Removing kernel-firmwares (without touching the kernel itself for now) for other platforms caused compressed image size reduction from 815MiB to 341MiB.

    • llansky3
      about 1 month ago by llansky3 | Reply

      Ok, the further optimization journey (basically getting rid busybox, ModemManager and adjusting the kernel configuration) is described here:

      https://confluence.suse.com/display/~llansky3/Micro+6.0+-+Footprint+Optimization

      The resulting compressed image size is 290MiB. I am not planning to go further and just write things up now to something publishable.

      Thoughts on that: * Part 1 - How big is SLE Micro 6.0? This would just these treemap figures showing what takes most of the space in the image and in the kernel. * Part 2 - The optimization journey as in the above confluence.

      Would these be interesting to read you think for anyone? Thanks for comments.

    • llansky3
      about 1 month ago by llansky3 | Reply

      Another outcome of this project is: https://github.com/llansky3/howbigami python script to visualize the sizes of different components.

    Similar Projects

    This project is one of its kind!