diff options
-rwxr-xr-x | recipes/initscripts/initscripts-1.0/slugos/reboot | 17 | ||||
-rw-r--r-- | recipes/initscripts/initscripts-slugos_1.0.bb | 5 |
2 files changed, 14 insertions, 8 deletions
diff --git a/recipes/initscripts/initscripts-1.0/slugos/reboot b/recipes/initscripts/initscripts-1.0/slugos/reboot index f98b87f033..ca640fea06 100755 --- a/recipes/initscripts/initscripts-1.0/slugos/reboot +++ b/recipes/initscripts/initscripts-1.0/slugos/reboot @@ -2,15 +2,18 @@ # # reboot Execute the reboot command. # -# Version: @(#)reboot 2.75 22-Jun-1998 miquels@cistron.nl -# PATH=/sbin:/bin:/usr/sbin:/usr/bin -echo "Rebooting... " -if [ -x /usr/sbin/kexec ] ; then - echo " trying kexec..." - kexec -f -e -x +# Test if we should boot into the new kernel +if test -x /usr/sbin/kexec -a -f /sys/kernel/kexec_loaded ; then + read loaded < /sys/kernel/kexec_loaded + if test "$loaded" = "1" ; then + echo -n "Loaded kernel image found, executing ... " + /usr/sbin/kexec --exec --force --no-ifdown + echo "${warn}failed, doing normal reboot${norm}" + fi fi -echo " normal reboot..." + +echo -n "Rebooting... " reboot -d -f -i diff --git a/recipes/initscripts/initscripts-slugos_1.0.bb b/recipes/initscripts/initscripts-slugos_1.0.bb index b048277db5..ce80fe545d 100644 --- a/recipes/initscripts/initscripts-slugos_1.0.bb +++ b/recipes/initscripts/initscripts-slugos_1.0.bb @@ -17,7 +17,7 @@ RDEPENDS_${PN} = "update-rc.d" # All other standard definitions inherited from initscripts # Except the PR which is hacked here. The format used is # a suffix -PR := "${PR}.25" +PR := "${PR}.26" # Avoid a clash on /etc/device_table by ensuring that it gets removed # from the list of configuration files handled specially by opkg. @@ -174,6 +174,9 @@ do_install_append() { # any network file systems which failed to umount before. update-rc.d -r ${D} umountfs start 70 0 6 . + # Remount /sys here, the reboot script needs it to check for kexec + update-rc.d -r ${D} sysfs.sh start 80 6 . + update-rc.d -r ${D} halt start 90 0 . update-rc.d -r ${D} reboot start 90 6 . } |