diff options
Diffstat (limited to 'scripts/init-top')
-rwxr-xr-x | scripts/init-top/all_generic_ide | 4 | ||||
-rwxr-xr-x | scripts/init-top/blacklist | 25 | ||||
-rwxr-xr-x | scripts/init-top/framebuffer | 102 |
3 files changed, 27 insertions, 104 deletions
diff --git a/scripts/init-top/all_generic_ide b/scripts/init-top/all_generic_ide index 3274ee8..e9539d8 100755 --- a/scripts/init-top/all_generic_ide +++ b/scripts/init-top/all_generic_ide @@ -16,11 +16,11 @@ esac for x in $(cat /proc/cmdline); do case ${x} in all_generic_ide) - modprobe ide-generic + modprobe ata_generic all_generic_ide=1 ;; all_generic_ide=*) if [ ${x#all_generic_ide=} ]; then - modprobe ide-generic + modprobe ata_generic all_generic_ide=1 fi ;; esac diff --git a/scripts/init-top/blacklist b/scripts/init-top/blacklist new file mode 100755 index 0000000..2164906 --- /dev/null +++ b/scripts/init-top/blacklist @@ -0,0 +1,25 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +# sanity check +[ -z "${blacklist}" ] && exit 0 + +# write blacklist to modprobe.d +IFS=',' +for b in ${blacklist}; do + echo "blacklist $b" >> /etc/modprobe.d/initramfs.conf +done diff --git a/scripts/init-top/framebuffer b/scripts/init-top/framebuffer deleted file mode 100755 index 0ed798e..0000000 --- a/scripts/init-top/framebuffer +++ /dev/null @@ -1,102 +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 - -# Map command line name to module name and other tweaks -case ${FB} in -matroxfb) - FB=matroxfb_base - ;; -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 - modprobe fbcon - modprobe ${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 |