[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#416063: Revised Patch



After further experimentation, I discovered additional problems that my
first patch did not address, namely that

1) Some FB drivers need the AGP subsystem up and running before they
   are loaded and
2) intelfb needs intel-agp.ko, but does not have a dependency on it.

This version of the patch includes all AGP modules in the initramfs
image in addition to the framebuffer modules, and includes a workaround
for intelfb's buggy dependencies.

intelfb does not actually *work* on my testsystem after this (it
crashes), but unlike with plain initramfs-tools, it loads (and prints
something useful if loaded with the probeonly option). I'll try to find
out why it fails to work tomorrow; it's probably an unrelated issue.
diff -ru initramfs-tools.old/hook-functions initramfs-tools.new/hook-functions
--- initramfs-tools.old/hook-functions	2007-03-24 23:44:01.000000000 +0100
+++ initramfs-tools.new/hook-functions	2007-03-24 23:39:50.000000000 +0100
@@ -171,6 +171,15 @@
 			manual_add_modules "${x}"
 		done
 	;;
+	fb)
+		for x in arcfb aty128fb atyfb radeonfb cirrusfb cyber2000fb cyblafb \
+		gx1fb gxfb hgafb i810fb intelfb kyrofb matroxfb_base matroxfb_maven \
+		neofb nvidiafb pm2fb s1d13xxxfb savagefb sisfb sstfb tdfxfb tridentfb \
+		vfb ali-agp amd64-agp amd-k7-agp ati-agp efficeon-agp intel-agp \
+		nvidia-agp sis-agp sworks-agp via-agp; do
+			manual_add_modules "${x}"
+		done
+	;;
 	ide)
 		for x in ide-cd ide-disk ide-generic aec62xx alim15x3 \
 		amd74xx atiixp atuuxo cmd64x cs5520 cs5530 cy82c693 \
@@ -219,6 +228,7 @@
 	*)
 		auto_add_modules base
 		auto_add_modules net
+		auto_add_modules fb
 		auto_add_modules ide
 		auto_add_modules scsi
 		auto_add_modules ata
diff -ru initramfs-tools.old/scripts/init-top/framebuffer initramfs-tools.new/scripts/init-top/framebuffer
--- initramfs-tools.old/scripts/init-top/framebuffer	2007-03-24 23:44:01.000000000 +0100
+++ initramfs-tools.new/scripts/init-top/framebuffer	2007-03-24 23:39:50.000000000 +0100
@@ -76,11 +76,17 @@
 	esac
 done
 
-# Map command line name to module name
+# Module-specific workarounds
 case ${FB} in
 matroxfb)
+	# Needs a different module name
 	FB=matroxfb_base
 	;;
+intelfb|i810fb)
+	# Needs a special AGP driver, even though the module does
+	# not specify a dependency on it
+	modprobe -q intel-agp
+	;;
 *)
 	;;
 esac

Reply to: