Jump to content

Photo

Systemd


27 replies to this topic

#1
l33tlinuxh4x0r

l33tlinuxh4x0r

    Newbie

  • Members
  • Pip
  • 7 posts
  • LocationUSA

Will funtoo ever support systemd? I know that everyone hates it but I think that we should at least support it along side openrc. Personally I like openrc better too but I wanted to try out systemd to see if it fixes some of the bugs with gnome 3.14 and to see just how fast I can get my computer to boot. Also correct me if I'm wrong but it is needed for wayland too, right? If not is there a funtoo tutorial on how to switch to wayland?



#2
nrc

nrc

    Advanced Member

  • Members
  • PipPipPip
  • 49 posts
  • LocationColumbus, Ohio, USA

There are plenty of distros that support systemd.  I believe that it's important that someone is doing the work to make a Linux distro that works without systemd.   The developers are tackling a complicated problem with upstream projects that are not always supportive (one might even say they're hostile) to their goal.   Unless the goal is to attract more users for the sake of having more users it makes no sense to compromise that effort by splitting the userbase and the development effort between installs with and without systemd.


  • Tassie_Tux, Philipp Ludwig, moonfrog and 2 others like this

#3
l33tlinuxh4x0r

l33tlinuxh4x0r

    Newbie

  • Members
  • Pip
  • 7 posts
  • LocationUSA

Well I'm currently working on installing systemd. It is kind of a pain as funtoo has removed support for it from some ebuilds. I just grabbed the offending ebuilds from the gentoo portage tree. I will write up a short tutorial of my steps when I'm done if everything works out. It is sad that gnome and everyone else is forcing systemd but it looks like they are winning and if you want the latest and greatest you have to use it or wait for the devs to patch it to work with openrc. I love funtoo but I also love bleeding edge. I would hate to have to leave funtoo just because I can't use systemd which I stated earlier that I hate anyway.



#4
l33tlinuxh4x0r

l33tlinuxh4x0r

    Newbie

  • Members
  • Pip
  • 7 posts
  • LocationUSA

OK I have systemd working on funtoo. The biggest difference is not only the boot time but also the time GDM takes to load. GDM loads almost instantly now, before with openrc GDM took about 5 seconds to load. I don't seem to have any other major problems. Tutorial coming soon.

 

OK here it is... How to use systemd in funtoo:

 

Go to gpo.zugaina.org and get the latest versions of the following pacakages from gentoo's version of portage

virtual/libudev
virtual/libgudev 
virtual/udev 
sys-apps/util-linux

Next add the following to USE= in /etc/portage/make.conf

systemd gudev -static-libs

run the following

echo "sys-fs/lvm2 -static" >> /etc/portage/pacakge.use

Then comes the scary part... removing packages. This may or may not be necessary. I found that it fixed blocks when emergeing systemd. (the packages are added back later anyway so not to worry)

emerge --unmerge virtual/libudev virtual/libgudev virtual/udev sys-auth/nss-myhostname lvm2

Now to install systemd run the following

emerge -v --oneshot virtual/libudev virtual/libgudev virtual/udev && emerge -v systemd

Finally do the following to update all affected packages.

emerge -NuvD world

The final steps are to rebuild your kernel enabling systemd which may not be necessary and then telling grub to use systemd. Add the following to /etc/boot.conf with the other kernel params.

params += init=/usr/lib/systemd/systemd

Once you are done with that all you have to do is run

boot-update

Now you can reboot and enjoy systemd. Note you might have to add networkmanager and gdm to systemctl to get them to start automatically. That can be accomplished by doing the following.

systemctl enable NetworkManager.service && systemctl enable gdm.service

One last configuration step is to set your hostname and you are done!

hostnamectl set-hostname <HOSTNAME>

I hope that this helps everyone who is trying to get systemd working on funtoo. Enjoy!


  • Deklan™ likes this

#5
spectromas

spectromas

    Advanced Member

  • Members
  • PipPipPip
  • 81 posts

