[>description]

palo is the installation and management tool for the parisc
bootloader, called iplboot.  The size required for the iplboot binary
is 256kb.  Older MS-DOS label disks begin the first partition at
sector 63 and there is no room for iplboot within the disk label, so
you must create a palo partition of type F0 to hold iplboot.  If your
disk was formatted more recently it should have a newer MS-DOS label
where the first partition begins at sector 2048 meaning there is room
for iplboot within the disk label and a palo (F0) partition is not
required.

If you have a palo partition (type F0), it must occur within the first
2GB of the beginning of the disk.  If you choose to have a palo
partition, you may store both the kernel and the initrd in this
partition, meaning you have to update it every time you update the
kernel, or you may choose to have a /boot partition, which must be
formatted as an ext2/3/4 filesystem, from which palo will load
kernels.  This /boot partition also must be within the first 2GB of
the beginning of the disk.  If you have no palo partition, and palo is
installed inside the disk label, you must have a /boot partition
because the disk label is still too small to contain a kernel and a
ramdisk.

Palo allows you to specify a kernel command line, which is stored in
the firstboot partition.  The format should be kernel first followed
by an optional initrd= and then the rest of the kernel parameters.
The format of the kernel and initial ramdisk files is <partition
number>/<path to file>.  It is recommended, but not required, that
both the kernel and the initial ramdisk be in the root directory of
the filesystem.

[examples]

Create a Bootable disk on sda for the first time by installing palo

    $ palo -c "1/vmlinux initrd=1/initrd.img" -I /dev/sda

Update the bootloader command line without re-installing it

    $ palo -c "1/vmlinux.new initrd=1/initrd.img.new" -U /dev/sda

Format the palo partition as ext4 and install iplboot within that
partition using ext4 badblocks [requires a palo (type F0) partition]:

    $ palo  palo -c "1/vmlinux initrd=1/initrd.img" --format-as=4 -I /dev/sda
