]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/initscripts/init.d/firstsetup
firstsetup: init udev hwdb at first boot.
[people/teissler/ipfire-2.x.git] / src / initscripts / init.d / firstsetup
index 8ea1b5ec97f5fa0b3738634ef7fe5e962edfd383..16e10f73e4eb8ce2da27a5c2c445aad7a2ce0f24 100644 (file)
@@ -1,4 +1,31 @@
 #!/bin/bash
+
+# Exit if firstsetup was already done...
+if [ -e /var/ipfire/main/firstsetup_ok ]; then
+       exit 0;
+fi
+
+# Edit the serial console entry at /etc/inittab matching to console parameter.
+ser_console() {
+       while test x"$1" != x
+       do
+               case $1 in
+                       console=*)
+                               scon=${1##console=};
+                               sed -i -e "s|^7:2345:respawn:/sbin/agetty.*|7:2345:respawn:/sbin/agetty ${scon%%,*} ${scon##*,}|g" /etc/inittab
+                               shift
+                       ;;
+                       *)
+                               shift
+                       ;;
+               esac
+       done
+}
+cmdline=`cat /proc/cmdline`
+ser_console $cmdline
+# reload inittab
+/sbin/init q
+#
 /etc/init.d/sysklogd start
 export LANG=en_US.utf8
 /usr/local/sbin/setup /dev/tty2 INSTALL
@@ -6,10 +33,21 @@ if [ "${?}" == "1" ]; then
        echo Setup not finished. Rebooting ...
        reboot -f
 fi
+
+# plan install pae kernel at next pakfire update if pae is supported
+if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then
+       if [ ! -e /opt/pakfire/db/installed/meta-linux-pae ]; then
+               echo "Name: linux-pae" > /opt/pakfire/db/installed/meta-linux-pae
+               echo "ProgVersion: 0" >> /opt/pakfire/db/installed/meta-linux-pae
+               echo "Release: 0"     >> /opt/pakfire/db/installed/meta-linux-pae
+       fi
+fi
+
 echo Restarting udev...
 killall udevd
+/sbin/udevadm hwdb --update
 /sbin/udevd --daemon
 /sbin/udevadm trigger
 /sbin/udevadm settle
 /etc/init.d/sysklogd stop
-rm -f /etc/rc.d/rcsysinit.d/S75firstsetup
+touch /var/ipfire/main/firstsetup_ok