about summary refs log tree commit diff
path: root/dracut
diff options
context:
space:
mode:
Diffstat (limited to 'dracut')
-rw-r--r--dracut/adduser.sh4
-rw-r--r--dracut/getty-autologin.sh11
-rw-r--r--dracut/module-setup.sh1
-rw-r--r--dracut/services.sh17
4 files changed, 17 insertions, 16 deletions
diff --git a/dracut/adduser.sh b/dracut/adduser.sh
index dbcbd35..e59fca1 100644
--- a/dracut/adduser.sh
+++ b/dracut/adduser.sh
@@ -4,7 +4,7 @@
 
 type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
 
-echo void-live > ${NEWROOT}/etc/hostname
+echo hrmpf > ${NEWROOT}/etc/hostname
 
 AUTOLOGIN=$(getarg live.autologin)
 USERNAME=$(getarg live.user)
@@ -54,3 +54,5 @@ fi
 if [ -n "$AUTOLOGIN" ]; then
         sed -i "s,GETTY_ARGS=\"--noclear\",GETTY_ARGS=\"--noclear -a $USERNAME\",g" ${NEWROOT}/etc/sv/agetty-tty1/run
 fi
+
+chroot ${NEWROOT} usermod -s /bin/bash root
diff --git a/dracut/getty-autologin.sh b/dracut/getty-autologin.sh
new file mode 100644
index 0000000..842c768
--- /dev/null
+++ b/dracut/getty-autologin.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+
+USERNAME=$(getarg live.user)
+[ -z "$USERNAME" ] && USERNAME=anon
+
+printf '%s\n' '#!/bin/sh' "exec setsid agetty --noclear --autologin root 38400 tty1 linux" >${NEWROOT}/etc/sv/agetty-tty1/run
+printf '%s\n' '#!/bin/sh' "exec setsid agetty --autologin root --login-pause 38400 \${PWD##*-} linux" >${NEWROOT}/etc/sv/agetty-generic/run
diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh
index df148f5..4170620 100644
--- a/dracut/module-setup.sh
+++ b/dracut/module-setup.sh
@@ -25,6 +25,7 @@ install() {
 
     inst_hook pre-pivot 01 "$moddir/adduser.sh"
     inst_hook pre-pivot 02 "$moddir/display-manager-autologin.sh"
+    inst_hook pre-pivot 02 "$moddir/getty-autologin.sh"
     inst_hook pre-pivot 03 "$moddir/copy-initramfs.sh"
     inst_hook pre-pivot 04 "$moddir/locale.sh"
     inst_hook pre-pivot 05 "$moddir/services.sh"
diff --git a/dracut/services.sh b/dracut/services.sh
index 50461ff..33dda75 100644
--- a/dracut/services.sh
+++ b/dracut/services.sh
@@ -11,19 +11,6 @@ for f in ${SERVICES}; do
         ln -sf /etc/sv/$f $NEWROOT/etc/runit/runsvdir/default/
 done
 
-dhcpcd=1
-for f in connmand NetworkManager wicd; do
-    if [ -e $SERVICEDIR/$f ]; then
-        unset dhcpcd
-    fi
-done
-
-# Enable all services by default... with some exceptions.
-for f in $SERVICEDIR/*; do
-    _service=${f##*/}
-    case "${_service}" in
-        agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant|pulseaudio|lvmetad|dmeventd|mdadm) ;; # ignored
-        dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;;
-        *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;;
-    esac
+for f in acpid dhcpcd gpm sshd udevd; do
+        ln -sf /etc/sv/$f $NEWROOT/etc/runit/runsvdir/default/
 done