how to start start a virtual terminal during the boot process with upstart

Michael Torrie torriem at gmail.com
Tue Jul 14 10:27:03 MDT 2009


For years I've had a trick where I moved one of the mingetty lines in
/etc/inittab up to the top (below the first line usually) to get a
terminal on another virtual console during boot.  This is very useful
when an init script is hanging for some reason.  You can log in and take
a look.

Today on my Fedora 11 workstation, after an update and booting into a
new kernel, the MessageBus service started to hang on start, making my
system unbootable.  After mucking about in single user mode, I figured
out how to get a virtual console with upstart during boot.  I just
edited /etc/event.d/tty3 (you could use any tty) and added a line near
the top:

start on startup

Now from the moment the kernel runs init, I have a login prompt on vt 3.
 Using this I was able to determine that MessageBus was failing because
the network wasn't yet running (which is normally started by
NetworkManager in conjunction with events from MessageBus later!), which
was in turn because of a chicken and egg issue with LDAP that suddenly
manifested itself with this batch of updates.  The solution to that was
to add a line "bind_policy soft" to /etc/ldap.conf[1].

Note that if you're using the rhgb system I don't know if this will even
work or if it will screw up the graphical boot.  I never use graphical
boot screens.

Anyway, I thought that others may find this a useful trick, so I post it
here.

Michael

[1] Fedora and Red Hat (or maybe all of Linux) have a long history of
ldap chicken and egg issues that often get fixed, then reappear later,
sadly.  RHEL 4 had a bad regression about a year ago that prevented the
LDAP daemon from starting if the LDAP daemon wasn't running...  Why
authconfig doesn't add the bind_policy line to ldap.conf by default I
don't know!



More information about the PLUG mailing list