diff options
-rw-r--r-- | packages/initscripts/initscripts-1.0/slugos/checkroot.sh | 22 | ||||
-rw-r--r-- | packages/initscripts/initscripts-slugos_1.0.bb | 2 | ||||
-rw-r--r-- | packages/setpwc/files/makefile.diff | 12 | ||||
-rw-r--r-- | packages/setpwc/setpwc_1.1.bb | 19 | ||||
-rw-r--r-- | packages/slugos-init/files/functions | 14 | ||||
-rw-r--r-- | packages/slugos-init/files/leds | 5 | ||||
-rw-r--r-- | packages/slugos-init/slugos-init_0.10.bb | 2 | ||||
-rw-r--r-- | packages/sysvinit/sysvinit/slugos/rcS-default | 8 | ||||
-rw-r--r-- | packages/sysvinit/sysvinit_2.86.bb | 2 |
9 files changed, 77 insertions, 9 deletions
diff --git a/packages/initscripts/initscripts-1.0/slugos/checkroot.sh b/packages/initscripts/initscripts-1.0/slugos/checkroot.sh index 806379f274..c70855ee43 100644 --- a/packages/initscripts/initscripts-1.0/slugos/checkroot.sh +++ b/packages/initscripts/initscripts-1.0/slugos/checkroot.sh @@ -4,6 +4,7 @@ # Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl # +. /etc/default/functions . /etc/default/rcS # @@ -62,7 +63,7 @@ exec 0>&9 9>&- # We don't test whether we're running a 2.[0123].x kernel and md # since that's plain too old. -if test "$DOSWAP" = yes +if test "$DOSWAP" != no then swaps="$(blkid -t TYPE=swap -o device 2>/dev/null)" if test -n "$swaps" @@ -79,6 +80,9 @@ fi if test -f /fastboot || test "$ROOTFSCK" != yes then test "$ROOTFSCK" = yes && echo "Fast boot, no filesystem check" +elif test ! -x /sbin/fsck -a ! -x /usr/sbin/fsck +then + echo "/etc/init.d/checkroot.sh: no fsck" else leds disk-1 slow # @@ -128,8 +132,20 @@ else leds system panic beep -r 5 # Start a single user shell on the console - /sbin/sulogin $CONSOLE - reboot -f + if single_user_ok + then + sulogin -t 600 $CONSOLE + # if this exits with SIGALRM (which happens to be 142) the + # timeout happened, do not, then, reboot! + if test $? -ne 142 + then + reboot -f + else + echo "/etc/init.d/checkroot.sh: sulogin timeout, continuing boot" + fi + else + echo "/etc/init.d/checkroot.sh: fsck failed, continuing boot" + fi fi else echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!" diff --git a/packages/initscripts/initscripts-slugos_1.0.bb b/packages/initscripts/initscripts-slugos_1.0.bb index 59c8d30f00..df89fd161b 100644 --- a/packages/initscripts/initscripts-slugos_1.0.bb +++ b/packages/initscripts/initscripts-slugos_1.0.bb @@ -11,7 +11,7 @@ RCONFLICTS = "initscripts" # All other standard definitions inherited from initscripts # Except the PR which is hacked here. The format used is # a suffix -PR := "${PR}.6" +PR := "${PR}.8" FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/${P}', '${FILE_DIRNAME}/initscripts-${PV}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" diff --git a/packages/setpwc/files/makefile.diff b/packages/setpwc/files/makefile.diff new file mode 100644 index 0000000000..e129db7b56 --- /dev/null +++ b/packages/setpwc/files/makefile.diff @@ -0,0 +1,12 @@ +--- setpwc-1.1/Makefile.orig 2006-02-06 03:25:11.000000000 +0100 ++++ setpwc-1.1/Makefile 2006-02-06 03:25:27.000000000 +0100 +@@ -22,9 +22,6 @@ + + setpwc: $(OBJS) + $(CC) -Wall -W $(OBJS) $(LDFLAGS) -o setpwc +- strip setpwc +- # +- # Oh, blatant plug: http://keetweej.vanheusden.com/wishlist.html + + install: setpwc + cp setpwc /usr/bin diff --git a/packages/setpwc/setpwc_1.1.bb b/packages/setpwc/setpwc_1.1.bb new file mode 100644 index 0000000000..120ba463bf --- /dev/null +++ b/packages/setpwc/setpwc_1.1.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Set various aspects of Philips (and compatible) WebCams." +SECTION = "console" +PRIORITY = "optional" +MAINTAINER = "NSLU2 Linux <www.nslu2-linux.org>" +HOMEPAGE = "http://www.vanheusden.com/setpwc/" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://www.vanheusden.com/setpwc/setpwc-${PV}.tgz \ + file://makefile.diff;patch=1" + +inherit autotools + +INHIBIT_AUTO_STAGE = "1" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/setpwc ${D}${bindir}/setpwc +} diff --git a/packages/slugos-init/files/functions b/packages/slugos-init/files/functions index ef10d65fb2..78dcf816b3 100644 --- a/packages/slugos-init/files/functions +++ b/packages/slugos-init/files/functions @@ -26,6 +26,20 @@ machine(){ esac } # +# single_user_ok +# if the machine is capable of single user interaction return +# true, else return false. The result of this function is +# preempted by setting SULOGIN to 'yes' or 'ok' in /etc/default/rcS +single_user_ok() { + # list known good machines in the 'case' + test "$SULOGIN" = yes -o "$SULOGIN" = ok || + case "$(machine)" in + ixdp*|avila|loft) + test "$SULOGIN" != never;; + *) return 1;; + esac +} +# # load_functions "source" # load the functions in '/sbin/source' - relies on /sbin/source being # a shell script and having support for this function. diff --git a/packages/slugos-init/files/leds b/packages/slugos-init/files/leds index 227ed78ff4..433467b96f 100644 --- a/packages/slugos-init/files/leds +++ b/packages/slugos-init/files/leds @@ -169,7 +169,8 @@ sysled(){ # # beep {arguments} # emit a beep -# does nothing if there is no beep executable +# does nothing if there is no beep executable, is very +# quiet in the presence of errors beep(){ local arg arg= @@ -177,7 +178,7 @@ beep(){ if test -x /bin/beep then test -c /dev/buzzer && arg="-e /dev/buzzer" - /bin/beep $arg "$@" + /bin/beep $arg "$@" 2>/dev/null fi return 0 } diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb index 7c4c21f521..ed183b9278 100644 --- a/packages/slugos-init/slugos-init_0.10.bb +++ b/packages/slugos-init/slugos-init_0.10.bb @@ -4,7 +4,7 @@ PRIORITY = "required" LICENSE = "GPL" DEPENDS = "base-files devio" RDEPENDS = "busybox devio" -PR = "r54" +PR = "r56" SRC_URI = "file://boot/flash \ file://boot/disk \ diff --git a/packages/sysvinit/sysvinit/slugos/rcS-default b/packages/sysvinit/sysvinit/slugos/rcS-default index 4cb0e0c2f9..8bd6656cb5 100644 --- a/packages/sysvinit/sysvinit/slugos/rcS-default +++ b/packages/sysvinit/sysvinit/slugos/rcS-default @@ -5,6 +5,9 @@ # Time files in /tmp are kept in days. TMPTIME=0 # Set to yes if you want sulogin to be spawned on bootup +# Set to ok if the machine supports SULOGIN, otherwise a +# boot time failure will be ignored unless the system +# is known to support a serial port SULOGIN=no # Set to no if you want to be able to login over telnet/rlogin # before system startup is complete (as soon as inetd is started) @@ -21,4 +24,7 @@ FSCKFIX=yes # Set DOSWAP to "no" if you do not want all swap to automatically be mounted DOSWAP=yes # Set ROOTFSCK to "yes" to check the root fs automatically on boot -ROOTFSCK=yes +# WARNING: fsck for the file system must be installed and must work +# before enabling this option, if not your system will drop to single +# user (sulogin) if SULOGIN is set to yes or ok! +ROOTFSCK=no diff --git a/packages/sysvinit/sysvinit_2.86.bb b/packages/sysvinit/sysvinit_2.86.bb index 5a88eba4ab..d15afdfa23 100644 --- a/packages/sysvinit/sysvinit_2.86.bb +++ b/packages/sysvinit/sysvinit_2.86.bb @@ -3,7 +3,7 @@ SECTION = "base" LICENSE = "GPL" MAINTAINER = "Chris Larson <kergoth@handhelds.org>" HOMEPAGE = "http://freshmeat.net/projects/sysvinit/" -PR = "r21" +PR = "r22" # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. # Set PACKAGE_ARCH appropriately. |