Merge from vendor branch DIFFUTILS:
[dragonfly.git] / sys / i386 / boot / kzipboot / README
1 /* Beware: mostly obsolete info */
2
3 This is the first (alpha) release of kernel packer/unpacker
4 for FreeBSD.  It is based on xBoot from Linux, but
5 hardly rewritten.
6
7 It assumes that:
8 1) The kernel should be loaded at 0x100000 phys address.
9 2) The CS selector is equal to 8, which is OK for all
10    current secondary boot programs.
11
12 Run "make install" to install it.  It will place
13 "kzip" shell script into /usr/sbin, and several files
14 into /usr/libexec/kzip directory.
15
16 Then try to zip your kernel, for example:
17
18         % kzip /kernel
19         System size is 462848
20         Compressed size 247027
21
22 It will create file /kernel.kz:
23
24         % ls -l /kernel /kernel.kz
25         -rwxr-xr-x    1 root       497297 Oct  8 12:41 /386bsd
26         -rwxrwxr-x    1 root       262144 Oct  8 13:37 /386bsd.kz
27
28 Then rename /kernel.kz to /kernel and reboot.
29
30         % mv /kernel /o3kernel
31         % mv /kernel.kz /kernel
32         % sync
33         % reboot
34
35 During booting, you will see the message:
36
37         Uncompressing kernel...done
38         Booting the kernel
39
40 The packed kernel should load and run.
41
42 The main problem with packed kernel is the lack of symbol table,
43 so all commands that require it, will not run.
44 Among them: ps, savecore, *stat, etc.
45
46 Packed kernels are good for install and fixit floppies.
47
48 Serge Vakulenko, <vak@zebub.msk.su>
49 Opdated for FreeBSD 2.1 by Gary Jennejohn 12FEB95