This is quick guide for those who never read the full documentation.
See the "how-to" for more details.

Warnings

There is a major change between rev 0.6 and 0.7. Modules, kernels and 
user space programs of rev 0.7 cannot understand the 0.6 format files
and vice versa. You can stick to 0.6 or else you have to backup your
files in plaintext form and reload in 0.7. Sorry!

Revisions 0.7 and 0.8 are compatible.
Revisions 0.9 and 1.0 are compatible.
Revisions 0.9 and 1.1 are compatible.
Revisions 1.0 and 1.1 are compatible.

There is a change between 0.8 and 0.9 which means that if you already have 
a 0.7 or 0.8 version and you want to go to 0.9 or 1.0 you must run 
"ppdduprev" on your existing encrypted filesystems.

The main feature of 1.0 is that we now have an official device number and
official ioctl numbers. This means that if you are upgrading from an earlier
rev than 1.0 to rev 1.0 or above you MUST recreate the devices (make devices).
Also the user space programs and patch kernel must match e.g rev 0.9
ppddsetup will not work with a kernel containing the 1.0 patch. Don't forget
that if you are using root file system encryption you will need to mount the
encrypted root and make sure the ppdd devices in /dev and the ppdd programs
in /sbin are replaced with the appropriate ones.


Installation

You need to patch the linux sources. Patch file for 2.0.38 and 2.2.12
included. It may need fixing for other revs.

Install the kernel source.
Configure it and compile it.
Run lilo and reboot this kernel - make sure it works!

Go to the ppdd source directory.
Edit the ppdd Makefile.config to indicate your Linux rev.
Do "make check_linux" to see if you have everything in place.
Do "make trial_patch" to see if there will be any patch problems.
Do "make apply_patch".
This is also a good point to do "make devices"

Go to the kernel source.
Make menuconfig and select the ppdd option under floppy and other block dev.
You will need ram disc support for building a root fs on ppdd - include it
at this stage. Loop device is also usefull too.

make dep
make clean
make bzImage
make modules
make modules_install

install the bzImage and run lilo as usual

if you are auto loading modules you need:

alias block-major ppdd 92 in the /etc/conf.modules file

You can now reboot and run the ppdd kernel.

Go to the ppdd source directory.
Do "make install"
Do "make test"

All the programs (except linuxrc) provide a little help if
you run them with no arguments.


Initrd support (encrypted root filesystem) is available as of rev 0.5
Read the how-to; it's too complex to fit it here.

There is problem with detecting the hardware block size of some scsi
cd-rom devices - you may need -B 2048 on ppddinit and ppddsetup. Read
the "how-to" and do not use this switch unless ppdd fails without it.

Useful examples are in the examples directory.

The modified or new files which belong in the Linux source tree are in
the linux directories - may help you if the patch doesn't work first time.

Please provide feedback - good or bad. (Bad I will try to fix, good makes
me feel it was a worthwhile effort.)

Allan Latham <alatham@flexsys-group.com> November 1999

Rev 1.1 version - Beta.

