1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-22 11:17:19 +00:00
freebsd/sys/i386/boot/kzipboot
Bruce Evans ec0896af08 Reviewed by: phk
serial_putchar() always hung if it was called and the serial port existed,
so booting with -h hung when the above bug was fixed.  Previously, setting
-h did nothing but -h was sometimes the default due to the stack garbage
bug.
1995-05-17 07:39:43 +00:00
..
boot.c Reviewed by: phk 1995-05-17 07:39:43 +00:00
gzip.h The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00
head.S Reviewed by: phk 1995-05-17 07:37:53 +00:00
Makefile The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00
malloc.c The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00
misc.c The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00
README The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00
unzip.c The magic code to uncompress a kernel. 1995-04-15 08:23:55 +00:00

/* Beware: mostly obsolete info */

This is the first (alpha) release of kernel packer/unpacker
for FreeBSD.  It is based on xBoot from Linux, but
hardly rewritten.

It assumes that:
1) The kernel should be loaded at 0x100000 phys address.
2) The CS selector is equal to 8, which is OK for all
   current secondary boot programs.

Run "make install" to install it.  It will place
"kzip" shell script into /usr/sbin, and several files
into /usr/libexec/kzip directory.

Then try to zip your kernel, for example:

	% kzip /kernel
	System size is 462848
	Compressed size 247027

It will create file /kernel.kz:

	% ls -l /kernel /kernel.kz
	-rwxr-xr-x    1 root       497297 Oct  8 12:41 /386bsd
	-rwxrwxr-x    1 root       262144 Oct  8 13:37 /386bsd.kz

Then rename /kernel.kz to /kernel and reboot.

	% mv /kernel /o3kernel
	% mv /kernel.kz /kernel
	% sync
	% reboot

During booting, you will see the message:

	Uncompressing kernel...done
	Booting the kernel

The packed kernel should load and run.

The main problem with packed kernel is the lack of symbol table,
so all commands that require it, will not run.
Among them: ps, savecore, *stat, etc.

Packed kernels are good for install and fixit floppies.

Serge Vakulenko, <vak@zebub.msk.su>
Opdated for FreeBSD 2.1 by Gary Jennejohn 12FEB95