|
|
|

|
|
The Team
|
|
|
|
|
|
|
Site Information
|
|
|
|
|
|
|
|
|
Project Information
|
|
|
|
|
|
|
|
|
|
|
Technical Resources
|
|
|
|
|
|
|
|
|
|
|
Useful Links
|
|
|
|
|
|
|
Our School
|
|
|
|
|
|
|
What is PALO?
The official explanation of PALO written by Paul Bame is a good next step after reading our explaination.
Be aware Paul's document is on occasion out of date!
This page aims to sum up the functions of PALO. Sorry if it lacks some infos. Please mail us with comments if you want to help improve it.
What is PALO ?
The first thing to know is PALO is the contraction of "PA LOader".
Its full name should be the PA-RISC Loader.
Initially, the project started with a little hack to the experimental kernel.
Then, Paul Bame wrote PALO and improved it in order to server the same purpose as LILO does for x86 architecture.
What does PALO do ?
The main idea is to load and pass control to a linux kernel passing all the
parameters the kernel needs.
The practical experience is a little more complicated. Indeed, PALO can generate a HP bootable lifimage including a vmlinux with RAMDISK or a NFSROOT redirection.
Similarly, it could make a hard disk drive bootable specifying the console output and the root device.
How to make a lifimage with RAMDISK ?
First point is to explain when you might need this. At an earlier step of PA/Linux Project, the lifimage was very useful. In fact, you put this file in the bootp server tree and then you can boot your HP box via boot lan command.
The advantage of ramdisk is to unpack its own file system and to be completely independent. The main drawback is one has to build one's own ramdisk if memory is a constraints.
Now, let's see how to make a lifimage. Get the latest source of PA/Linux. Mainly, you will need a good cross-compiler and the linux and palo directories.
You do your make menuconfig. Then, you just have to do make palo. In the palo directory, you have the palo Makefile in which you have to select the ramdisk file. So, initially, you can read:
# RAMDISK = ${PA}/ramdisk.bin
Thus, if you want to use the RAMDISK support with a file called for example ramdisk.bin and placed in the linux directory, you just have to uncomment it:
RAMDISK = ${PA}/ramdisk.bin
After configuring the Makefile, you can go into the linux directory and launch your make palo.
How to make a lifimage with NFSROOT ?
This method was widely used because the kernel and the file system are visible to your server. It is very easy to test new kernels. Generate a "vmlinux" and then put it in the bootp directory (eg /tftpboot). On reboot, the HP box will find via boot lan instruction the new vmlinux on the bootp server.
Getting the NFSROOT support is easier than the RAMDISK. Edit the palo/Makefile and specify the tftpboot server IP adress. The line to edit is by default:
NFSROOT = 10.10.10.2
After configuring the Makefile, you can either "make lifimage" from the palo source directory or go into the linux directory and launch make palo.
How to make bootable a partition ?
This is another area where PALO offers equivalent functionality as LILO. PALO is mainly a program that enables HP box to boot via a kernel on its own hard disk drive. When you install the palo package, Paul Bame put a copy of the default /etc/palo.conf in the /usr/doc/share/doc/palo/palo.conf. If you want to understand how PALO works, you just have to read to this file!
This sample comes from palo.conf. We advise you to stay close to this scheme. However, the parameter recoverykernel is the path to the kernel that you want to boot with in a "failsafe" session!
The next one, bootloader, is the path to this utility which is produced by PALO when you ask for make iplboot. init-partitioned is used to tell on which device you want to write the result. The effect is immediate. It means that PALO is going to write on the first octets of this partition.
With fdisk, first check which partition you want to write in order to be sure to update the correct drive.
Finally, the last parameter is the commandline! The first number indicates which partition PALO has to mount in order to get the kernel file. Logically, the following string is the absolute path to the kernel. HOME and TERM seem to be some environmental parameters passed to init. They are not compulsory but they can be useful.
The root parameter indicates which partition the kernel must mount for the root file system in read-only while booting.
It can be tricky when multiple disks are attached.
You could add interesting parameters like console to indicate whcih device(s) are console input/output. You should know that console=ttyS0 is for a serial console and console=tty0 is for a STI-console.
# The following arguments are set up for booting from /dev/sda3, specifically
# mounting partition 3 as root, and using /boot/vmlinux as both the
# recovery kernel, and the default dynamically-booted kernel.
# --recoverykernel=/boot/vmlinux
# --bootloader=/boot/iplboot
# --init-partitioned=/dev/sda
# --commandline=3/boot/vmlinux HOME=/ TERM=linux root=/dev/sda3
Now, you know the main features of PALO, we hope that it was fun!
|
|