#!/sbin/openrc-run depend() { after root } start() { if [ "${CDBOOT}" = "" ] then return 1 fi for x in ${CMDLINE} ; do case "${x}" in secureconsole) SECURECONSOLE="yes";; esac done ebegin "Adjusting inittab" # Create a backup if [ ! -e /etc/inittab.old ] then cp -f /etc/inittab /etc/inittab.old fi # Comment out current getty settings sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab sed -i -e '/^s[01]/ s/^/#/' /etc/inittab sed -i -e '/^b0/ s/^/#/' /etc/inittab # SPARC & HPPA console magic if [ "${HOSTTYPE}" = "sparc" -o "${HOSTTYPE}" = "hppa" -o "${HOSTTYPE}" = "ppc64" ] then # Mount openprom tree for user debugging purposes if [ "${HOSTTYPE}" = "sparc" ] then mount -t openpromfs none /proc/openprom fi # SPARC serial port A, HPPA mux / serial if [ -c "/dev/ttyS0" ] then LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyS0 speed) echo "s0:12345:respawn:/sbin/agetty -a root ${LIVECD_CONSOLE_BAUD} ttyS0 vt100" >> /etc/inittab fi # HPPA software PDC console (K-models) if [ "${LIVECD_CONSOLE}" = "ttyB0" ] then mknod /dev/ttyB0 c 11 0 LIVECD_CONSOLE_BAUD=$(stty -F /dev/ttyB0 speed) echo "b0:12345:respawn:/sbin/agetty -a root ${LIVECD_CONSOLE_BAUD} ttyB0 vt100" >> /etc/inittab fi # FB / STI console if [ -c "/dev/vc/1" -o -c "/dev/tts/1" -o -c "/dev/tty2" ] then MODEL_NAME=$(cat /proc/cpuinfo |grep "model name"|sed 's/.*: //') if [ "${MODEL_NAME}" = "UML" ] then for x in 0 1 2 3 4 5 6 do echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin $(id -nu 1000 2>/dev/null || echo root) tty${x}" >> /etc/inittab done else for x in 1 2 3 4 5 6 do echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin $(id -nu 1000 2>/dev/null || echo root) tty${x}" >> /etc/inittab done fi fi if [ -c "/dev/hvc0" ] then eindent ebegin "Adding hvc console to inittab ..." echo "s0:12345:respawn:/sbin/agetty -a root 9600 hvc0 vt320" >> /etc/inittab eend $? eoutdent fi # The rest... else if [ "${LIVECD_CONSOLE}" = "tty0" -o "${LIVECD_CONSOLE}" = "" ] then if [ "${SECURECONSOLE}" = "yes" ]; then echo "c1:12345:respawn:/sbin/mingetty --noclear --autologin $(id -nu 1000 2>/dev/null || echo root) tty1" >> /etc/inittab for x in 2 3 4 5 6 do echo "c${x}:2345:respawn:/sbin/agetty 38400 tty${x} linux" >> /etc/inittab done else for x in 1 2 3 4 5 6 do echo "c${x}:12345:respawn:/sbin/mingetty --noclear --autologin $(id -nu 1000 2>/dev/null || echo root) tty${x}" >> /etc/inittab done fi else eindent ebegin "Adding ${LIVECD_CONSOLE} console to inittab" echo "s0:12345:respawn:/sbin/agetty -a root ${LIVECD_CONSOLE_BAUD} ${LIVECD_CONSOLE} vt100" >> /etc/inittab eend $? eoutdent fi fi # EFI-based machines should automatically hook up their console lines if dmesg | grep -q '^Adding console on' then dmesg | grep '^Adding console on' | while read x; do line=`echo "$x" | cut -d' ' -f4` id=e`echo "$line" | grep -o '.\{1,3\}$'` [ "${line}" = "${LIVECD_CONSOLE}" ] && continue # already setup above case "$x" in *options\ \'[0-9]*) speed=`echo "$x" | sed "s/.*options '//; s/[^0-9].*//"` ;; *) speed=9600 ;; # choose a default, only matters if it is serial esac echo "$id:12345:respawn:/sbin/agetty -a root ${speed} ${line} vt100" >> /etc/inittab done fi # force reread of inittab telinit q eend 0 }