My computer boots faster with openrc than it ever did with systemd. Somehow I get the feeling you want a 46 page flame debate though. 


  • Deklan™ likes this

#6
l33tlinuxh4x0r

l33tlinuxh4x0r

    Newbie

  • Members
  • Pip
  • 7 posts
  • LocationUSA

My computer boots faster with openrc than it ever did with systemd. Somehow I get the feeling you want a 46 page flame debate though. 

 

Thats good for you. I don't want a flame debate either, I just wanted to post this in case it helps someone else.



#7
Deklan™

Deklan™

    Member

  • Members
  • PipPip
  • 12 posts

@l33tlinuxh4x0r

You created the files for automatic loading of kernel modules /etc/modules-load.d/?

 

In the notebook I use Gentoo systemd 100% ;)

.. although it is so controversial that even took a beating in Funtoo Google+ page on this subject


sing-funtoo.jpg


#8
jorgicio

jorgicio

    Advanced Member

  • Members
  • PipPipPip
  • 58 posts
  • LocationViña del Mar

Did you set the kernel settings before installing systemd?

 

http://wiki.gentoo.org/wiki/Systemd


  • Deklan™ likes this

#9
uudruid74

uudruid74

    Advanced Member

  • Members
  • PipPipPip
  • 134 posts
  • LocationDallas, TX USA
l33t- do you really expect anyone to take you seriously with that name? I'm really curious just how much faster its really booting - are we talking 2 or 3 seconds, or 10 or 15? And how many services are simply delayed to continue start-up after gdm has loaded? Perhaps a better test would be to have the system boot straight to the desktop without a login. Other questions: 1 - Have you compared to OpenRC's parallel option? 2 - Have you tried changing /bin/sh to point to dash instead of bash? This will make your scripts run faster as long as they don't require bash extensions. I know a couple or packages seem to expect /bin/sh to have bash extensions when you emerge them, so expect problems. I hope to have some real information on how these two affect performance and if they are worth it very soon now. The Gentoo flame war is only up to 30 pages, not 46

https://github.com/u.../bashTheObjects -- Object Oriented Programming in BASH !!
https://eddon.systems -- Stuff I'm Working on.


#10
l33tlinuxh4x0r

l33tlinuxh4x0r

    Newbie

  • Members
  • Pip
  • 7 posts
  • LocationUSA

l33t- do you really expect anyone to take you seriously with that name? I'm really curious just how much faster its really booting - are we talking 2 or 3 seconds, or 10 or 15? And how many services are simply delayed to continue start-up after gdm has loaded? Perhaps a better test would be to have the system boot straight to the desktop without a login. Other questions: 1 - Have you compared to OpenRC's parallel option? 2 - Have you tried changing /bin/sh to point to dash instead of bash? This will make your scripts run faster as long as they don't require bash extensions. I know a couple or packages seem to expect /bin/sh to have bash extensions when you emerge them, so expect problems. I hope to have some real information on how these two affect performance and if they are worth it very soon now. The Gentoo flame war is only up to 30 pages, not 46

I did not use dash or the openrc parallel boot option although I have used the later in the past. It only speeds it up by about 1-2 seconds but there is a noticible differnece in how long it takes gdm to finish setting up from the point when the screen goes black to when you can actually log in. It may have soemthing to do with gnome trying to force systemd. I think that it is because openrc is emulating systemd and that causes a performance slowdown.

 

Off Topic: Not to start a flame war but everyone tells me that binary distros are better than source based distros which always bugged me because I hated binary distros. Well becuase of my issues with systemd and openrc I decided to try another distro (arch linux). To my amazement I have it up and running exactly like my funtoo box in only 30 minutes instead of hours for an install. I am going to run it for a bit and if I hate it I will be back to funtoo as my daily driver. So far I'm impressed. Not as configureable as funtoo but the install times are so much faster since you don't have to compile anything. Just my 2 cents.



#11
digifuzzy

