Packaging/Consolidation
From GalliumOS Wiki
< Packaging
Revision as of 18:52, 21 August 2016 by Reynhout (talk | contribs) (Created page with "__NOTOC__ <div style="background-color:#fee;border:1px solid red;padding:0.2em;">'''WIP''': notes on packaging/image reorg.</div> == Goals == * Simplify support by building...")
WIP: notes on packaging/image reorg.
Goals
- Simplify support by building a single GalliumOS distribution image:
galliumos-xenon-2.1.iso
- Currently shipping six hardware-specific images
- baytrail, broadwell, broadwell-cbox, haswell, haswell-cbox, sandy
- Will add two to four more soon:
- braswell, skylake, possibly samus and/or hidpi
- Currently shipping six hardware-specific images
Prerequisites
- Consolidate existing hardware-specific GalliumOS packages into a single package
- (or possibly merge them all into
galliumos-core
andgalliumos-desktop
)
- (or possibly merge them all into
Issues
- All customization in packages must be done at (first?) boot, not package install time
- Booting from the Live Image must be customized for the model
- Images are built on a single machince (VM, non-GalliumOS)
- Some customizations must be in place early in the boot process
- Where not possible, they can be configured for the next boot (not useful for Live Image boot)
Customizations
Categories
- kernel and kernel modules, e.g.:
-
/etc/modprobe.d/iwlwifi-opts.conf
-
- systemd config, e.g.:
-
/lib/systemd/system-sleep/wifi.sh
-
- services config, e.g.:
-
/etc/pulse/default.pa
-
- user config, e.g.:
-
/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
-
Limitations
- All images must boot a single kernel
Methods
Detection
- Model detection via
dmidecode -s system-product-name
-
Peppy
-
- CPU detection via
dmidecode -s processor-version
as fallback-
Intel(R) Celeron(R) 2955U @ 1.40GHz
-
- Display resolution detection for selecting HiDPI pkg?
- Some models (YUNA) ship with identical CPU (3205U) for both 1366x and 1920x displays
- Can't detect by the usual methods (xdpyinfo, xrandr) in early boot -- no X server running
Process
- A
systemd
one-shot could set config files before reaching an early target- Existing
galliumos-laptop
service does some model detection, but it is late in the boot - Should work well for Customization categories #3 and #4; might work for #2, probably can't work for #1.
- Existing
- Configurator could detect user-changed files by timestamp and checksum
- What to do if there is a newer GalliumOS update?