You are not logged in.

#1 2010-06-03 15:46:02

MickST
Member
Registered: 2010-02-26
Posts: 54

[SOLVED] Uvesafb compiled into the kernel.

I'm having some trouble getting uvesafb to work...

As far as I know, compiling it into the kernel is possible, but when I do I can't get it to work the following appears at boot time:

uvesafb: failed to execute /sbin/v86d
uvesafb: make sure that the v86d helper is installed and executable
uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
uvesafb: vbe_init() failed with -22
uvesafb: probe of uvesafb.0 failed with error -22

v86d is correctly installed and in place so I don't know why it's finding it. As I have /boot in a separate partition I tried even copying the executable to /, /boot and /boot/grub and changing where to find it in the kernel command line, none of it worked.

I was able to get it to work compiling it as a module and specifying it in the MODULES array in the kernel (I'm not using initramfs so I can't specify it in the mods array in mkinitcpio.conf), but it started way to late.

Any suggestion?

Thank you very much.

Last edited by MickST (2010-06-03 20:19:34)

Offline

#2 2010-06-03 16:25:04

Ultraman
Member
Registered: 2009-12-24
Posts: 242

Re: [SOLVED] Uvesafb compiled into the kernel.

I'm thinking it can not find v86d that early in the boot process, for the simple reason that your root filesystem is not mounted yet.
Perhaps a way to solve that would be to include the neccessary files to run v86d in the initramfs, but you are not using initramfs. And I do not know of another easy way to include the files that quick in the boot process.
But I am curious about something, why does uvesafb start "way too late" for you? You want to be able to read your kernel messages roll by in the full resolution of your screen? Want to get a fancy bootscreen using a splash of some sort? Another reason?

Last edited by Ultraman (2010-06-03 16:25:16)

Offline

#3 2010-06-03 16:38:52

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [SOLVED] Uvesafb compiled into the kernel.

+1 for Ultraman's line of thought. Not having an initramfs is hurting you here. The wiki page on uvesafb mentions that if you compile v86d into the kernel, you'll have to start it in userspace (/etc/rc.local). The only way to get it started as early as you want is to use initcpio.

http://wiki.archlinux.org/index.php/Uvesafb

Offline

#4 2010-06-03 17:27:14

MickST
Member
Registered: 2010-02-26
Posts: 54

Re: [SOLVED] Uvesafb compiled into the kernel.

Thank you for the answers, I think I'll have to use initramfs to accomplish what I wanted.

Using vesafb and passing the kernel the parameter vga=x I could get the resolution right in the first steps of booting. Loading uvesafb in the modules array I got the resolution when loading modules, and all of the text before that point was gone, only text from then on would appear; that's why I said it changed way too late.

Offline

#5 2010-06-03 18:25:31

MickST
Member
Registered: 2010-02-26
Posts: 54

Re: [SOLVED] Uvesafb compiled into the kernel.

It's not solved yet.

I've tried to include v86d in the BINARIES array of the mkinitcpio configuration but uvesafb can't find it either.

I was thinking that there may not be a way to do it until I realized the wiki states I will have to call v86d later on, but it says nothing about the error messages at boot so it may be possible to accomplish it.

EDIT: Everything is right, I had not specified the initramfs when booting so it was not being used, putting /sbin/v86d in the BINARIES array gets it to work.

Last edited by MickST (2010-06-03 20:20:46)

Offline

Board footer

Powered by FluxBB