summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/initscripts/initscripts-1.0/slugos/checkroot.sh22
-rw-r--r--packages/initscripts/initscripts-slugos_1.0.bb2
-rw-r--r--packages/setpwc/files/makefile.diff12
-rw-r--r--packages/setpwc/setpwc_1.1.bb19
-rw-r--r--packages/slugos-init/files/functions14
-rw-r--r--packages/slugos-init/files/leds5
-rw-r--r--packages/slugos-init/slugos-init_0.10.bb2
-rw-r--r--packages/sysvinit/sysvinit/slugos/rcS-default8
-rw-r--r--packages/sysvinit/sysvinit_2.86.bb2
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.