digifuzzy

    Advanced Member

  • Members
  • PipPipPip
  • 95 posts
  • LocationCanada
I am a "systemd refugee". I chose to leave other distributions because of their insistence on using software that caused me all sorts of grief. A program/daemon cannot exist that saves devs/admins from themselves. I should not have to resort to pkill to take down a service. Its not about being a control freak, but does the user have control over the computer without being second guessed by some arbitrary program? With funtoo, I have that assurance the computer will do exactly what I tell it and if it fails I have the confidence to correct without shrugging my shoulders at the machinations of some undocumented black box program.

edited...

As has been pointed out - sure there are "needs" for systemd as other applications or libraries depend on it. I am greatful that funtoo doesn't enable this by default. For those who are "ripping out" these dependencies - Kudos! Please keep doing that. And to the funto admins - Please,please - don't enable systemd. Thank you.
  • nrc and rpelayo like this

#12
woodelf

woodelf

    Newbie

  • Members
  • Pip
  • 0 posts

Well, systemd is an alternative to openrc, and I like it too.

 

No offense, but in my opinion, since systemd is still in-tree, then there should be some basic support for it. Otherwise, just remove it from portage tree. This is quite reasonable.

 

Another reason for systemd support: I want to have a bit taste on gnome 3.14 over wayland (but I do not like Arch or other distros). However, wayland requires systemd as its dependency.

 

Of course, if funtoo devs could remove systemd dependency from wayland, then I will happily stay with openrc.



#13
dantrell

dantrell

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

There's no need to be combative here. I see no no problem with documenting how to get it working for those who want to try it (although I'm not sure those instructions are 100% correct) so long as they understand that it is not officially supported (and while systemd does work in Funtoo it is necessary to restore certain ebuilds to the their Gentoo variants). There are actually quite a few Funtoo users using systemd because while they want systemd, they also want Funtoo be their underlying ecosystem so I see no reason to remove it.

In any case, it is not entirely systemd I dislike but rather the exponentially growing insistence that it must be used and the removal of support for any other alternatives and without a proper transition period.

This is why I decided to deliver a complete (or nearly complete) GNOME 3.12+ experience without systemd.

P.S. Woodelf, I remember you from your one blog post regarding GNOME 3.12. For the record, it took me about a week if you count testing, not half a year :).


  • nrc likes this

#14
woodelf

woodelf

    Newbie

  • Members
  • Pip
  • 0 posts

There's no need to be combative here. I see no no problem with documenting how to get it working for those who want to try it (although I'm not sure those instructions are 100% correct) so long as they understand that it is not officially supported (and while systemd does work in Funtoo it is necessary to restore certain ebuilds to the their Gentoo variants). There are actually quite a few Funtoo users using systemd because while they want systemd, they also want Funtoo be their underlying ecosystem so I see no reason to remove it.

In any case, it is not entirely systemd I dislike but rather the exponentially growing insistence that it must be used and the removal of support for any other alternatives and without a proper transition period.

This is why I decided to deliver a complete (or nearly complete) GNOME 3.12+ experience without systemd.

P.S. Woodelf, I remember you from your one blog post regarding GNOME 3.12. For the record, it took me about a week if you count testing, not half a year :).

Ya, my mistake. In my feelings, it really took a long way to move to gnome 3.12. Great work!

 

Now Funtoo is the only OS on my laptop, I enjoy it.

 

Just treat systemd as my personal excessive demands. Anyway, openrc works fine and it is simple.

 

Looking forward to the wayland support without systemd. :)



#15
sitquietly

sitquietly

    Member

  • Members
  • PipPip
  • 21 posts

I am a "systemd refugee". I chose to leave other distributions because of their insistence on using software that caused me all sorts of grief...
As has been pointed out - sure there are "needs" for systemd as other applications or libraries depend on it. I am greatful that funtoo doesn't enable this by default. For those who are "ripping out" these dependencies - Kudos! Please keep doing that. And to the funto admins - Please,please - don't enable systemd. Thank you.

 

