NOTE: if you read the tutorial and are still experiencing difficulties and would like help, you are asked to start a new topic on the forums.
Please do NOT reply to this thread to ask a technical question. Replies to THIS thread should be corrections and enhancements on the tutorial/howto only.
Thanks in advance for your co-operation.
LinuxForums.org
------------------------------------------
How to set up Framebuffer
Written by sarumont of the
http://www.linuxforums.org team.
reference sources:
http://forums.gentoo.org Overview
This HOWTO is to assist you in setting up framebuffer on your system. The main
benefit of framebuffer is having a larger resolution for your virtual
terminal(s). You can also make your terminals "pretty" by adding a background
picture much like your Desktop (with a script called bootsplash), and
framebuffer can also be used to run Xprograms (via a rootless XServer running on
top of framebuffer). This tutorial will deal with setting up framebuffer to run
higher resolution virutal terminals.
Tools needed:
1) root access
2) knowledge of how to compile a custom kernel for your distro (I'll provide a
general tutorial of this, though it may not work correctly for your distro)
3) a 2.4.20 or later build of the linux kernel (feel free to try a lower
version)
Kernel configuration:
First off, there are some kernel options that you need to enable.
start: Generic kernel compile code
Code:
su
cd /usr/src/linux
make menuconfig
end: Generic kernel compile code
Here are the options you need to enable:
Quote:
Code maturity level options --->[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->[*] MTRR (Memory Type Range Register) support
Block Devices ->[*] Loopback device support[*] RAM disk support
(4096) Default RAM disk size[*] Initial RAM disk (initrd) support
Console Drivers ->[*] VGA text console[*] Video mode selection support
Console Drivers -> Frame-buffer support ->[*] Support for frame buffer devices[*] VESA VGA graphics console[*] Use splash screen instead of boot logo
|
Save your configuration and exit.
start: Generic kernel compile code
Code:
make dep && make clean bzImage modules modules_install
(make sure /boot is mounted)
mv /boot/bzImage /boot/bzImage.old
cp ./arch/i386/boot/bzImage /boot/bzImage
end: Generic kernel compile code
Bootloader configuration:
Now all you have to do is configure your bootloader. First off, make a backup of your config file.
Code:
cp ./grub.conf ./grub.conf.old
Here is a sample grub.conf
file:
Code:
default 0
timeout 7
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo GNU/Linux 1.4 with framebuffer
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesa:ywrap,mtrr
vga=0x31A
And if you swing the LILO way:
Code:
cp ./lilo.conf ./lilo.conf.old
Code:
image="/boot/bzImage"
vga=0x31A
root="/dev/hdb2"
label="2.4.20-r4"
read-only # read-only for checking
append="hdc=ide-scsi video=vesa:ywrap,mtrr"
Here is the table of color depths (if you're not planning to use bootsplash
these aren't very important) and resolutions for the "vga=" kernel argument:
Code:
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
Save your grub.conf or lilo.conf.
Optional:
To make all of your virtual terminals use framebuffer, edit your /etc/inittab,
adding these lines in the vacinity of line 37:
Code:
c8:12345:respawn:/sbin/agetty 38400 tty8 linux
c9:12345:respawn:/sbin/agetty 38400 tty9 linux
c10:12345:respawn:/sbin/agetty 38400 tty10 linux
c11:12345:respawn:/sbin/agetty 38400 tty11 linux
c12:12345:respawn:/sbin/agetty 38400 tty12 linux
and you'll have framebuffer on all your terminals.
Now reboot your box and all will be concluded.
I'll be following this tutorial up with two more on the same subject. One to set up bootsplash and the other for setting up an XServer on framebuffer.