3.4.1. The theory
You have setup everything, rebooted your box, and suddenly you
want to change something to the kernel boot arguments,
or even boot another kernel. Damn it! How could you,
now that the box is booting? Well, stay calm and relax,
have a deep breath, we have the solution!
Unfortunately, by the time you'll learn about it, your box
will have finished booting ;o)
First, you must learn how to interact with PALO during the startup sequence.
You have to enter BOOT_ADMIN, as explained in Section 2.1.1.
For some old models (up to 712 or so), you must add the
ipl (or isl) string to
your boot command in the BOOT_ADMIN console:
On most PA-RISC boxes, the system will ask you if you want to interact
with
IPL anyway. You just have to answer
"
y" and hit
Enter.
You will then end up to
PALO configuration display, with the list
of all parameters and their corresponding numbers.
You just have to enter the number corresponding to the
parameter you want to change.
Hit Enter, modify it and validate the
changes by hitting Enter again.
The system will redisplay the new list.
This modification is not permanent!
If you want to add a supplementary parameter, select any one
and write yours on the editing line, beginning with a space:
<#> edit the numbered field
'b' boot with this command line
'r' restore command line
'l' list dir
? 0
3/boot/vmlinux initrd=3/initrd.img
|
After validation, the list will count one more parameter.
If you want to delete one, select it and erase the complete entry.
You will see that the list counts one less parameter.
For more informations about PALO, please take look at the
PALO README.
You can find a copy of this file after having installed the palo
package in /usr/share/doc/palo/README.html.
This HOWTO section is mostly inspired from the above file, written by Paul Bame.
3.4.2. A complete example
This example has been suggested by Michael Damaschke. We will use notions
explained in Section 2.1 and Section 3.4.1,
and refer to concept such as console, seen in
Section 2.2.
So, let's go for the story of the happy PA/Linux user booting a kernel,
also called "I don't know how to configure my workstation
to use the kernel I want during boot sequence!".
After switching your workstation on, a message on the
console will tell you that the workstation is about to start
automatically the boot sequence, except if you hold the
Esc key to stop the auto-booting process.
This is a very difficult step: you must hold the
Esc key down ;o)
|
Depending on your model, you might need to press this key
during a quite long time.
|
|
In some cases when using graphic console, the monitor can be
too slow to trigger on, and won't allow you to see the
warning message. A good workaround is to keep a close eye on
the keyboard's lights: when they all blink at once, this is
the right time to press and hold the Esc key.
If you still have troubles, please refer to Section 2.2.
|
There are a few different ways to get access to
BOOT_ADMIN (see Section 2.1.1).
If you have an old box, you will see an information message displayed,
where the workstation's firmware tells you that it will
start searching for all bootable devices,
or that you can break this by holding down the Esc key.
This is the same procedure as just mentioned, you must
press the Esc key.
As usual, on some machines you might then get a menu where you should press the
a key followed by Enter.
You are now facing the deadly 'BOOT_ADMIN>'
prompt :^). First, we will turn off auto boot
process by entering the following lines:
BOOT_ADMIN> auto boot off |
then hit Enter to validate. This will prevent the
box from further attempts at auto-booting. In other words, you won't
have to stop the boot process with Esc, it will stop
on its own on subsequent reboots and wait for your instructions.
Now, you must tell the system from which boot device you
would like to boot. If it's a hard drive, it must have a
'f0' partition at the beginning
(see Chapter 4).
In this example, the old kernel is vmlinux and
the new one is vmlinux-2.4.17-pa3.
The chosen SCSI boot device is designed by:
SCSI.X.0,
where X is the SCSI-ID of the disk you
want to boot from. e.g.:
BOOT_ADMIN> boot SCSI.5.0 |
At the end of the previous command line, you must add the
IPL token if you have a HP 9000/7xx
system to specify that you want to interact with
IPL. If you have a more
recent hardware, the system will ask if you want to
interact with IPL anyway:
Interact with IPL (Y or N)?> |
Say Y and hit Enter.
Now, you can manually configure the PALO boot parameters.
A new menu is displayed, where you can configure on line
'0' (selected by default)
the boot partition number, and the path of your boot kernel.
Here is the complete session log of a A500 serial console output,
taken from PALO version 1.5. You can find in Section B.1
a session log with an older version of palo, such as the one that
can be found on Debian 3.0 install disks.
Main Menu: Enter command or menu > bo scsi.5.0
Interact with IPL (Y, N, or Cancel)?> y
Booting...
Boot IO Dependent Code (IODC) revision 1
HARD Booted.
palo ipl 1.5 root@c3k Fri May 14 16:17:38 MDT 2004
Skipping extended partition 6 - beyond reach of IPL
Partition Start(MB) End(MB) Id Type
1 1 31 f0 Palo
2 32 153 83 ext2
3 154 1107 82 swap
5 1108 5875 83 ext2
PALO(F0) partition contains:
0/vmlinux64 5279419 bytes @ 0x44000
Information: No console specified on kernel command line. This is normal.
PALO will choose the console currently used by firmware (serial).
Current command line:
2/vmlinux root=/dev/sdb5 HOME=/ console=ttyS0 TERM=vt102
0: 2/vmlinux
1: root=/dev/sdb5
2: HOME=/
3: console=ttyS0
4: TERM=vt102
<#> edit the numbered field
'b' boot with this command line
'r' restore command line
'l' list dir
? 0
2/vmlinux-2.6-cvs initrd=2/initrd.img-cvs
Current command line:
2/vmlinux-2.6-cvs initrd=2/initrd.img-cvs root=/dev/sdb5 HOME=/ console=ttyS0 TERM=vt102
0: 2/vmlinux-2.6-cvs
1: initrd=2/initrd.img-cvs
2: root=/dev/sdb5
3: HOME=/
4: console=ttyS0
5: TERM=vt102
<#> edit the numbered field
'b' boot with this command line
'r' restore command line
'l' list dir
? 1
Current command line:
2/vmlinux-2.6-cvs root=/dev/sdb5 HOME=/ console=ttyS0 TERM=vt102
0: 2/vmlinux-2.6-cvs
1: root=/dev/sdb5
2: HOME=/
3: console=ttyS0
4: TERM=vt102
<#> edit the numbered field
'b' boot with this command line
'r' restore command line
'l' list dir
? b
|
PALO was first setup to boot the kernel file vmlinux
located on the second partition of the SCSI device ID 5 LUN 0.
(We know this since we have asked BOOT_ADMIN to boot on this device).
But we wanted another kernel this time.
We have pressed the Enter key (to validate the default
choice '0')
and modified the text to match our needs, here
vmlinux-2.6-cvs. We have also
added an initrd=2/initrd.img-cvs argument
to the command line. We have validated our changes
by hitting the Enter key.
Finally we have decided that we didn't want this
additional argument, so we have selected it and erased it.
At the end it asked again which field we wanted to edit, we
just typed 'b' instead
of any number and hit Enter to boot our new kernel.
|
Please don't change any other parameter unless you
really know what you are doing!
|
That's it! PALO has no more secrets for you :-)
|
As you might have noticed, the BOOT_ADMIN interface can take several
aspects, so don't be disappointed if yours does not
exactly match our examples.
|