]> 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 c3cf427c4f1f519996b4cbb8bb100ece68a9cba0..16e10f73e4eb8ce2da27a5c2c445aad7a2ce0f24 100644 (file)
@@ -1,22 +1,53 @@
 #!/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
-/usr/bin/clear
-echo "Reboot ..."
-echo "Sending all processes the TERM signal..."
-/sbin/killall5 -15
-sleep 3
-echo "Sending all processes the KILL signal..."
-/sbin/killall5 -15
-sleep 3
-echo "Unmounting Filesystems..."
-/bin/umount /sys
-/bin/umount /dev/pts
-/bin/umount /proc
-/bin/umount /boot
-/bin/umount /var/log/rrd
-/bin/umount /var/lock
-/bin/umount /var/run
-/bin/umount /var
-rm -f /etc/rc.d/rcsysinit.d/S75firstsetup \
-&& /bin/mount -n -o remount,ro / \
-&& /sbin/reboot -f
+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
+touch /var/ipfire/main/firstsetup_ok