From owner-freebsd-hackers Tue Jan 6 05:10:05 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA08888 for hackers-outgoing; Tue, 6 Jan 1998 05:10:05 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from word.smith.net.au (ppp10.portal.net.au [202.12.71.110]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id FAA08791 for ; Tue, 6 Jan 1998 05:09:39 -0800 (PST) (envelope-from mike@word.smith.net.au) Received: from word (localhost [127.0.0.1]) by word.smith.net.au (8.8.8/8.8.5) with ESMTP id XAA00382 for ; Tue, 6 Jan 1998 23:33:40 +1030 (CST) Message-Id: <199801061303.XAA00382@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: hackers@FreeBSD.ORG Subject: Splash screen (splashkit) for 3.0 systems... Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 06 Jan 1998 23:33:39 +1030 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk 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. \\