You are not logged in.
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
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
+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.
Offline
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
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