I've taken refuge in Funtoo too.   My workstation, netbook and home server now run Funtoo because months of testing proved it to be more adaptable and reliable than Debian or Arch.  systemd was part of the problem in the land of popular binary distros -- their forums show thousands of little problems cropping up but enthusiasm causes a blind eye. 

 

I wouldn't say that systemd is "not ready", nor that "it's a matter of choice."  I don't see the problem being systemd itself but the binding of systemd to higher levels of software.  It is bad practice.  No "application" should care what init system was used to boot the computer.  But the systemd cabal IS pushing forward on a plan to create an interlocked monolith. 

 

Here's an experiment for the curious to explore the implications of the interlocking of layers:  create a self-hosting source-based linux system that builds itself from sources starting with the absolute minimum of executables (which will be bootstrapped by cross-compiling -- maybe use aboriginal linux).  The goal would be to create a bootable system with less than 20 packages in the base and which is capable of building itself up into a complete system.  This is a proof that your system is in fact a system (a single well-defined thing) and not just a pile of packages that happen to actually run at the moment. The base will need a compiler (gcc or clang), c library (glibc or musl), a linker and associated tools (binutils or toybox), an init system (toybox, busybox, bsd rc, sysvinit) and a package manager (something simple like butch from sabotage linux).  This can be done.  Now try to do it with systemd as the init system -- you just failed!  The package dependencies just blew up into a huge set and you are entangled in a mess of circular dependencies.

 

Thanks  to Dantrell for proving the point that the lock-in is not actually a technical requirement (I run Gnome 3.12 with OpenRC -- no systemd required). Thanks to Robbins for keeping Funtoo rationally designed.  Thanks to all you devs who know how to do good system design and keep Funtoo fun :D



#16
uudruid74

uudruid74

    Advanced Member

  • Members
  • PipPipPip
  • 134 posts
  • LocationDallas, TX USA

I have two questions:

 

