Re: Splash screen upon startup

Search this archive.

From: Matan Ziv-Av (matan@arava.co.il)
Date: Wed 11 Aug 1999 - 22:29:23 IDT


On Wed, 11 Aug 1999, Jay Link wrote:

> 
> Hi everyone,
> 
> I am attempting (and failing miserably) to create a graphic spalsh screen
> to be displayed upon Linux startup, like in Windows9x and Macintosh. I'm
> thinking that all one needs to do is modify vga_init() &
> __svgalib_open_devconsole() to just use /dev/console and to not worry
> about ttys.
> 
> Then, the code needs to be entered into /usr/src/linux/init/main.c , and
> the kernel compiled with a static link to libvga.a and libc.a (or,
> actually to /lib/libc.so.5 , since several versions of libc.a that I've
> tried produced errors -- and -lc doesn't work either, since it wants a
> static file).
> 
> Can anyone help me with the modifications to vga_init(), et al, or offer
> any other advice?

Why not enter graphics mode before entering boot mode? All you have to
do is an int 10h call.

If you must do it after entering protected mode, you don't need as much
of svgalib as you seem to believe.

You only need 
__svgalib_saveregs()
__svgalib_setregs()
and a moderegs table from vgadrv.c for the mode you want to use.
You also need the save and restore font routines from initialize() and
vga_setmode(), if you don't want to use the setfont program after
restoring the text mode.

I don't know much about kernel programming, but I believe you can use
the memory at 0xa0000 directly, without calling mmap.
 

-- 
Matan Ziv-Av.                         matan@svgalib.org


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:22 IST