LinuxÒÁµéÔ°ÂÛ̳'s Archiver

maxzhongcn ·¢±íÓÚ 2003-12-4 14:16

Gentoo Framebuffer, Bootsplash & Grubsplash Ö¸ÄÏ£¨Ð޸İ棩

Gentoo Framebuffer, Bootsplash & Grubsplash Ö¸ÄÏ

¡¾Ô­Öø£ºNarada   ·­Ò룺Max¡¿

×¢£º±¾ÎÄÖ»²¿·Ö·­Ò룬²¢¼ÓÈëÁËÆäËüÄÚÈÝ¡£
Ô­ÎÄÇë·ÃÎÊ£º[url]http://forums.gentoo.org/viewtopic.php?t=49036[/url]

---------------------------------------------


Ò».Äں˲¹¶¡

ÏÂÃæÊǶԲ¿·ÖÄÚºËµÄ bootsplash ²¹¶¡ÏÂÔØµØÖ·:

2.4.20
[url]ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/bootsplash-3.0.7-2.4.20-vanilla.diff[/url]

2.4.21
[url]http://dhruba.codewordt.co.uk/patches/patch-2.4.21-bootsplash.bz2[/url]

2.4.22
[url]ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/bootsplash-3.0.7-2.4.22-vanilla.diff.bz2[/url]

2.6.0-test9
[url]ftp://ftp.suse.com/pub/people/stepan/bootsplash/kernel/bootsplash-3.1.3-2.6.0-test9.diff[/url]

×¢£º±¾ÎÄϵͳƽ̨²ÎÊý£º

Gentoo 1.4 RC4

kernel 2.4.20-r8

Simsung 753 DFX 1024x768@75Hz

Nvidia GF2 MX400 64M

¶þ.·½°¸Ä¿±ê

¸ß·Ö±æÂ浀 Framebuffer

¸ß·Ö±æÂ浀 Bootsplash

×Ô¶¨Òå Framebuffer ×ÖÌå

×Ô¶¨Òå Bootsplash Ö÷Ìâ

¸øÄãµÄ Framebuffer ºÍ Bootsplash ½ØÍ¼

ÔÚ Framebuffer ÏÂʹÓöàýÌ幤¾ßºÍͼÐλ¯µÄä¯ÀÀÆ÷

×Ô¶¨Òå Grub splash ͼÏñ

À©Õ¹ Framebuffer ºÍ bootsplash µ½ËùÓÐ12¸öÐéÄâÖÕ¶Ë

ÈÃÐéÄâÖÕ¶ËÖ§³ÖÖÐÎÄ

×Ô¶¨ÒåµÇ¼Îʺò»­Ãæ


Èý.¿ªÊ¼¹¤×÷!

1.»ñÈ¡±ØÐëµÄ bootsplash ³ÌÐò

¸üРportage Ê÷
[CODE]emerge sync[/CODE]

±àÒë°²×°media-gfx/bootsplash (×Ö·û½çÃæÏ嵀 Framebuffer ±³¾°Í¼Ïñ).
ÓÉÓÚbootsplashĬÈÏÇé¿öÏÂÊÇmaskµÄ£¬ËùÒÔÎÒÃÇÒª£º

[CODE]ACCEPT_KEYWORDS="~x86" emerge bootsplash[/CODE]

¸²¸ÇÄãÔ­À´µÄbootsplashÅäÖÃÎļþ£º

[CODE]etc-update[/CODE]


2.±àÒëÄÚºËÒÔÖ§³Ö Framebuffer & Bootsplash

Ê×Ïȼì²é /usr/src/linux ÊÇ·ñÖ¸ÏòÄ㵱ǰÄÚºËÔ´´úÂëĿ¼

[CODE]ls -l /usr/src/[/CODE]

һЩ°æ±¾µÄÄÚºËÈç gentoo-sources, gaming-sources ºÍ xfs-sources ÒѾ­ÄÚÖÃÁË Framebuffer Ö§³Ö£¬Èç¹ûÄãµÄÄÚºËûÓÐÖ§³Ö£¬Çë¼ì²é²¢ÈçÏ´òÉϲ¹¶¡¡£

[CODE]ebuild /var/db/pkg/media-gfx/bootsplash-0.6-r2/bootsplash-0.6-r2.ebuild config[/CODE]

¿ªÊ¼ÅäÖÃÄÚºË
[CODE]cd /usr/src/linux
make menuconfig[/CODE]

°ÑÒÔϸ÷Ïî±àÒë½øÄÚºË.²»Òª±àÒë³ÉÄ£¿é£¬Ò²²»Òª¿ªÆô nvidia »ò ATI Ñ¡ÏÎÒÃÇÖ»ÒªÓÐvesa¾Í¿ÉÒÔÁË£©.


