Skip to main content
Topic: press enter to see login prompt and "stopping udev --- fail" (Read 67 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

press enter to see login prompt and "stopping udev --- fail"

Hello.

I'm new to Artix and have a question regarding runit.
When booting, I always saw a bunch of mysqld messages (before I activated mysqld/log), and I have to press "enter" once, to see the login prompt.

The other thing happens when I shutdown the computer. It says "stopping udev" and "fail" on the right.
So I guess something with udev and/or mysql is wrong on my computer. I activated a log for both with svlogd, but could not find helping messages. The udev log is just empty, after one reboot.

How can i debug this? Does runit itself have a log of the boot process?
I don't have problems while using the computer - it's just about the messages from boot and shutdown.


Re: press enter to see login prompt and "stopping udev --- fail"

Reply #1
Alright. Let me break it down in parts.

Hello.

I'm new to Artix and have a question regarding runit.
When booting, I always saw a bunch of mysqld messages (before I activated mysqld/log), and I have to press "enter" once, to see the login prompt.
You don't have to press enter once, but you can simply write your username in your tty to log in as usual. Unfortunately I haven't found a way to get rid of the "leaking message". (In case of MySQL/MariaDB, I haven't tested it yet so I don't know)

The other thing happens when I shutdown the computer. It says "stopping udev" and "fail" on the right.
So I guess something with udev and/or mysql is wrong on my computer. I activated a log for both with svlogd, but could not find helping messages. The udev log is just empty, after one reboot.

So, why udev returns fail on shutdown?
In the past, I've changed things a bit, so eudev are supervised by runit. On shutdown, runit exits all services, including eudev. Since our current /etc/runit/3 also calls for udevadm control --exit after the udev service has been closed, it is considered failed since udevadm cannot find any running udev services, but as I said earlier, runit already handles them so the udev fail message doesn't mean much. (Our boot/shutdown system will be updated in the future to reflect the current situation, but since I'm very busy with my own affairs, I can't focus too much on Artix at the moment)

About MySQL, it indicates that the service itself is running (and that's a good thing). It is unrelated to udev problem, but the message leaks to stdout. Same as NetworkManager. Unfortunately for now I can't figure out how to "close the leak" apart of adding 2>&1 to the runitscripts and redirecting it to a log service. I will find a way though.

How can i debug this? Does runit itself have a log of the boot process?
I don't have problems while using the computer - it's just about the messages from boot and shutdown.

Unfortunately, we don't really log the boot process as of now. The booting process rarely cause problems outside of fsck, mounting, and cryptsetup (and even then both of these usually require user intervention). I'm looking for a way to log messages (of course, after we roll the updates to our stage1 and stage3 to production).

Hope that helps!
the runit guy on artix

 

Re: press enter to see login prompt and "stopping udev --- fail"

Reply #2
Logging:
# cat /dev/vcs1
shows boot messages, it's the content of a terminal screen buffer so you can't do much with the output, but you can copy and paste it to a text file.
A digital video camera is one simple way to capture all on screen messages, also there's a program called "consolelogga"  that might help, logging some shutdown messages too.
The "audit" package can do all sorts of advanced logging things for security and debugging.
rsyslog from the aur is an alternative to syslogng for logging system messages, but it needs a service script.
Here's an openrc one, a runit one would be different though:
Code: [Select]
$ cat /etc/init.d/rsyslogd 
#!/usr/bin/openrc-run

command="/usr/bin/rsyslogd"
pidfile="/var/run/rsyslogd.pid"
name="rsyslogd"
description="rsyslogd logs system messages"


depend() {
use clock
need hostname localmount
after bootmisc
provide logger
keyword -stop
}