subgraph / citadel

Subgraph Citadel image builder
17 stars 14 forks source link

Implement Resource Packs #5

Open brl opened 6 years ago

brl commented 6 years ago

Resource Packs are ext2 formatted disk image files, similar to the rootfs image files. Rather than being written to a disk partition they are loopback mounted and contain metadata which describes how to bind mount the internal contents over the rootfs file tree.

Similar to how the rootfs file images are managed, the resource pack images are secured with a signed dm-verity hash.

This feature will solve a couple of important problems:

  1. The rootfs currently contains some very large packages containing things that will rarely or never need to be changed.

    • 68MB: /lib/firmware
    • 55MB: Icon theme
    • 19MB: Desktop background images
    • 13MB: Adapta Gtk/Gnome theme
    • 15MB: Locale data only for one locale (en_US)
    • ... and possibly more
  2. Due to requirement of keeping the rootfs image as small as possible, we cannot include multiple locales. Also we have carefully chosen what looks like the most important firmware, then cross our fingers and hope everybody's hardware will work.

Having this feature will allow us to support things like extra language packs, and allow pretty much any custom configuration that anybody could want on top of the base rootfs image.