[CODE]
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
[/CODE]

¿ªÊ¼±àÒëÄںˣ¬²¢¸´ÖÆÐÂÄں˵½ /boot £¨Äã×îºÃÏȱ¸·ÝÏÖÓÐÄںˣ©£¬Íê³ÉºóÏȲ»ÒªÖØÐÂÆô¶¯£¬Ò²²»ÒªÐ¶ÔØ /boot·ÖÇø¡£

[CODE]
make dep && make clean bzImage modules modules_install
mount /boot
cp /boot/vmlinuz-2.4.20-r8 /boot/vmlinuz-2.4.20-r8.bak
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-r8-fb [/CODE]

Èç¹ûÄãÔÚ±àÒëÄں˹ý³ÌÖгöÏÖ´íÎ󣬻òÕß¶ªÊ§ÁËһЩÅäÖÃÑ¡ÏÇë°´ÕÕÏÂÃæ²½ÖèÖØÐ±àÒë¡£

[CODE]
cd /usr/src/linux/
mv .config ~/kernel.config
make mrproper
mv ~/kernel.config .config
make oldconfig
make menuconfig
[/CODE]

ÏÂÃæÉú³ÉÒ»¸öÆô¶¯¹ý³ÌÖеı³¾°Í¼Ïñ£º

[CODE]
/sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1024x768.cfg > /boot/initrd-1024x768
[/CODE]

±à¼­/boot/grub/grub.conf£¬ÏÂÃæÊÇÎÒµÄgrub.conf,Äã¿ÉÒԲο¼ÎҵļÓÒÔÐ޸ģ¬ÏÂÃæÊÇһЩ²ÎÊýµÄÒâ˼£º

video= ·ÅÔÚ kernelÒ»ÐкóÃæ£¬ÓÃÒÔ¿ØÖÆÏÔʾ²ÎÊý£¬ È磺ywrapºÍmtrr À´¼ÓËÙ Framebuffer ˢС£
vga= ·ÅÔÚ kernelÒ»ÐкóÃæ£¬ÓÃÒÔ¿ØÖÆ Framebuffer µÄ·Ö±æÂʺÍÉ«²ÊÉî¶È¡£
splash= ·ÅÔÚ kernelÒ»ÐкóÃæ£¬Ò»°ãÓÐ'silent'¡¢'verbose' ¿ÉÑ¡¡£
initrd= ·ÅÔÚ kernel Ò»ÐкóÃæÁíÆðÒ»ÐУ¬ÓÃÀ´×°ÔØÆô¶¯Ê±µÄ±³¾°Í¼Ïñ¡£

[CODE]
timeout 30
default 0
splashimage=(hd0,7)/grub/splash.xpm.gz
# For booting Windows 200 Pro
title Windows 2000 Pro
rootnoverify (hd0,0)
chainloader +1

# For booting Gentoo Linux with Framebuffer & Bootsplash
title Gentoo Linux 1.4 RC4 (2.4.20-8) Framebuffer
root (hd0,9)
kernel (hd0,7)/vmlinuz-2.4.20-r8-fb ro root=/dev/hda10 video=vesa:1024x768@72 vga=0x317
initrd (hd0,7)/initrd-1024x768

# For booting Gentoo Linux without Framebuffer & Bootsplash
title Gentoo Linux 1.4 RC4 (2.4.20-8)
root (hd0,9)
kernel (hd0,7)/vmlinuz-2.4.20-r8 ro root=/dev/hda10
[/CODE]


ÏÂÃæÊÇ kernel ÖÐ "vga="²ÎÊýÒ»ÀÀ±í£¬¸ù¾Ý×Ô¼ºµÄÇé¿öÑ¡Ôñ¡£

