[wellylug] Framebuffer troubles

Cliff Pratt enkidu at cliffp.com
Sat Jan 8 10:26:19 NZDT 2005


jumbophut wrote:
> On Fri, 07 Jan 2005 11:18:28 +1300, Cliff Pratt wrote:
> 
>>jumbophut wrote:
>>
>>>I was under the impression that vesafb uses the BIOS to set the video
>>>mode and only works in real mode, so that loading the module in a bash
>>>script (which is what the initrd does) after boot is not going to
>>>work.
>>>
>>
>>As I understand it, the initrd is for exactly this situation
>>- it loads the modules that are *required* at boot time, eg
>>scsi drivers, sata drivers and whatnot.
> 
> Thanks Cliff.
> 
> 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.
> 
> Is anybody else using Debian 2.6.8-1 with initrd?  If so, I'd be
> interested to know if vesafb fails to load (dmesg | grep vesafb would
> tell you).  You wouldn't even notice if you were running X by default,
> since everything can be supported in X without vesafb.  I'm not
> running X, so I do notice.
> 
> I'll report this to the Debian guys if I'm not the only person having a problem.
> 
>>When you say "it fails", what exactly happens?
> 
> It fails to probe with error -6 (I have no idea what that is).
> 
> I'm sort of resigning myself to recompiling the kernel, which means --
> yechhh! -- installing all the devel tools.
> 
The stock Debian kernel *may* require initrd, but the kernel 
itself does *not*. I haven't used an initrd in ages. I have 
2.6.8 and 2.6.10 around at the moment.

Looks like others have the same problem:

http://lists.debian.org/debian-kernel/2004/07/msg00188.html

Cheers,

Cliff




More information about the wellylug mailing list