Current version of Catalyst support only OpenRC when you build LiveCD. To able build LiveCD with systemd Catalyst should support systemd as well. I made demonstration patch that make possible build LiveCD with systemd. Unfortunately it doesn't ready for production. I don't familiar with Catalyst's codebase very well so I need your help, developers. Any ideas how we can improve Catalyst? Reproducible: Always
Created attachment 442886 [details, diff] bootloader-setup.sh.patch
Created attachment 442888 [details, diff] releng.patch
Adding a systemd option to catalyst capabilities I can agree with. But making a livecd with systemd instead of openrc, why? Is there something special about systemd that is needed for a livecd? The reason I ask, is that pretty much all of the developers that work on these images don't run systemd. So, as long as it works and runs everything needed from a livecd, I don't see the point in making one by people that don't run systemd. Having the option to build one with it instead is perfectly fine for anyone to build their own. We do offer systemd based stages for new installs.
(In reply to Brian Dolbec from comment #3) > Adding a systemd option to catalyst capabilities I can agree with. > > But making a livecd with systemd instead of openrc, why? Is there something > special about systemd that is needed for a livecd? The reason I ask, is > that pretty much all of the developers that work on these images don't run > systemd. So, as long as it works and runs everything needed from a livecd, > I don't see the point in making one by people that don't run systemd. > Having the option to build one with it instead is perfectly fine for anyone > to build their own. > > We do offer systemd based stages for new installs. Well, I am talking about systemd option to catalyst capabilities. Let's focus on this thing. But okay, in additional let's talking about livecd with systemd. It will be pretty well to have livecd with systemd. And I don't push you to replace systemd instead of openrc in general livecd. Instead you can build one more livecd with systemd for those who need it. One major thing that don't work for livecd with openrc is systemd-nspawn. https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html First of all, with systemd-nspawn I can run systemd-tools in container. Chroot can't help me. And with working systemd-tools DevOPs can build fully automate installation with ansible. That what I really need. So, first step - add systemd option to catalyst capabilities. P.S. Second step - prepare units for systemd that replaced openrc stuff. I'm working on it.
Hi! So, can you comment, please?
Comment on attachment 442888 [details, diff] releng.patch >diff --git a/releases/weekly/specs/amd64/installcd-stage1.spec b/releases/weekly/specs/amd64/installcd-stage1.spec >index 94eb7bd..6140cb1 100644 >--- a/releases/weekly/specs/amd64/installcd-stage1.spec >+++ b/releases/weekly/specs/amd64/installcd-stage1.spec >@@ -2,10 +2,10 @@ subarch: amd64 > version_stamp: latest > target: livecd-stage1 > rel_type: default >-profile: default/linux/amd64/13.0/no-multilib >+profile: default/linux/amd64/13.0/systemd Your patch replaces openrc with systemd. Surely we want to keep support for both. > snapshot: latest > source_subpath: default/stage3-amd64-latest >-portage_confdir: @REPO_DIR@/releases/weekly/portage/isos >+portage_confdir: /home/chaser/devel/mirror/releng/releases/weekly/portage/isos I guess that was unintended. > livecd/use: > deprecated >@@ -77,6 +77,7 @@ livecd/packages: > sys-apps/memtester > sys-apps/netplug > sys-apps/sdparm >+ sys-apps/systemd Whitespace. > sys-block/parted > sys-block/partimage > sys-fs/btrfs-progs >diff --git a/releases/weekly/specs/amd64/installcd-stage2-minimal.spec b/releases/weekly/specs/amd64/installcd-stage2-minimal.spec >index ab56ab7..081bf52 100644 >--- a/releases/weekly/specs/amd64/installcd-stage2-minimal.spec >+++ b/releases/weekly/specs/amd64/installcd-stage2-minimal.spec >@@ -5,10 +5,10 @@ rel_type: default > profile: default/linux/amd64/13.0/no-multilib > snapshot: latest > source_subpath: default/livecd-stage1-amd64-latest >-portage_confdir: @REPO_DIR@/releases/weekly/portage/isos >+portage_confdir: /home/chaser/devel/mirror/releng/releases/weekly/portage/isos > >-livecd/bootargs: dokeymap >-livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-elilo-memtest86+-cdtar.tar.bz2 >+livecd/bootargs: dokeymap init=/usr/lib/systemd/systemd >+livecd/cdtar: /usr/share/catalyst/livecd/cdtar/isolinux-elilo-memtest86+-cdtar.tar.bz2 > livecd/fstype: squashfs > livecd/gk_mainargs: --lvm --dmraid --mdadm --makeopts=-j8 > livecd/iso: install-amd64-minimal-latest.iso >@@ -19,7 +19,7 @@ livecd/rcdel: keymaps|boot > boot/kernel: gentoo > > boot/kernel/gentoo/sources: gentoo-sources >-boot/kernel/gentoo/config: @REPO_DIR@/releases/weekly/kconfig/amd64/installcd-3.18.12.config >+boot/kernel/gentoo/config: /home/chaser/devel/mirror/releng/releases/weekly/kconfig/amd64/installcd-3.18.12.config Same as above. > boot/kernel/gentoo/use: > -* > alsa >@@ -105,6 +105,7 @@ livecd/unmerge: > sys-apps/man > sys-apps/man-pages > sys-apps/miscfiles >+ sys-apps/openrc Whitespace. > sys-apps/texinfo > sys-devel/autoconf > sys-devel/autoconf-wrapper
Comment on attachment 442886 [details, diff] bootloader-setup.sh.patch >--- targets/support/bootloader-setup.sh 2016-02-07 07:05:14.000000000 +0200 >+++ /usr/share/catalyst/targets/support/bootloader-setup.sh 2016-07-12 03:33:43.345899888 +0300 >@@ -10,7 +10,7 @@ > check_bootargs > check_filesystem_type > >-default_append_line="root=/dev/ram0 init=/linuxrc ${cmdline_opts} ${custom_kopts} cdroot" >+default_append_line="root=/dev/ram0 ${cmdline_opts} ${custom_kopts} cdroot" > [ -n "${clst_splash_theme}" ] && default_append_line="${default_append_line} splash=silent,theme:${clst_livecd_splash_theme} CONSOLE=/dev/tty1 quiet" > > case ${clst_hostarch} in Again, you are replacing the alternative instead of adding support for alternatives.
(In reply to Jeroen Roovers from comment #7) > Comment on attachment 442886 [details, diff] [details, diff] > bootloader-setup.sh.patch > > >--- targets/support/bootloader-setup.sh 2016-02-07 07:05:14.000000000 +0200 > >+++ /usr/share/catalyst/targets/support/bootloader-setup.sh 2016-07-12 03:33:43.345899888 +0300 > >@@ -10,7 +10,7 @@ > > check_bootargs > > check_filesystem_type > > > >-default_append_line="root=/dev/ram0 init=/linuxrc ${cmdline_opts} ${custom_kopts} cdroot" > >+default_append_line="root=/dev/ram0 ${cmdline_opts} ${custom_kopts} cdroot" > > [ -n "${clst_splash_theme}" ] && default_append_line="${default_append_line} splash=silent,theme:${clst_livecd_splash_theme} CONSOLE=/dev/tty1 quiet" > > > > case ${clst_hostarch} in > > Again, you are replacing the alternative instead of adding support for > alternatives. Thank you for review. I think "init=/linuxrc" should be removed from default_append_line because if we planning support different inits then it can't be default parameter. Instead let's put "init=/linuxrc" in (for example) releng/releases/weekly/specs/amd64/installcd-stage2-minimal.spec
ping
Created attachment 450218 [details, diff] bootloader-setup.sh.patch This patch removes init=/linuxrc from default kernel params. Reasons to remove: * Builded install-amd64-minimal-latest.iso from installcd-stage2-minimal.spec works fine without this parameter. * We should avoid pushing any init as default parameter because it breaks other init systems (systemd for example). * If this parameter really must be in target iso image, then it should be declared in .spec file.