[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
[/CODE]


Èç¹ûÄãÐèÒª¸üÏêϤµÄ½âÊÍ£¬Çë²Î¿¼ÏÂÃæµÄÎĵµ£º

[CODE]
/usr/share/bootsplash/grub.conf.sample
/usr/src/linux/Documentation/fb/vesafb.txt
/usr/src/linux/Documentation/svga.txt
[/CODE]

°Ñ bootsplash ¼ÓÈëdefaultÔËÐм¶£¬ÈÃÆäÔÚÆô¶¯ÊÇ×Ô¶¯ÔËÐУº
[CODE]rc-update add bootsplash default[/CODE]

ÏÖÔÚÖØÆô£¡Èç¹ûÒ»ÇÐÕý³£Äã¾Í»á¿´µ½Æ¯ÁÁµÄ Framebuffer ºÍ Bootsplash À²£¡

Èç¹ûÖ»ÏëʹÓà Framebuffer ¶ø²»ÐèÒª Bootsplash ,Ö»Òª£º

[CODE]rc-update del bootsplash default[/CODE]

²¢ÇÒÈ¥µôgrub.confÖеÄÕâÒ»ÐУº

[CODE]initrd=/boot/initrd-1280x1024 [/CODE]

¼õСÖÕ¶Ë×ÖÌ壬´ò¿ª/etc/rc.conf,ÐÞ¸ÄÏÂÃæÒ»ÐÐ

[CODE]CONSOLEFONT="default8x9"[/CODE]

ÆäËü¿ÉÓÃ×ÖÌå¿ÉÒԲο¼ÏÂÃæµÄĿ¼£º

[CODE]/usr/share/consolefonts[/CODE]

3.×Ô¶¨ÒåÄãµÄ Bootsplash Ö÷Ì⣡

½¨Á¢ personal Ŀ¼£º

[CODE]mkdir -p /etc/bootsplash/personal/images/
cp -r /etc/bootsplash/default/config /etc/bootsplash/personal/
[/CODE]

ÐÞ¸Ä default ·ûºÅÁ´½Ó£º

[CODE]rm /etc/bootsplash/default
ln -s /etc/bootsplash/personal /etc/bootsplash/default[/CODE]

´ò¿ª /etc/conf.d/bootsplash.conf ²¢ÐÞ¸ÄÈçÏ£º

[CODE]BOOTSPLASH_THEME=personal[/CODE]

°ÑÄãµÄ bootsplash ͼÏñ£¨´óСҪÓëgrub.confÖеÄÏàÒ»Ö£©¸´ÖƵ½ /etc/bootsplash/personal/images/bootsplash-1024x768.jpg. È·±£Í¼Ïñ·Ö±æÂÊΪ 96x96£¬ ×¢ÒâÕâÀïÖ¸µÄ²»ÊÇͼÏñµÄ´óС£¬¶øÊÇÿӢ´çµÄÏñËØÖµ£¬¿ÉÒÔʹÓÃgimpµÈÐ޸ġ£

´ò¿ª /etc/bootsplash/personal/config/bootsplash-1024x768.cfg ²¢ÐÞ¸ÄÈçÏ£¬ÒÔÖ¸ÏòÄãµÄÐÂͼÏñλÖãº

[CODE]
mount /boot
/sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1024x768.cfg > /boot/initrd-1024x768
[/CODE]

ÖØÆô£¡¿´¿´Ð§¹û°É£¡

3.¸øÎÒµÄ Framebuffer ½ØÍ¼£¡

±àÒë°²×° fbgrab

[CODE]ACCEPT_KEYWORDS=~x86 emerge fbgrab
fbgrab ~/console.png [/CODE]

4.×Ô¶¨Òå Grub splash ͼÏñ!

Òª×Ô¶¨Òå grub splash£¬Ö»Òª×Ô¶¨ÒåÒ»·ùͼÏñ¸´ÖƵ½ /boot/grub ¾Í¿ÉÒÔÁË¡£

ÏȰ²×°Ò»¸ögimpµÄ²¹¶¡ÓÃÀ´Éú³Égrub¿ÉÒÔʹÓõÄͼÏñ¸ñʽ£º

[CODE]
emerge gimp £¨Èç¹ûÄ㻹ûÓÐ gimp )
wget [url]http://dhruba.codewordt.co.uk/files/grub-image.scm[/url] -P ~
mv ~/grub-image.scm /usr/share/gimp/1.2/scripts/
[/CODE]

Óà gimp ´ò¿ªÄãÑ¡ÔñµÄͼƬ£¬ÓÒ¼üµ¥»÷ͼÏñ£¬File > Grub Boot Image£¬È»ºó±£´æÆðÀ´£¬
ÏÂÃæÓÐÒ»¸öÀý×ÓͼƬ£¬ÆäËüͼƬ¿ÉÒÔµ½ÕâÀïÕÒ£º [url]http://linuxserver.tkdack.com/node.php?title=Grub%20Splash%20Screens[/url]

[CODE]
mount /boot
wget [url]http://linux.tkdack.com/downloads/grub/powered-by.xpm.gz[/url] -P ~
mv ~powered-by.xpm.gz /boot/grub/
[/CODE]

ÐÞ¸Ä /boot/grub/grub.conf Ö¸ÏòÄãµÄÐÂͼÏñ£º

[CODE]splashimage=(hd0,0)/boot/grub/splash.xpm.gz [/CODE]

5.À©Õ¹ Framebuffer µ½ 12 ¸öÐéÄâÖÕ¶Ë£¡

´ò¿ª /etc/inittab £¬ÔÚµÚ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
[/CODE]

´ò¿ª /etc/init.d/bootsplash£¬ÔÚµÚ30ÐÐÐÞ¸ÄÈçÏ£º

