Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
today updated want to replace udev with systemd
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4, 5  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
broken_chaos
Guru
Guru


Joined: 18 Jan 2006
Posts: 370
Location: Ontario, Canada

PostPosted: Mon Jul 29, 2013 4:59 pm    Post subject: Reply with quote

Fred Krogh wrote:
My only entry in /etc/udev/rules.d is 81-persistent-net.rules which contains
Quote:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e4:0c". NAME="net0"
The only problem is enp4s0 which should be net0. I'm hoping someone has an idea how this could happen.

Syntax error, presuming this is a copy/paste. You have a '.' (period) after the ATTR{address} bit, rather than a ',' (comma).
Back to top
View user's profile Send private message
Fred Krogh
Veteran
Veteran


Joined: 07 Feb 2005
Posts: 1036
Location: Tujunga, CA

PostPosted: Mon Jul 29, 2013 5:07 pm    Post subject: Reply with quote

Thanks, I finally caught that problem earlier.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Mon Jul 29, 2013 8:53 pm    Post subject: Reply with quote

Fred Krogh wrote:
Quote:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e4:0c". NAME="net0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e5:12", NAME="net1"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e4:0d", NAME="net2"

In the first line there is a "." where you mean a ","
Back to top
View user's profile Send private message
Fred Krogh
Veteran
Veteran


Joined: 07 Feb 2005
Posts: 1036
Location: Tujunga, CA

PostPosted: Mon Jul 29, 2013 10:00 pm    Post subject: Reply with quote

Sorry, I was sure that I had posted the corrected file, but evidently it got lost on a small machine with lots of windows open. I'm glad to be back on a decent machine. I have set up scripts to make it easy to switch between using persistent names and not. I just tried using
Quote:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e4:0c", NAME="netx"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e5:12", NAME="net1"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e4:0d", NAME="net2"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:e0:4c:68:e5:11", NAME="net3"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="f4:6d:04:d6:7d:15", NAME="net4"
in /etc/udev/rules.d/71-persistent-net.rules. Only "lo:" showed with ifconfig. Maybe I'll have another look at this over the weekend, but for now I need to deal with other things.
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3256

PostPosted: Tue Jul 30, 2013 2:25 pm    Post subject: Reply with quote

devsk wrote:
That does not address systemd vs. openrc issue at all. Does anybody know what am I supposed to do with respect to which of these two will boot my system and how they inter-operate?
In my preliminary testing, both can coexist. You can boot with either openrc or systemd.

After my preliminary testing, systemd must get the boot. My configuration files are not working with it.

  • /etc/acpi configs are broken
  • hibernate-ram is broken
  • local.start is broken (this is expected)
  • I have a rules.d hook to udev that launches a dialog as user. So, it looks like this
    Code:
    some event happens ->
      udev reads rules.d ->
      udev launches /usr/local/bin/myprogram ->
      myprogram launches a GUI dialog as user (something like su $user -c <some GUI dialog>) ->
      systemd or udev kills this GUI dialog after a few seconds.
    The exact same script works perfectly under openrc. I don't know what the systemd devs had in mind while designing this kill switch, but it makes me very uncomfortable that it does things like this behind my back. In effect, can't trust systemd with any custom scripts.
  • Apparently, systemd also disables all sysrq actions except the sync action. Totally unacceptable default configurations. Changing all innards just for the sake of change doesn't make sense.


Overall, can't trust systemd to come with sane defaults. And can't trust systemd devs to not screw up the system for everyone except fedora.
_________________
emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Tue Jul 30, 2013 3:45 pm    Post subject: Reply with quote

ppurka wrote:
devsk wrote:
That does not address systemd vs. openrc issue at all. Does anybody know what am I supposed to do with respect to which of these two will boot my system and how they inter-operate?
In my preliminary testing, both can coexist. You can boot with either openrc or systemd.

