50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
|
/* 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
|