[CODE]for TTY in `seq 0 11`[/CODE]


ÖØÆôºóÄã¾ÍÓÐÁË 12 ¸öÐéÄâÖն˲¢¶¼Ö§³Ö Framebuffer splash ͼÏñÁË£¡

6.ÈÃÐéÄâÖÕ¶ËÖ§³ÖÖÐÎÄ

°²×°unicon

[CODE]emerge unicon[/CODE]

ÕâÀïÏÂÔØ±àÒëzhcon

[url]http://prdownloads.sourceforge.net/...tar.gz?download[/url]

[CODE]./configure & make & make install[/CODE]

°²×°×Ö·û½çÃæÏµÄä¯ÀÀÆ÷

[CODE]
emerge lynx  

or

emerge w3m £¨ÍƼö£©

[/CODE]


7.ÈÃÐéÄâÖÕ¶ËÖ§³ÖÊó±ê

[CODE]emerge gpm[/CODE]

ÐÞ¸Ä /etc/conf.d/gpm

[CODE]
MOUSE=ps2
#MOUSE=imps2
MOUSEDEV=/dev/psaux
#MOUSEDEVMOUSE=ps2
#MOUSEDEV=/dev/input/mice
[/CODE]

°Ñgpm¼ÓÈëdefaultÔËÐм¶

[CODE]rc-update add gpm default[/CODE]

ÖØÆôºó×Ö·û½çÃæÏ¾ͿÉÒÔʹÓÃÊó±êÀ²£¬×ó¼üÍ϶¯Ñ¡Ôñ£¬Öмüµ¥»÷Õ³Ìù¡£


8.×Ô¶¨ÒåµÇ¼Îʺò»­Ãæ

ÏÂÔØ°²×° cowsay

[url]http://freshmeat.net/redir/cowsay/1504/url_tgz/cowsay-3.03.tar.gz[/url]

[CODE]
./configure --prefix=/usr
make & make install[/CODE]

½¨Á¢ÈçÏ /etc/init.d/issue ½Å±¾Îļþ£º

[CODE]
#!/bin/sh
# Local system initialization script
RELEASE="release 1.1a"
COLOR1="\033[1;6m\033[35;40m" # bright magenta on black  COLOR2="\033[1;6m\033[37;40m" # bright white on black
COLOR3="\033[1;6m\033[33;40m"
COLOR_RESET="\033[0m"
rm -f /etc/issue
/usr/bin/clear >> /etc/issue
/usr/bin/cowsay "Hello World" >> /etc/issue
echo -e $COLOR1"Gentoo"$COLOR2 "Linux"$COLOR_RESET "$RELEASE" "(\l)">>/etc/issue
echo "Kernel $(uname -r) on an $(uname -m)" >> /etc/issue
echo -e $COLOR3"Welcome to the My Linux World!">>/etc/issue
echo >>/etc/issue
cp -f /etc/issue /etc/issue.net
[/CODE]

[CODE]chmod +x /etc/init.d/issue[/CODE]

Ìí¼ÓxÊôÐÔ£¬¼ÓÈë default ÔËÐм¶»ò local.start½Å±¾Ö´ÐУº

[CODE]
rc-update add issue default
»òÕß
echo /etc/init.d/issue >> /etc/conf.d/local.start
[/CODE]


ËÄ¡¢×ܽá

ÖÁ´Ë£¬ÎÒÏëÎÒÃÇ¿ÉÒÔ»ù±¾ÉÏ·ÅÆúXÁË£¬ÒòΪÎÒÃÇÒѾ­ÓÐÁËÒ»¸ö²»ÑÇÓÚXµÄƯÁÁµÄ¹¤×÷»·¾³¡£Èç¹ûÄãϲ»¶ÓÃvi³¬¹ýgedit,ϲ»¶mpg123³¬¹ýxmms,ϲ»¶×ÜÊǰÑÊÖÖ¸·ÅÔÚ¼üÅÌÉÏ£¬¶ø²»ÊÇÄÃ×ÅÊó±ê»ÎÀ´»ÎÈ¥£¬ÄÇôÄã»á´ÓÕâÆªÎĵµµÃµ½ÏíÊÜ£¡

-------------------------------------------------------------

·­Òëʱ¼ä£º2003-12-3

Email£ºmax@microweb.3322.org

·çÖÐ×··ç ·¢±íÓÚ 2003-12-4 17:33

ÐÁ¿àÁË£¬thanks!

tseteen ·¢±íÓÚ 2004-4-1 11:42

Õâ¸öÌû×ÓÏÖÔڲſ´µ½ : (

zysno1 ·¢±íÓÚ 2005-6-3 15:08

ºÃÌû£¡£¡£¡£¡
¶¥ÆðÀ´¡£

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.