After my preliminary testing, systemd must get the boot. My configuration files are not working with it.

  • /etc/acpi configs are broken
  • hibernate-ram is broken
  • local.start is broken (this is expected)
  • I have a rules.d hook to udev that launches a dialog as user. So, it looks like this
    Code:
    some event happens ->
      udev reads rules.d ->
      udev launches /usr/local/bin/myprogram ->
      myprogram launches a GUI dialog as user (something like su $user -c <some GUI dialog>) ->
      systemd or udev kills this GUI dialog after a few seconds.
    The exact same script works perfectly under openrc. I don't know what the systemd devs had in mind while designing this kill switch, but it makes me very uncomfortable that it does things like this behind my back. In effect, can't trust systemd with any custom scripts.
  • Apparently, systemd also disables all sysrq actions except the sync action. Totally unacceptable default configurations. Changing all innards just for the sake of change doesn't make sense.


Overall, can't trust systemd to come with sane defaults. And can't trust systemd devs to not screw up the system for everyone except fedora.
That's good to know.

How do I make sure that my system boots with openrc and not systemd?
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3256

PostPosted: Tue Jul 30, 2013 3:59 pm    Post subject: Reply with quote

It's the opposite. You have to make sure that the system boots with systemd by giving an explicit "init=" line in your grub's kernel line. By default it will use openrc.
_________________
emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 2:23 am    Post subject: Reply with quote

unmerged udev and now trying to merge systemd:

Code:
# emerge -pv --tree systemd

These are the packages that would be merged, in reverse order:

Calculating dependencies  ...... done!
[ebuild  N     ] sys-apps/systemd-206  USE="acl filecaps firmware-loader kmod lzma openrc pam policykit python tcpd xattr -audit -cryptsetup -doc -gcrypt -gudev -http -introspection -qrcode (-selinux) {-test} -vanilla" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" 2,286 kB
[ebuild     U  ]  sys-apps/hwids-20130717-r1 [20130707] USE="udev" 1,515 kB
[ebuild  N     ]   virtual/udev-206  USE="gudev hwdb kmod static-libs -introspection (-selinux)" 0 kB
[ebuild  N     ]    sys-fs/udev-206  USE="acl firmware-loader gudev hwdb kmod openrc static-libs -doc -introspection (-selinux)" 2 kB
[ebuild     U  ]     sys-apps/kmod-14-r1 [14] USE="lzma openrc%* tools zlib -debug -doc -static-libs" 0 kB
[blocks B      ] sys-apps/systemd ("sys-apps/systemd" is blocking sys-fs/udev-206)
[blocks B      ] sys-fs/udev ("sys-fs/udev" is blocking sys-apps/systemd-206)
hwids is emerging udev back. I thought udev is now provided by systemd. What do I need to do?
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3256

PostPosted: Wed Jul 31, 2013 2:55 am    Post subject: Reply with quote

Sounds like a bug in portage? virtual/udev is pulling in sys-fs/udev, when it should just pull in systemd. See the virtual/udev ebuild:
Code:
RDEPEND="|| ( >=sys-fs/udev-206[gudev?,hwdb?,introspection?,kmod?,selinux?,static-libs?]
   >=sys-apps/systemd-206[gudev?,introspection?,kmod?,selinux?,static-libs(-)?]
   kmod? ( >=sys-fs/eudev-1.2_beta[keymap,modutils,gudev?,hwdb?,introspection?,selinux?,static-libs?] )
   !kmod? ( >=sys-fs/eudev-1.2_beta[keymap,gudev?,hwdb?,introspection?,selinux?,static-libs?] )
   )"
One option would be to package.mask sys-fs/udev. Then it will be forced to pull in systemd.
_________________
emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/
Back to top
View user's profile Send private message
jburns
Veteran
Veteran


Joined: 18 Jan 2007
Posts: 1213
Location: Massachusetts USA

PostPosted: Wed Jul 31, 2013 3:13 am    Post subject: Reply with quote

If virtual/udev has the static-libs flag set it will pull in sys-fs/udev.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 3:38 am    Post subject: Reply with quote

Code:
The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by sys-fs/lvm2-2.02.98[udev]
# required by sys-kernel/dracut-030[-dracut_modules_lvm,device-mapper]
# required by @selected
# required by @world (argument)
>=virtual/udev-206 static-libs

