Ticket #127 (closed defect: invalid)

Opened 21 months ago

Last modified 14 months ago

openrc 0.4.0 and dev file systems problems

Reported by: robert.piasek@member.fsf.org Owned by: roy
Priority: major Milestone:
Component: rc Version: 0.4
Keywords: Cc:

Description

Hi Roy,

I've got small problem with openrc-0.4.0. It seems it handles dev filesystems slightly different than 0.3.0. On boot it doesn't mount /dev nor /dev/pts file systems, which results in small chaos.

It's not loading my modules (as 0.3.0 used to) and I don't even have my usb keyboard working (I prefer to have USB support as module).

Because /dev/pts aren't mounted, xterm, gnome/kde terminals, ssh remote access - none of then is working.

One other thing - Interactive mode doesn't work as before. If you start it with "I" and answer for second question (start dmesg - doesn't matter if you answer yes or no) it won't ask you for any other services. Should I file a separate bug about it?

Change History

comment:1 in reply to: ↑ description ; follow-up: ↓ 2 Changed 21 months ago by roy

  • Version changed from 0.2 to 0.4

Replying to robert.piasek@…:

I've got small problem with openrc-0.4.0. It seems it handles dev filesystems slightly different than 0.3.0. On boot it doesn't mount /dev nor /dev/pts file systems, which results in small chaos.

OpenRC-0.4 has a new runlevel - sysinit.
It requires init scripts to mount /dev if required.
Gentoo has such a script in the latest udev ebuild.
Funtoo has a different approach with many udev scripts.

OpenRC supplies the devfs init script for linux which mounts /dev/pts, but that relies on /dev working prior.

It's not loading my modules (as 0.3.0 used to) and I don't even have my usb keyboard working (I prefer to have USB support as module).

Because /dev/pts aren't mounted, xterm, gnome/kde terminals, ssh remote access - none of then is working.

Probably due to the above.

One other thing - Interactive mode doesn't work as before. If you start it with "I" and answer for second question (start dmesg - doesn't matter if you answer yes or no) it won't ask you for any other services. Should I file a separate bug about it?

File a new bug for that please.

comment:2 in reply to: ↑ 1 Changed 21 months ago by anonymous

Replying to roy:

OpenRC-0.4 has a new runlevel - sysinit.
It requires init scripts to mount /dev if required.
Gentoo has such a script in the latest udev ebuild.

Does it mean I need to add udev to sysinit runlevel or should it do it automatically? (of course I've got the most up2date udev).
I can start /etc/init.d/udev manually, but it still doesn't load all modules (mainly usb/hid).

btw an ebuild specify:
kernel_linux? ( >=sys-apps/module-init-tools-3.2.2-r2 )
does it mean it won't work with kernel_linux? ( virtual/modutils ) aka busybox?

On my other machine the upgrade to 0.4.0 went painlessly - didn't touch anything and it just worked.

comment:3 follow-up: ↓ 4 Changed 21 months ago by roy

Interesting.
How are you loading the modules, or how were you expecting them to be loaded?

comment:4 in reply to: ↑ 3 ; follow-up: ↓ 6 Changed 21 months ago by anonymous

Replying to roy:

Interesting.
How are you loading the modules, or how were you expecting them to be loaded?

I expect them to be autodetected and loaded during boot (that how it use to work ever since I can remember).

(that's the list with 0.3.0 - keyboard relevant)
hid_dell 3264 0
hid_pl 3264 0
hid_cypress 3648 0
hid_gyration 3584 0
hid_bright 3200 0
hid_sony 3968 0
hid_samsung 3392 0
hid_microsoft 4996 0
hid_monterey 3328 0
hid_ezkey 3072 0
hid_apple 7808 0
hid_a4tech 3840 0
hid_logitech 8256 0
hid_cherry 3264 0
hid_sunplus 3264 0
hid_petalynx 3904 0
hid_belkin 3520 0
hid_chicony 3520 0
usbhid 26480 3 hid_dell,hid_bright,hid_logitech
hid 41872 19 hid_dell,hid_pl,hid_cypress,hid_gyration,hid_bright,hid_sony,hid_samsung,hid_microsoft,hid_monterey,hid_ezkey,hid_apple,hid_a4tech,hid_logitech,hid_cherry,hid_sunplus,hid_petalynx,hid_belkin,hid_chicony,usbhid

Anyway, what should I do with udev? Looking at devfs - all of that should be done automatically. Do you know why it could fail? I will check it again on Monday (as it's on my work PC).

(btw rc-status doesnt show runlevel called sysinit - not sure if it should)

comment:5 Changed 21 months ago by Matthias Schwarzott <zzam@gentoo.org>

Recent udev-versions have code to handle that new sysinit runlevel. But this code is not tested on too many systems, and second cannot do it right in all cases.

So it works this way (or should at least):

  1. Look if udev init-script is already in sysinit runlevel. If yes do nothing.
  2. Check what versions of openrc and/or baselayout are installed.
  3. If these versions still load udev with the old addon code, try to parse their config to check if udev is enabled. If yes, just add the udev init-script to runlevel sysinit.
  4. If udev was not enabled, or openrc was already updated to 0.4.0 before (unlikely as the openrc-0.4.0 ebuild blocks too old udev), a warning is printed, that the user needs to add udev to sysinit if he wants to use it.

So first: Read output of emerge (or let elog mail it to you), it contains a lot useful info.
Second: The above code may contain errors so it does not handle every case well.

comment:6 in reply to: ↑ 4 Changed 21 months ago by roy

Replying to anonymous:

(btw rc-status doesnt show runlevel called sysinit - not sure if it should)

It does not by default, but it should appear with
rc-status -a
or
rc-status sysinit

comment:7 Changed 19 months ago by roy

  • Status changed from new to closed
  • Resolution set to invalid

Pretty sure this is no longer an OpenRC bug.
Re-open if you disagree

comment:8 Changed 19 months ago by roy

Another reply to force the trac email out.

comment:9 Changed 14 months ago by sebastian.treu@gmail.com

Hi,

I have the same issue here. /dev/pts are not mounted. udev is on sysinit runlevel, and before migrating to openrc-0.4.0 pts were mounted fine.

If this is not an openrc issue then which is it?

regards,

comment:10 Changed 14 months ago by dagger@gentoo.org

Honestly I didn't have any problems after moving to i think 0.4.1 and some newer udev.

What versions of openrc and udev are you using?

Note: See TracTickets for help on using tickets.