SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Just an FYI for everyone. starting with kernel 2.6.28 the asm include files have been moved and because of that klibc will fail to compile. I used a patch I found that made it so that klibc would successfully compile, but then I found out that any programs that rely on klibc (like v86d) will fail to compile. The reason for this the fact that the asm include files have been moved in the 2.6.28 kernels and beyond. To fix this you have to do a little work around.
1) change to your /usr/src/linux directory and backup your .config file somewhere safe. Now we need to change the asm symlink. delete the current symlink at /usr/src/linux/include/asm and then create a new asm symlink like so
cd /usr/src/linux/include
ln -s /usr/src/linux/arch/x86/include/asm
You should now be able to cleanly compile klibc and v86d with klibc support. Be sure to save your packages because once there made you do not need to recompile them with every new kernel release, so once you do this once your done, SAVE YOUR PACKAGE
Because we changed the asm symlink we have now in a sense broken the kernel directory, to fix it change to /usr/src/linux and then run
make mrproper
this will revert your kernel directory back to original settings. Then copy back your .config file to /usr/src/linux and then
make oldconfig
After that your kernel directory will be back to normal and you done. Its definitely a kludge but its the only way I found to compile klibc with never kernels.
I am not sure if this has been fixed in newer kernels or not, I haven't tested it in a while, so any feedback is appreciated.
Daedra, I haven't had time to try this out yet but I think it's worthy of a SlackWiki page...
You should when you get time, its so worth it. Anyone out there that uses the console as much as I do then this really is a must IMO, I have a 28in monitor with the console running at 1920x1200, it makes thing so much nicer to work with.
I got it working. My laptop's native resolution wasn't supported though. It's an Asus A8Js with a Geforce Go 7700 card.
I had a custom 2.6.29.4 kernel with the source archive in my home directory, so this is how I did it.
First, I compiled uvesafb into the kernel.
Then, I downloaded klibc-1.5.15 from kernel.org (it's in /testing) and the klibc-fix-2.6.28-includes.patch file from Arch Linux. I compiled klibc like this:
Code:
cd klibc-1.5.15
ln -s ../linux-2.6.29.4 ./linux
patch -p1 < ~/klibc-fix-2.6.28-includes.patch
make
su
make install
cp -a linux/arch/x86/include/asm/* /usr/lib/klibc/include/asm/
ldconfig
exit
Then I compiled v86d like this:
Code:
cd v86d-0.1.9
mkdir -p /usr/share/v86d
./configure --with-klibc
su
make install
cp misc/initramfs /usr/share/v86d
exit
Then I compiled the initramfs image into the kernel, as per Spock's instructions.
DONE!
This wasn't very useful because my native resolution wasn't supported anyway, but now I know how to do it.
Actually, I have been able to use higher resolutions with nvidia-card and vesa as well. You just have to define the correct vesa-modes, which are indeed not very easy to find. I had an app for this once called vbetest, it comes with lrmi and is also included in mplayer's vesautils. It lists the supported vesa-modes for your graphics card.
vbetest is a great utility and imho should be included on the installation CD. When I ran it on my T400, it gave me a mode number for 1280x800x24 (its native resolution). I added 512 to it and set the "vga=" line in lilo.conf to the result. It worked... with the stock kernel and the stock vesafb driver.
I wish I tried it before setting up uvesafb and not after <headdesk>.
Last edited by dugan; 08-08-2009 at 09:57 PM.
Reason: 24 bits, not 32
I am running -current. I googled for the error and found a patch.
lrmi on SlackBuilds.org already has a similar patch to make it build against newer kernels.
However, note that lrmi is unmaintained (unfortunately) and won't work/build on a 64bit system.
I've looked for a replacement to vbetest, that also works on slackware64, but so far no luck :/
lrmi on SlackBuilds.org already has a similar patch to make it build against newer kernels.
However, note that lrmi is unmaintained (unfortunately) and won't work/build on a 64bit system.
I've looked for a replacement to vbetest, that also works on slackware64, but so far no luck :/
IIRC, the s2ram tool packaged for debian-esque systems comes complete with a pre-compiled vbetool binary. So if the issue is precisely that it won't build on a 64bit arch, but maybe it will execute then you could get vbetool this way.
If it won't work though, this becomes irrelevant, and as you suggest, we'd be stuck
Ok, I did some more research today and may have something to replace lrmi/vbetest
The thing is called hwinfo and is the tool used by Opensuse for hardware detection (which means it's capable of far more than plain vesa mode detection).
Unfortunately those suse bast.. err developers forked off libx86, so you'll need libx86emu to compile hwinfo.
I have slackbuilds for both ready and would be happy if you could test these, preferably on -current. It seemed to run fine here on slack32 and slack64, but you never know...
./check_hd is the main part of the compilation process, and it is very CPU intensive. On my EeePC it runs for 20 minutes or half an hour at times. How long did you let yours run? Don't worry, if it got that far, it is very likely to compile just fine in the end.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.