emerge: there are no ebuilds built with USE flags to satisfy ">=sys-apps/systemd-206[gudev?,introspection?,kmod?,selinux?,static-libs(-)?]".
!!! One of the following packages is required to complete your request:
- virtual/udev-206::gentoo (Change USE: -static-libs)
(dependency required by "virtual/udev-206" [ebuild])
(dependency required by "sys-fs/zfs-0.6.1-r3" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

Although, it solves the issue, I can't take it out.
Back to top
View user's profile Send private message
jburns
Veteran
Veteran


Joined: 18 Jan 2007
Posts: 1213
Location: Massachusetts USA

PostPosted: Wed Jul 31, 2013 5:01 am    Post subject: Reply with quote

To use systemd the global static-libs flag must be cleared but you can set static-libs in package.use for the packages that need it. On my system I have it set for
Code:
dev-libs/elfutils static-libs
sys-libs/zlib static-libs
media-libs/libpng static-libs
media-libs/lcms static-libs
media-libs/libmng static-libs
app-arch/bzip2 static-libs
sys-libs/gpm static-libs
media-libs/freetype static-libs
virtual/jpeg static-libs


Edit
My package.use also has
Code:
virtual/udev -static-libs
sys-fs/lvm2 -static-libs
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 6:30 am    Post subject: Reply with quote

Code:
sys-fs/lvm2[static-libs(+)]
that's from crypt-setup.

Code:
udev? ( virtual/udev[static-libs?] )"
that's from lvm2's ebuild. How can I avoid that without removing 'udev' for lvm2?

I am sort of stuck.


Last edited by devsk on Wed Jul 31, 2013 6:35 am; edited 1 time in total
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Wed Jul 31, 2013 6:32 am    Post subject: Reply with quote

/etc/portage/package.use would look like this if you want sys-apps/systemd

Quote:

sys-fs/cryptsetup -static -static-libs
sys-fs/lvm2 -static -static-libs
virtual/udev -static-libs


as in, sys-apps/systemd doesn't support building static archive libudev.a which is required for cryptsetup and lvm2 when USE="static" or USE="static-libs" is enabled
therefore those should be disabled to let cryptsetup and lvm2 to use shared library libudev.so
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 6:38 am    Post subject: Reply with quote

ssuominen wrote:
/etc/portage/package.use would look like this if you want sys-apps/systemd

Quote:

sys-fs/cryptsetup -static -static-libs
sys-fs/lvm2 -static -static-libs
virtual/udev -static-libs


as in, sys-apps/systemd doesn't support building static archive libudev.a which is required for cryptsetup and lvm2 when USE="static" or USE="static-libs" is enabled
therefore those should be disabled to let cryptsetup and lvm2 to use shared library libudev.so
ok, that makes sense and works.

Code:
[blocks B      ] sys-apps/systemd ("sys-apps/systemd" is blocking sys-auth/consolekit-0.4.6)

Total: 156 packages (145 upgrades, 5 new, 1 in new slot, 5 reinstalls, 1 uninstall), Size of downloads: 510,965 kB
Conflict: 4 blocks (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (sys-apps/systemd-206::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-apps/systemd-206[gudev?,introspection?,kmod?,selinux?,static-libs(-)?] (>=sys-apps/systemd-206[gudev,kmod]) required by (virtual/udev-206::gentoo, ebuild scheduled for merge)
    sys-apps/systemd required by (gnome-base/gnome-settings-daemon-3.8.4::gentoo, ebuild scheduled for merge)

  (sys-auth/consolekit-0.4.6::gentoo, ebuild scheduled for merge) pulled in by
    >=sys-auth/consolekit-0.4.5_p2012[pam] required by (sys-auth/pambase-20120417-r2::gentoo, installed)
    sys-auth/consolekit required by (net-wireless/bluez-4.101-r5::gentoo, installed)
    sys-auth/consolekit[policykit] required by (sys-auth/polkit-0.111::gentoo, installed)
    sys-auth/consolekit required by (kde-base/kdm-4.10.5-r1::gentoo, ebuild scheduled for merge)
Only one block left now.

Do I need to unmerge consolekit? or remove the USE consolekit?
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Wed Jul 31, 2013 6:43 am    Post subject: Reply with quote

devsk wrote:
Do I need to unmerge consolekit? or remove the USE consolekit?


both

USE="-consolekit systemd" to make.conf as global and...

Code:

# emerge -C consolekit


because consolekit is replaced by systemd-logind which is part of sys-apps/systemd -- both have similar features and having both installed at the same time doesn't make any sense
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 6:54 am    Post subject: Reply with quote

ok. No more blocks. Ready to update.

I would like to say that this has been one of the worst upgrades I have done in a while.
Back to top
View user's profile Send private message
SamuliSuominen
Retired Dev
Retired Dev


Joined: 30 Sep 2005
Posts: 2133
Location: Finland

PostPosted: Wed Jul 31, 2013 8:10 am    Post subject: Reply with quote

devsk wrote:
ok. No more blocks. Ready to update.

I would like to say that this has been one of the worst upgrades I have done in a while.


Upgrade? Perhaps if you mean GNOME to 3.8+ but otherwise it's up to the user which udev implementation he wants installed, as in, systemd itself is not an upgrade over OpenRC and OpenRC is still the Gentoo default and there has been no discussion of that changing anytime soon.

So it's like "I'm choosing to replace sys-fs/udev and sys-apps/openrc with sys-apps/systemd and read the required documentation for it." and then the user might open eg. http://wiki.gentoo.org/wiki/Systemd

But there is also a bug open for dropping USE="static static-libs" from cryptsetup, lvm2 and udev wrt https://bugs.gentoo.org/show_bug.cgi?id=478476
Back to top
View user's profile Send private message
vasettoo
Tux's lil' helper
Tux's lil' helper


Joined: 11 Nov 2012
Posts: 97

PostPosted: Wed Jul 31, 2013 11:24 am    Post subject: Reply with quote

ssuominen wrote:
devsk wrote:
Do I need to unmerge consolekit? or remove the USE consolekit?


both

USE="-consolekit systemd" to make.conf as global and...

Code:

# emerge -C consolekit


because consolekit is replaced by systemd-logind which is part of sys-apps/systemd -- both have similar features and having both installed at the same time doesn't make any sense


Actually consolekit is mandatory for pulseaudio. When I tried to 'emerge -Cav consolekit ' on next login my audio has gone away and the volume control applet couldn't show settings for audio devices in pulseaudio preferences. I suspect there are other breakages in packets when consolekit is uninstalled
Back to top
View user's profile Send private message
chair-raver
n00b
n00b


Joined: 13 Jan 2007
Posts: 25
Location: Paderborn, Germany

PostPosted: Wed Jul 31, 2013 12:43 pm    Post subject: Reply with quote

Hi folks.

I've been struggling the systemd update in the last couple of days myself. In particular since the Gnome 3.8 update was thrown
into the equation. On my older Core2Duo system the various emerge invocations became quite the PITA. Anyway I finally got me
a more or less updated system with a running systemd. After plenty of "emerge -puvDN" and subsequent "emerge --nodeps" I got
nearly all packages updated. However my emerge is not yet clean in respect to the udev/systemd situation.

Let me share some things from along the way. My root (+ usr + var, etc) resides on a SAMSUNG SSD with ext4. The remaining
user, music and video filesystems reside within LVM volumes. Due to this fact, I was at least able to keep a workable system,
since I could work around some problems manually.

First problem was, that systemd timed out trying to mount the LVM volumes. The "mdev" within the genkernel created initramfs
apparently only creates the /dev/mapper/* device nodes. The /dev/disk/by-uuid/ were missing. I was able to mount all filesystems
manually with "mount -a", but I couldn't get systemd to process those LVM volumes. I think, there are other threads to this topic in
the forum.

Then I installed the lvm2 version from the systemd-love overlay. This version includes approriate *.service files (in particular a
lvm-monitor.service). This didn't help, however.

What did help in the end was a initramsfs created by dracut. So, with dracut and the systemd-love/lvm2 I got me cleanly booting
system. I have to test however, if dracut would work without the systemd-love/lvm2, since hint sight I'm not sure that
I supplied dracut options to include the lvm module. It might be enough, that dracut uses udev instead of mdev to create the all
required device nodes.

This brings me to this udev/systemd conundrum. With the systemd-love overlay installed, my udev/systemd status is clean without
changing any static or static-libs USEs. But from what I understand, for lvm to be included in a initramfs one would need a statically
linked lvm-command. However one of the last messages in this thread appears to hint that this not longer the case for recent
genkernel initramfs, so that the removal of some static-libs from lvm2 might resolve the udev/systemd scenario.

Am I understanding this correctly?
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1869
Location: Switzerland (Romandie)

PostPosted: Wed Jul 31, 2013 1:11 pm    Post subject: Reply with quote

mv wrote:
The Doctor wrote:
Alternatively, you can switch to eudev or (if you feel brave) mdev.

No, you cannot if you are a gnome user (here: gdm): Gnome uses all means to force systemd. The only way to remove systemd is to get rid of gnome.

And you can get ride of *kit and pulseaudio at the same time 8)

But the choice is yours.
_________________
"Confirm You are a robot." - the singularity
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1869
Location: Switzerland (Romandie)

PostPosted: Wed Jul 31, 2013 1:22 pm    Post subject: Reply with quote

TomWij wrote:

A nice DM would be one that supports multiple display servers, init systems, message buses, and so on and fits for everyone; but such a DM would probably never get finished.

And a nice WM would provide the ability to zoom an entire window. xzoom is a nice gadget, but is nothing more than a gadget, The same functionality would be much better if included into the WM on a per window basis, and would zoom the entire content, inclusive the menu and other bars, but not the WM decoration of the window.
_________________
"Confirm You are a robot." - the singularity
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6051
Location: Removed by Neddy

PostPosted: Wed Jul 31, 2013 1:28 pm    Post subject: Reply with quote

ppurka wrote:
It's the opposite. You have to make sure that the system boots with systemd by giving an explicit "init=" line in your grub's kernel line. By default it will use openrc.
well technically the kernel by default will launch /sbin/init which via /etc/inittab calls openrc .
so it can be overriden by init= or the telinit could be edited or /sbin/init could be replaced

Code:

        run_init_process("/sbin/init");
        run_init_process("/etc/init");
        run_init_process("/bin/init");
        run_init_process("/bin/sh");

        panic("No init found.  Try passing init= option to kernel. "
              "See Linux Documentation/init.txt for guidance.");

_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Wed Jul 31, 2013 3:07 pm    Post subject: Reply with quote

ssuominen wrote:
devsk wrote:
ok. No more blocks. Ready to update.

I would like to say that this has been one of the worst upgrades I have done in a while.


Upgrade? Perhaps if you mean GNOME to 3.8+ but otherwise it's up to the user which udev implementation he wants installed, as in, systemd itself is not an upgrade over OpenRC and OpenRC is still the Gentoo default and there has been no discussion of that changing anytime soon.

So it's like "I'm choosing to replace sys-fs/udev and sys-apps/openrc with sys-apps/systemd and read the required documentation for it." and then the user might open eg. http://wiki.gentoo.org/wiki/Systemd

But there is also a bug open for dropping USE="static static-libs" from cryptsetup, lvm2 and udev wrt https://bugs.gentoo.org/show_bug.cgi?id=478476
I meant update. I do world updates on a monthly (sometimes quarterly) basis. And have never encountered a problem which I could not take care of myself. This one needed posting to forums. And I still don't know if it will work...:)
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2995
Location: Bay Area, CA

PostPosted: Thu Aug 01, 2013 1:41 am    Post subject: Reply with quote

Several udev issues:

1. Is /usr/lib/udev/rules.d not being read anymore? I have to copy the files to /etc/udev/rules.d/.

2. Also, the events are not triggering automatically. I have to trigger them by calling 'udevadm trigger'.

3. There is some sort of delay when the events are actually triggered after 'udevadm trigger'. Some queue is not getting flushed or something. If I run 'udevadm trigger' multiple times, I can see all the device paths created.

The issue in question applies to /usr/lib/udev/rules.d/10-virtualbox.rules, which creates /dev/vboxusb/ folder and USB devices inside.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum