summaryrefslogtreecommitdiff
path: root/scripts/init-top
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2009-07-29 15:46:48 +0200
committermaximilian attems <maks@debian.org>2009-07-29 15:48:15 +0200
commitdb24ed6ec7887631c05ce0d51c53c8c2cb9c507a (patch)
treecdbd426928ec8ad7c35d963ce22b2658710579d0 /scripts/init-top
parent0bb01935dd103bc64462ad2f8774773b5e594098 (diff)
nuke framebuffer boot script
fb should be loaded after initramfs by init to have a beautiful userland. allows faster boot not to try parsing crazy things with only posix sh at our hands. this will need a README.DEBIAN section as noone is now currently loading fbcon. Signed-off-by: maximilian attems <maks@debian.org>
Diffstat (limited to 'scripts/init-top')
-rwxr-xr-xscripts/init-top/framebuffer108
1 files changed, 0 insertions, 108 deletions
diff --git a/scripts/init-top/framebuffer b/scripts/init-top/framebuffer
deleted file mode 100755
index 678ffdf..0000000
--- a/scripts/init-top/framebuffer
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/sh
-
-PREREQ=""
-prereqs()
-{
- echo "$PREREQ"
-}
-case $1 in
-# get pre-requisites
-prereqs)
- prereqs
- exit 0
- ;;
-esac
-
-
-# The options part of the kernel "video=" argument (i.e. everyting
-# after "video=<fbdriver>:") has very inconsistent rules.
-#
-# Generally the following applies:
-# 1) options are comma-separated
-# 2) options can be in either of these three forms:
-# <arg>=<value>, <arg>:<value>, <boolean-arg>.
-# 3) the "mode" option has the form <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m]
-# and may or may not start with "mode="
-#
-# When the options are used with modules, they need to be space-separated
-# and the following conversions are needed:
-# <arg>:<value> -> <arg>=<value>
-# <boolean-arg> -> <boolean-arg>=1
-# <modevalue> -> mode=<modevalue>
-parse_video_opts()
-{
- local OPTS="$1"
- local IFS=","
-
- # Must be a line like video=<fbdriver>:<opt1>,[opt2]...
- if [ "${OPTS}" = "${OPTS%%:*}" ]; then
- return
- fi
- OPTS="${OPTS#*:}"
- for opt in ${OPTS}; do
- # Already in the "<arg>=<value>" form
- if [ "${opt}" != "${opt#*=}" ]; then
- echo -n "$opt "
- # In the "<arg>:<value>" form
- elif [ "${opt}" != "${opt#*:}" ]; then
- echo -n "${opt%:*}=${opt#*:} "
- # Presumably a modevalue without the "mode=" prefix
- elif [ "${opt}" != "${opt#[0-9]*x[0-9]}" ]; then
- echo -n "mode=$opt "
- # Presumably a boolean
- else
- echo -n "${opt}=1 "
- fi
- done
-}
-
-FB=""
-OPTS=""
-
-for x in $(cat /proc/cmdline); do
- case ${x} in
- vga=*)
- FB="vesafb";
- OPTS="";
- ;;
- video=*)
- FB=${x#*=}
- FB="${FB%%:*}"
- OPTS="$(parse_video_opts "${x}")"
- esac
-done
-
-# Module-specific workarounds
-case ${FB} in
-matroxfb)
- # Map command line name to module name
- FB=matroxfb_base
- ;;
-intelfb|i810fb|i915)
- # Needs AGP driver loaded
- modprobe intel-agp
- ;;
-uvesafb)
- # v86d requires /dev/zero and dev/mem, but udev haven't been started yet
- [ -e /dev/zero ] || mknod -m 0666 /dev/zero c 1 5
- [ -e /dev/mem ] || mknod -m 0640 /dev/mem c 1 1
- ;;
-*)
- ;;
-esac
-
-if [ -n "${FB}" ]; then
- unset MODPROBE_OPTIONS
- modprobe -q fbcon
- modprobe -q ${FB} ${OPTS}
-fi
-
-if [ -e /proc/fb ]; then
- while read fbno desc; do
- if [ $(($fbno < 32)) ]; then
- mknod -m 0640 /dev/fb${fbno} c 29 ${fbno}
- fi
- done < /proc/fb
-else
- mknod -m 0640 /dev/fb0 c 29 0
-fi