summaryrefslogtreecommitdiff
path: root/scripts/init-top/framebuffer
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/init-top/framebuffer')
-rwxr-xr-xscripts/init-top/framebuffer17
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/init-top/framebuffer b/scripts/init-top/framebuffer
index 21a6b19..0ed798e 100755
--- a/scripts/init-top/framebuffer
+++ b/scripts/init-top/framebuffer
@@ -72,11 +72,16 @@ for x in $(cat /proc/cmdline); do
esac
done
-# Map command line name to module name
+# 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
@@ -85,3 +90,13 @@ 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