Packages

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Stable
  • Assigned To
    Emulatorman
  • Operating System All
  • Severity Critical
  • Priority Very High
  • Reported Version Milky Way v0.2
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Packages
Opened by ralessi - 03/05/2018
Last edited by Emulatorman - 03/05/2018

FS#719 - [openrc] Cowardly refusing to concatenate a logfile into itself, no TTYs

Since the update of openrc to 0.28-11 this morning something fails during boot process as I get the following error message:

Cowardly refusing to concatenate a logfile into itself.
Please change rc_log_path to something other than /var/log/rc.log get rid of this message

But why would I do that?

Besides, once the boot process is finished, I am unable to switch between TTY consoles as I used to using Ctrl-Alt + F1-Fx. I don’t get the login prompt anymore.

Closed by  Emulatorman
03.05.2018 18:32
Reason for closing:  Fixed

Regarding TTY consoles, I had to add agetty and agetty.tty[1-12] to default runlevel to fix this issue. I think that this service should be started by default. In case one gets stuck for some reason, being able to switch to another console is often very useful.

Admin
Regarding TTY consoles, I had to add agetty and agetty.tty[1-12] to default runlevel to fix this issue. I think that this service should be started by default. In case one gets stuck for some reason, being able to switch to another console is often very useful.

It's strange because i've added a looping command to keep those agetty.tty symlinks in default and nonetwork runlevels folders for this latest revision:

post_upgrade() {
	if [[ $(vercmp $2 0.28-11) < 0 ]]; then
		for num in 1 2 3 4 5 6 7 8 9 10 11 12; do
			ln -s /etc/init.d/agetty.tty${num} /etc/runlevels/default/agetty.tty${num}
			ln -s /etc/init.d/agetty.tty${num} /etc/runlevels/nonetwork/agetty.tty${num}
		done
	fi
}

It was made to avoid force be added to runlevels each time when openrc package is upgraded, because some sysadmins need customize them (eg. use in system runlevels instead of default one with 3 TTY consoles only). It was reported in FS#701

Now, my plan is improve the looping command, eg:

post_upgrade() {
        if [[ $(vercmp $2 0.28-12) < 0 ]]; then
                for num in {1..12}; do
                        if [[ ! -h /etc/runlevels/default/agetty.tty${num} ]]; then
                                ln -s /etc/init.d/agetty.tty${num} /etc/runlevels/default/agetty.tty${num}
                        fi
                        if [[ ! -h /etc/runlevels/nonetwork/agetty.tty${num} ]]; then
                                ln -s /etc/init.d/agetty.tty${num} /etc/runlevels/nonetwork/agetty.tty${num}
                        fi
                done
        fi
}

It means that if there aren't agetty symlinks in /etc/runlevels/{default,nonetwork} from the previous revision, then it will be added, but only for this latest revision since it isn't needed be added each time when openrc is upgraded to keep customization available for certain users (eg. sysadmins)

I see. Yet I don't understand why this looping command didn't work in my case. Did it work on your side? And is the logfile issue somewhat related to this one?

Admin
I see. Yet I don't understand why this looping command didn't work in my case.
Did it work on your side? And is the logfile issue somewhat related to this one?

I've tried with the new looping command and works from my side, so i'm pushing a new revision soon, however i would fix FS#694 too. So i've plans to create an init script file to generate that missing file (/run/openrc/rc.log). Seems it's an OpenRC bug

Good news. What really confused me is that I found in /run/openrc a rc.log file dated March 3, 9:01, that is before I upgraded to 0.28-11. I tried to delete this file, but it was there over and over again at the outset after boot, and always dated March 3, 9:01!

So I have removed agetty and agetty.ttyx from default and reverted to 0.28-10 for the time being. I have the TTYs back as normal and no more rc.log in /run/openrc. Did I do well?

Admin

I've pushed openrc-0.28-12 now. I've replicated it from my machines, and at least TTYs were generated in default and nonetwork runlevels through install/upgrade package process. Check now, and let me know.

Admin
So I have removed agetty and agetty.ttyx from default and reverted to 0.28-10 for the time being. I have the TTYs back as normal and no more rc.log in /run/openrc. Did I do well?

Our goal is solve FS#701 to avoid force include agetty symlinks in default runlevels each time when openrc package is upgraded, then other users could customize it (eg. use in system runlevels instead of default one with 3 TTY consoles only).

So, the plan is generate agetty symlinks to default and nonetwork runlevels one time through installing package process and upgrade one since 0.28-12. I've replicated it in my machine, and it has been generated in both runlevels folders.

Here is what I did.

1. As said previously I removed by hand agetty and agetty.ttyx. Then I downgraded openrc to v0.28-10. Then everything worked perfectly, no more rc.log issue, and all of the TTYs were generated back again.
2. Then I upgraded to the latest openrc 0.28-12. The rc.log issue is gone, but TTYs were not generated. Here follows the output of rc-status:

Runlevel: default
 rsyslog                                                                     [  started  ]
 ufw                                                                         [  started  ]
 NetworkManager                                                              [  started  ]
 dnscrypt-proxy                                                              [  started  ]
 dnsmasq                                                                     [  started  ]
 netmount                                                                    [  started  ]
 cupsd                                                                       [  started  ]
 sddm                                                                        [  started  ]
 fuse                                                                        [  started  ]
 ntpd                                                                        [  started  ]
 bluetooth                                                                   [  started  ]
 postfix                                                                     [  started  ]
 alsasound                                                                   [  started  ]
 cronie                                                                      [  started  ]
 keymaps                                                                     [  started  ]
 local                                                                       [  started  ]
Dynamic Runlevel: hotplugged
Dynamic Runlevel: needed/wanted
 modules-load                                                                [  started  ]
 lvmetad                                                                     [  started  ]
 dbus                                                                        [  started  ]
 elogind                                                                     [  started  ]
 avahi-daemon                                                                [  started  ]
Dynamic Runlevel: manual

My question would be: is it because I removed agetty and agetty.ttys by hand before reverting to 0.28-10 that v0.28-12 now does not generate the TTYs on my machine whereas it does on yours?

Admin

I don't understand the reason about it. It's working well and were debugged from my machines, however coadde and you let me know that it isn't working, so i suppose it's a pacman issue.

So i will revert those changes and reopen FS#701 .

Admin

Pushed a new revision (0.28-13) with reverted changes to solve your and coadde issue, so i'm closing this issue.

Date User Effort (H:M)
watch my effort tracking timers

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing