Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jan 1998 23:33:39 +1030
From:      Mike Smith <mike@smith.net.au>
To:        hackers@FreeBSD.ORG
Subject:   Splash screen (splashkit) for 3.0 systems...
Message-ID:  <199801061303.XAA00382@word.smith.net.au>

next in thread | raw e-mail | index | archive | help

This appears to have been lost in the christmastime mail mangle...


Some people may remember the 'splashkit' I did for 2.2 systems early 
last year.  After not a little tinkering, I've adapted this for 3.0.

Rather than requring the bitmap be compiled into the kernel (although 
still supporting this), the new code uses a new "extras" section 
placed after the kernel but before the symbol table by the bootloader.

This "extras" section can be used for other items as well, not being 
restricted to just the splash image.  The kernel.config file is a good 
example of this.  (Some work is needed to support the extras region in 
the kzip environment, but it can be done.)

Before bundling and releasing this (or just plastering it into -current 
8) I'm looking for:

 - Testers.  Naturally, I need people to find my bugs. 8)

 - A better image format.  The DIB (.BMP) format is relatively easy to
   work with, but a 320x200x8 image runs the best part of 64k, which is
   slow to load from floppy and wastes valuable core.

 - More video mode support.  320x200 is OK, 640x480 would be a minimal 
   requirement otherwise.

If there's anyone interested, I'll roll some diffs and put them out for 
playing with.

The extras section:

The extras section uses two new fields in the bootinfo structure, but 
should reduce the need for more of these additions in the future.
These fields point to the base of the extras region and give its length 
respectively.

Each entry in the extras region has a two-word header.  The first word 
is a key value describing the contents of the region, the second gives 
the data length of the region in bytes.  The extras region is 
terminated by a header with the key value 0.

Support for this region adds a small amount of extra code to the 
bootblock, an extra accounting for the region in locore.S (to correctly 
locate the end of the kernel), and a lookup function (which I have 
placed in machdep.c for want of a more appropriate location).

The nature of the extras region makes it easy to relocate (in the kzip 
case), and it should be straightforward to adapt the netboot code 
similarly.

Comments?

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\ 





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801061303.XAA00382>