[wellylug] Framebuffer troubles

Richard Hector richard at walnut.gen.nz
Sat Jan 8 12:05:47 NZDT 2005


On Fri, Jan 07, 2005 at 01:17:55PM +1300, jumbophut wrote:
> 
> I've been doing some more digging.  My current understanding is:
> 
> 1) The vesafb code needs to be run in real mode, which means early in
> the kernel boot (see vesafb.c in the kernel source).
> 
> 2) Only one kernel is ever loaded, whether initrd is used or not.  It
> loads completely before the initrd file system is mounted, which -- I
> understand -- is well after the kernel switches from real to protected
> mode.
> 
> 3) The initrd just runs a shell script (linuxrc), which attempts to
> load modules, mount the real root file system and change the root to
> the real root file system.
> 
> 4) All the modules load fine, except vesafb, which can't load because
> the kernel has switched to protected mode some time ago.
> 
> I wondered if I might be missing some trick to load the module in
> protected mode (e.g. BIOS emulation, or using Gentoo vesafb-tng
> patches).  If not, I just don't understand why the stock Debian
> 2.6.8-1 kernel, which _requires_ initrd, would make vesafb a module
> rather than compiling it in.

If it has to load that early, then compiling it as a module at all would
be pointless, because AFAIK there's no way to load modules that early,
whether using initrd or not. So if it is compilable as a module, then
I'd assume it can be loaded later somehow.

Richard




More information about the wellylug mailing list