User talk:Zlg/Drafts/Gentoo without systemd

From Gentoo Wiki
Jump to:navigation Jump to:search

First boot

I fail at using wiki. Please see here. --Zucca

I was working on expanding this page to include your feedback, but I left a browser session open when the power went out in my apartment complex... I'll try to come back to this and rewrite it, but I had 3 whole sections and a bunch of relevant tabs open, instructions for both GRUB legacy and GRUB2, etc. Very disappointing and demotivating... To prevent others from being left in the cold, here's roughly how it should work:
  • Mask sys-apps/systemd
  • install the init system you want
  • configure the bootloader to use the new init (usually just removing the "init=" part if you're okay with sysvinit with OpenRC on top, which is default)
  • restart the system using systemctl isolate reboot.target.
  • When you confirm the system boots with the new init system, remove systemd for good with emerge --ask --depclean sys-apps/systemd, or clean your whole system using plain --depclean.
This process avoids the problem that you ran into where systemd was removed before booting into the new init. (Apologies for poor formatting, MediaWiki doesn't appear to let me delimit an entire reply. The list should be indented a level further.) Zlg (talk) 09:14, 2 November 2017 (UTC)
Dang. Power outages are cancer. :( Anyway. You should maybe mention that there may be some/several blockages when replacing systemd components with seperate packages, like consolekit/elogind. I had the gentoo-systemd-integration package one causing the "hardest to solve" blokages and I had to resort to doing emerges using --exclude some/package and on later stages I needed to --unmerge one or two packages. But right after I emerged the replacements and everything was fine. I could look into my emerge.log if you want the exact actions I did.
Only thing that's not working is openrc-init. This is why I'm using the default SysVinit.
--Zucca (talk) 11:42, 3 November 2017 (UTC)
Good catch wrt gentoo-systemd-integration. I checked its dependencies, and all it depends on is systemd. If one correctly masks systemd, the package should automatically be marked for removal by --depclean, *after* emerge @world (thus getting OpenRC or whatever other init). It's important to remove systemd after booting into the new init, rather than before. I'll be sure to include a note about it in my next edit. Perhaps a chroot is in order so I can test the instructions! :) If you could e-mail me your emerge.log, I'll look it over while I'm working on it. Blockers shouldn't be happening if we do it right. At worst, a --backtrack=30 or something similar should resolve any issues we run into. I have time this week, so I'll try to get back on the horse! :) --Zlg (talk) 18:59, 8 November 2017 (UTC)