Mageia: systemd Colin Guthrie Mageia Contributor Mageia Contributor
A little about... ...Me!!!
What is Mageia: Background● Mandriva●● Good, strong user community●● Commercial problems●● Mageia●● Community focused, non-commercial●● Most of the original community●● Encourage commercial usage●
How Things Work● Council●● Various groups●● Regular meetings●● Try to be inclusive in terms of packages, but● mindful of resources● Ultimately... it’s a “Meritocracy”● – – Those who do, decide Those who do, decide
Pushing Changes● Each cycle we propose changes●● General review + vote●● Then the fun begins!● – – Usually the week before freeze! Usually the week before freeze!
Boot + Init● Previously used sysvinit●● Various experiments and toe-dipping to speed● up boot performance● More parallelisation●● Start X11 early to improve perceived boot time●● Early systemd packaged as an option●
Why systemd?● See other talks!!●● Sysadmin●● Clear up the mess of sysvinit/inittab/boiler-plate●● Stateful tracking of services●● Automatic restart on failure●● Better tracking of service processes (cgroups)●● Socket activation●
Mageia 2: systemd by default?● Proposal to use systemd as default init●● Proposal accepted o/●● systemd (v44) is the default init in Mageia 2●● sysvinit still supported as an option●
Issues Encountered● Various technical issues encountered● – – Packaging helpers Packaging helpers – – Migrating service state on upgrade Migrating service state – – Forcing conversion to systemd on upgrade Forcing conversion to systemd on upgrade – – Ordering cycles and LSB headers Ordering cycles headers – – Nothing too troubling! Nothing too troubling!
More Issues Encountered● GUI Utilities and Installer● – – Mageia (and Mandriva before) offer a “services” Mageia (and Mandriva before) offer a “services” GUI application during install and for administrators GUI application and for administrators post install post install – – Had to be converted to systemd but also support Had to be converted to systemd but also support sysvinit sysvinit – – Combination of “systemctl list-units”, “systemctl list- Combination of “systemctl list-units”, “systemctl list- unit-files” and “chkconfig --list” unit-files” and “chkconfig --list”
Knock on Dependencies● LVM + Device Enumeration● – – udev metadata more important udev metadata more important – – mkinitrd does not use udev /o mkinitrd does not use udev /o – – Solution? Use dracut o/ Solution? Use dracut o/ – – Mageia 2 only supported systemd+dracut Mageia 2 only supported systemd+dracut – – mkinitrd+sysvinit still officially supported mkinitrd+sysvinit still officially supported
Non-Technical Issues?● Some minor FUD, but nothing significant●● Overall, due to our QA team there were very● few post-release complaints or problems● Hard to judge accurately but ~90%+ users use● systemd
Upstream + X-Distro Engagement● Good relationship upstream●● Several fixes pushed upstream●● Helped upstream QA●● Very encouraging relationships with other● distros● Nice to see small differences disappearing●
What’s Next for Mageia?● Mageia 3● – – Drop support for sysvinit + mkinitrd Drop support for sysvinit mkinitrd – – Implement the /usr move Implement the /usr move – – More disciplined packaging More disciplined packaging ● ● No udev rules in /etc No udev rules in /etc ● ● No tmpfiles configs in /etc No tmpfiles configs in /etc
What’s Next for Mageia?● Mageia 4● – – Tidy up packaging rules Tidy up packaging rules ● ● No referencing of /bin, /sbin and /lib in packaged files No referencing of /bin, /sbin and /lib in packaged files – – Switch to Predictable Network Interface Names Switch to Predictable Network Interface Names – – Attempt to reduce packaging variations Attempt to reduce packaging variations ● ● Enabling/Restarting package on install/upgrade Enabling/Restarting package on install/upgrade ● ● Adopt Package Presets Adopt Package Presets – – Change how X (or $DISPLAYSERVER) starts Change how X (or $DISPLAYSERVER) starts