Whats the point of wayland?  From what I can tell, its supposed to be faster, but is it really?  Won't we be losing the network transparency of X?  I kinda like being able to SSH into a host and run a GUI app.  And I don't think VNC is an alternative.  VNC still doesn't work as well or as fast as remote X.  I'm in no hurry to give up X. And I hear games are actually slower, and that is where speed matters most (I don't play games much, but thats not the point).

 

A few things I do with X:  I have a script that ties into bash that remembers what the window ID is for the window its running in.  When a command completes, it checks the top-window and compares it.  If its not currently the top window, it displays a notification of the command that just completed, the window's name, and its icon.  The window title is always updated with the current title, dropping back to just the shell name when the command completes - unless its not the top window at command completion - in that case it leaves the last command in the window title (and icon name if its minimized) to add in finding the window (in case you have multiple windows plastered all over the screen).  Would this sort of hackery (from a plain bash shell script) be possible with Wayland?  And this works remotely too - it's a bit harder to get the notify working remotely because of DBUS (although I could use 'dialog' to provide an alert and it would be easy and portable - just not as pretty, and so I'm forced into using backwards-ass dbus).  I have another app called X2X that lets me use a single keyboard and mouse with multiple machines - you move the cursor off one screen and it moves to another computer (over the network) via remote X protocol.  I don't think Wayland can do that!

 

@Dantrell: Great work on Gnome!  Just curious, you said "nearly complete".  What parts had to be removed?

 

As for the rest of the topic, only 12% (gentoo forum vote) think gentoo should use systemd.  I understand keeping it around in portage as an unsupported option (vs Gentoo's supported option), but I don't see either distro changing from OpenRC as the default.  Not for 12%!  I wonder how many people on other distros actually think it was a good move?  Personally I'm in the anti-systemd camp myself and I think more people would use alternatives if better ones existed.  Yes, funtoo is great, but the rather long compile and config process is a turn off for many, and once you are done, you may not get all the bells and whistles that other distros have without more tweaking and recompiling.   The systemd (and kdbus) issue is becoming a rather heated debate, almost as bad as Atari vs Amiga or Vi vs Emacs, and its really silly.  Everyone knows vi is better!


https://github.com/u.../bashTheObjects -- Object Oriented Programming in BASH !!
https://eddon.systems -- Stuff I'm Working on.


#17
uudruid74

uudruid74

    Advanced Member

  • Members
  • PipPipPip
  • 134 posts
  • LocationDallas, TX USA

And I heard that Gnome itself didn't depend on systemd, but the login manager depended on logind, which was in-term systemd.  Was there more to it?


https://github.com/u.../bashTheObjects -- Object Oriented Programming in BASH !!
https://eddon.systems -- Stuff I'm Working on.


#18
dantrell

dantrell

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

woodelf,

 

I get what you mean. Overall, it did take a while (although I was on 3.8 and 3.10 througout it all; I regret nothing :P).

 

P.S. Regarding Wayland... no promises.

 

uudruid74,

 

The state of GNOME is such that:

  1. systemd is not a hard compile time dependency. You can build everything except for ~2 packages and it will all work out of the box.
  2. systemd is a hard run time dependency for basic functionality.

Basic functionality is what the GNOME team has decided includes:

  • power management
  • session tracking
  • lid close handling
  • log/event viewing
  • Wayland

My patchset has reintegrated support for everything but Wayland (I thank the relevant GNOME and Gentoo teams for making my job easier). Furthermore, my patchset was done for 2 reasons:

  1. It was trivial to do so (I'm of opinion that upstream should have left the relevant code in and marked it as deprecated but that's another matter).
  2. To buy more time to come up with a proper solution.

One possible solution is to fork ConsoleKit and pm-utils then have the GNOME team reintegrate support as they said they would.



#19
uudruid74

uudruid74

    Advanced Member

  • Members
  • PipPipPip
  • 134 posts
  • LocationDallas, TX USA

Hmm ... thank you for all the information.  Its quite interesting.  Would it be possible to patch ConsoleKit and pm-utils so that Gnome can use the same API that it uses to talk to systemd's utilities?  Sort of pretending to be systemd?  Or would that not be possible?  I'm just thinking that if you have to fork and maintain other utilities, perhaps it would be possible to avoid patching gnome as well (or waiting for them to put back the support upstream now that everyone is jumping on the systemd bandwagon).   I'm not sure what methods systemd uses, but I suppose if its a single socket for both services, expecting a "systemd" to do it all, then this makes it almost impossible to replace without modifying Gnome.  And I'm guessing that is the problem.

 

I'm surprised there isn't some sort of directory service API you could talk to on start-up (maybe in dbus) that says "who do I talk to for power management" ?  or "who do I get session service information from"?  And then machines without systemd could be pointed to the specific daemon for that service while machines based on systemd would just be told "systemd" for every answer. Or am I missing part of the picture?


https://github.com/u.../bashTheObjects -- Object Oriented Programming in BASH !!
https://eddon.systems -- Stuff I'm Working on.


#20
j-g-

j-g-

    Advanced Member

  • Members
  • PipPipPip
  • 80 posts
I've mentioned this here a few times, I use systemd with Funtoo(Or should I say NotFuntoo since drobbins says Funtoo is only Funtoo with OpenRC), I would have bothered to do what l33tlinuxh4x0r did, and post a guide and even an overlay, but I anticipated a flamewar like this, for no reason, anyway getting systemd to run isn't that hard, and any competent user would figure out the changes needed.
Many of you seem to know little about systemd, or can't read manuals(Undocumented?), and yet have big opinions on it, anyway this this has shown to be the tendency in among most of the systemd detractors. I understand devs don't want the burden of having to deal with bugs related to a software they dislike, but certainly It isn't attractive either to try to contribute for the few of us who like it, when any intent would turn into a flame war.
  • Deklan™ likes this



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users