summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xremote/rootfs/rootfs-stage31/data/inc/setup_stage322
-rwxr-xr-xremote/rootfs/rootfs-stage31/data/init51
2 files changed, 27 insertions, 26 deletions
diff --git a/remote/rootfs/rootfs-stage31/data/inc/setup_stage32 b/remote/rootfs/rootfs-stage31/data/inc/setup_stage32
index df8b71fc..1a58f0aa 100755
--- a/remote/rootfs/rootfs-stage31/data/inc/setup_stage32
+++ b/remote/rootfs/rootfs-stage31/data/inc/setup_stage32
@@ -48,7 +48,7 @@ cp /etc/hostname /etc/hosts /etc/resolv.conf "${FUTURE_ROOT}/etc/"
[ -s "/run/config" ] && cat "/run/config" >> "${FUTURE_ROOT}/opt/openslx/config"
# if booting with splash, suppress kernel output in stage32
-if grep -q "splash" /proc/cmdline; then
+if [ $SPLASH -eq 1 ]; then
if grep -q -E "^\ kernel.printk" "${FUTURE_ROOT}/usr/lib/sysctl.d/50-default.conf"; then
sed -i 's/^\ *kernel\.printk.*/kernel\.printk\ =\ 0\ 0\ 0\ 0/g' "${FUTURE_ROOT}/usr/lib/sysctl.d/50-default.conf"
else
diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init
index ae6ddbe5..7e4e3370 100755
--- a/remote/rootfs/rootfs-stage31/data/init
+++ b/remote/rootfs/rootfs-stage31/data/init
@@ -32,6 +32,29 @@ mkdir -p "$FUTURE_ROOT/opt/openslx"
# let kernel know that mdev is to be used for hotplug
echo "/sbin/mdev" > /proc/sys/kernel/hotplug
+# read kernel command line for debugging switch
+DEBUG=0
+SPLASH=0
+read KCL < "/proc/cmdline"
+for opts in ${KCL}; do
+ case "${opts}" in
+ debug=*)
+ DEBUG=${opts#debug=} ;;
+ ip=*)
+ # process IP info
+ IPINFO=${opts#ip=} ;;
+ nfs=*)
+ NFS=${opts#nfs=}
+ NFSPATH=${NFS#*:}
+ NFSSERVER=${NFS%:/*}
+ ;;
+ BOOTIF=*)
+ MAC="$( echo "$opts" | cut -b 11- | tr '-' ':' | tr '[A-Z]' '[a-z]' )" ;; # make mac lowercase for udev (see setup_network)
+ splash*)
+ [ -e "/etc/splash.ppm" ] && SPLASH=1
+ esac
+done
+
setup_gfx () {
# read graphic and network adaptor configuration (without proprietary drivers yet)
# TODO: most ugly hack ever... needs to be improved when we add prop drivers
@@ -42,12 +65,10 @@ setup_gfx () {
modprobe "$DRM" 2>/dev/null
done
# start some kind of splash screen if activated
- if grep -q -o "splash" /proc/cmdline; then
- setsid fbsplash -c -s /etc/bootsplash.ppm
- fi
+ [ $SPLASH -eq 1 ] && setsid fbsplash -c -s /etc/splash.ppm
}
-if grep -q -o "splash" /proc/cmdline; then
+if [ $SPLASH -eq 1 ]; then
exec 3>&1 4>&2 > /dev/null 2>&1
echo "0 0 0 0" > /proc/sys/kernel/printk
setup_gfx
@@ -59,28 +80,8 @@ fi
# discover devices
mdev -s
-# read kernel command line for debugging switch
-DEBUG=0
-read KCL < "/proc/cmdline"
-for opts in ${KCL}; do
- case "${opts}" in
- debug=*)
- DEBUG=${opts#debug=} ;;
- ip=*)
- # process IP info
- IPINFO=${opts#ip=} ;;
- nfs=*)
- NFS=${opts#nfs=}
- NFSPATH=${NFS#*:}
- NFSSERVER=${NFS%:/*}
- ;;
- BOOTIF=*)
- MAC="$( echo "$opts" | cut -b 11- | tr '-' ':' | tr '[A-Z]' '[a-z]' )" ;; # make mac lowercase for udev (see setup_network)
- esac
-done
-
# suppress kernel output if DEBUG is not set
-if grep -q -o "splash" /proc/cmdline; then
+if [ $SPLASH -eq 1 ]; then
[ $DEBUG -ge 1 ] && echo "0 0 0 0" > /proc/sys/kernel/printk || echo "4 4 1 7" >/proc/sys/kernel/printk
fi