[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