old-www/HOWTO/PA-RISC-Linux-Boot-HOWTO/paloearlyboot.html

886 lines
16 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>How to use PALO at early boot stage?</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="PA-RISC/Linux Boot HOWTO"
HREF="index.html"><LINK
REL="UP"
TITLE="PALO, the PA/Linux kernel loader"
HREF="palo.html"><LINK
REL="PREVIOUS"
TITLE="PALO management tool usage"
HREF="paloappusage.html"><LINK
REL="NEXT"
TITLE="Available boot solutions"
HREF="bootsolutions.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PA-RISC/Linux Boot HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="paloappusage.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 3. <B
CLASS="command"
>PALO</B
>, the PA/Linux kernel loader</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="bootsolutions.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="paloearlyboot"
></A
>3.4. How to use <B
CLASS="command"
>PALO</B
> at early boot stage?</H1
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="palotheory"
></A
>3.4.1. The theory</H2
><P
>&#13; 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)
</P
><P
>&#13; First, you must learn how to interact with <B
CLASS="command"
>PALO</B
> during the startup sequence.
You have to enter <B
CLASS="command"
>BOOT_ADMIN</B
>, as explained in <A
HREF="bootadmin.html#enterbootadmin"
>Section 2.1.1</A
>.
For some old models (up to 712 or so), you must add the
<TT
CLASS="parameter"
><I
>ipl</I
></TT
> (or <TT
CLASS="parameter"
><I
>isl</I
></TT
>) string to
your boot command in the <B
CLASS="command"
>BOOT_ADMIN</B
> console:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
><TT
CLASS="computeroutput"
>BOOT_ADMIN&#62; </TT
>boot pri ipl</PRE
></FONT
></TD
></TR
></TABLE
>
On most PA-RISC boxes, the system will ask you if you want to interact
with <EM
>IPL</EM
> anyway. You just have to answer
"<B
CLASS="keycap"
>y</B
>" and hit <B
CLASS="keycap"
>Enter</B
>.
You will then end up to <B
CLASS="command"
>PALO</B
> configuration display, with the list
of all parameters and their corresponding numbers.
</P
><P
>&#13; You just have to enter the number corresponding to the
parameter you want to change.
Hit <B
CLASS="keycap"
>Enter</B
>, modify it and validate the
changes by hitting <B
CLASS="keycap"
>Enter</B
> again.
The system will redisplay the new list.
This modification is not permanent<A
NAME="AEN853"
HREF="#FTN.AEN853"
><SPAN
CLASS="footnote"
>[1]</SPAN
></A
>!
If you want to add a supplementary parameter, select any one
and write yours on the editing line, beginning with a space:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;&#60;#&#62; 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
</PRE
></FONT
></TD
></TR
></TABLE
>
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.
</P
><P
>&#13; For more informations about <B
CLASS="command"
>PALO</B
>, please take look at the
<A
HREF="http://cvs.parisc-linux.org/*checkout*/palo/README.html?rev=HEAD"
TARGET="_top"
><B
CLASS="command"
>PALO</B
> README</A
>.
You can find a copy of this file after having installed the <B
CLASS="command"
>palo</B
>
package in <TT
CLASS="filename"
>/usr/share/doc/palo/README.html</TT
>.
This HOWTO section is mostly inspired from the above file, written by Paul Bame.
</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="paloexample"
></A
>3.4.2. A complete example</H2
><DIV
CLASS="highlights"
><A
NAME="AEN866"
></A
><P
>&#13; This example has been suggested by Michael Damaschke. We will use notions
explained in <A
HREF="bootadmin.html"
>Section 2.1</A
> and <A
HREF="paloearlyboot.html#palotheory"
>Section 3.4.1</A
>,
and refer to concept such as <EM
>console</EM
>, seen in
<A
HREF="consoles.html"
>Section 2.2</A
>.
So, let's go for the story of the happy PA/Linux user booting a kernel,
also called "<EM
>I don't know how to configure my workstation
to use the kernel I want during boot sequence!</EM
>".
</P
></DIV
><P
>&#13; 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
<B
CLASS="keycap"
>Esc</B
> key to stop the auto-booting process.
This is a very difficult step: you must hold the
<B
CLASS="keycap"
>Esc</B
> key down ;o)
</P
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; Depending on your model, you might need to press this key
during a quite long time.
</P
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="tip"
><P
></P
><TABLE
CLASS="tip"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/tip.gif"
HSPACE="5"
ALT="Tip"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; 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 <B
CLASS="keycap"
>Esc</B
> key.
If you still have troubles, please refer to <A
HREF="consoles.html"
>Section 2.2</A
>.
</P
></TD
></TR
></TABLE
></DIV
><P
>&#13; There are a few different ways to get access to
<B
CLASS="command"
>BOOT_ADMIN</B
> (see <A
HREF="bootadmin.html#enterbootadmin"
>Section 2.1.1</A
>).
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 <B
CLASS="keycap"
>Esc</B
> key.
This is the same procedure as just mentioned, you must
press the <B
CLASS="keycap"
>Esc</B
> key.
</P
><P
>&#13; As usual, on some machines you might then get a menu where you should press the
<B
CLASS="keycap"
>a</B
> key followed by <B
CLASS="keycap"
>Enter</B
>.
You are now facing the deadly '<TT
CLASS="computeroutput"
>BOOT_ADMIN&#62;</TT
>'
prompt :^). First, we will turn off <TT
CLASS="literal"
>auto boot</TT
>
process by entering the following lines:
</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
><TT
CLASS="computeroutput"
>BOOT_ADMIN&#62; </TT
>auto boot off</PRE
></FONT
></TD
></TR
></TABLE
><P
>&#13; then hit <B
CLASS="keycap"
>Enter</B
> 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 <B
CLASS="keycap"
>Esc</B
>, it will stop
on its own on subsequent reboots and wait for your instructions.
</P
><P
>&#13; 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
'<TT
CLASS="literal"
>f0</TT
>' partition at the beginning
(see <A
HREF="bootsolutions.html"
>Chapter 4</A
>).
</P
><P
>&#13; In this example, the old kernel is <TT
CLASS="filename"
>vmlinux</TT
> and
the new one is <TT
CLASS="filename"
>vmlinux-2.4.17-pa3</TT
>.
The chosen SCSI boot device is designed by:
<TT
CLASS="computeroutput"
>&#13; SCSI.<TT
CLASS="replaceable"
><I
>X</I
></TT
>.0,
</TT
>
where <TT
CLASS="replaceable"
><I
>X</I
></TT
> is the SCSI-ID of the disk you
want to boot from<A
NAME="AEN906"
HREF="#FTN.AEN906"
><SPAN
CLASS="footnote"
>[2]</SPAN
></A
>. <EM
>e.g.:</EM
>
</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
><TT
CLASS="computeroutput"
>BOOT_ADMIN&#62; </TT
>boot SCSI.5.0</PRE
></FONT
></TD
></TR
></TABLE
><P
>&#13; At the end of the previous command line, you must add the
<TT
CLASS="parameter"
><I
>IPL</I
></TT
> token if you have a HP 9000/7xx
system to specify that you want to interact with
<SPAN
CLASS="application"
>IPL</SPAN
>. If you have a more
recent hardware, the system will ask if you want to
interact with <SPAN
CLASS="application"
>IPL</SPAN
> anyway:
</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
><TT
CLASS="computeroutput"
>Interact with IPL (Y or N)?&#62;</TT
></PRE
></FONT
></TD
></TR
></TABLE
><P
>&#13; Say <B
CLASS="keycap"
>Y</B
> and hit <B
CLASS="keycap"
>Enter</B
>.
Now, you can manually configure the <B
CLASS="command"
>PALO</B
> boot parameters.
A new menu is displayed, where you can configure on line
'<TT
CLASS="computeroutput"
>0</TT
>' (selected by default)
the boot partition number, and the path of your boot kernel.
</P
><P
>&#13; Here is the complete session log of a A500 serial console output,
taken from <B
CLASS="command"
>PALO</B
> version 1.5. You can find in <A
HREF="oldpaloa500.html"
>Section B.1</A
>
a session log with an older version of palo, such as the one that
can be found on Debian 3.0 install disks.
</P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;Main Menu: Enter command or menu &#62; bo scsi.5.0
Interact with IPL (Y, N, or Cancel)?&#62; 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
&#60;#&#62; 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
&#60;#&#62; 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
&#60;#&#62; edit the numbered field
'b' boot with this command line
'r' restore command line
'l' list dir
? b
</PRE
></FONT
></TD
></TR
></TABLE
><P
>&#13; <B
CLASS="command"
>PALO</B
> was first setup to boot the kernel file <TT
CLASS="filename"
>vmlinux</TT
>
located on the second partition of the SCSI device ID 5 LUN 0.
(We know this since we have asked <B
CLASS="command"
>BOOT_ADMIN</B
> to boot on this device).
But we wanted another kernel this time.
We have pressed the <B
CLASS="keycap"
>Enter</B
> key (to validate the default
choice '<TT
CLASS="computeroutput"
>0</TT
>')
and modified the text to match our needs, here
<TT
CLASS="filename"
>vmlinux-2.6-cvs</TT
>. We have also
added an <TT
CLASS="computeroutput"
>initrd=2/initrd.img-cvs</TT
> argument
to the command line. We have validated our changes
by hitting the <B
CLASS="keycap"
>Enter</B
> 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 '<TT
CLASS="computeroutput"
>b</TT
>' instead
of any number and hit <B
CLASS="keycap"
>Enter</B
> to boot our new kernel.
</P
><DIV
CLASS="caution"
><P
></P
><TABLE
CLASS="caution"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/caution.gif"
HSPACE="5"
ALT="Caution"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; Please don't change any other parameter unless you
really know what you are doing!
</P
></TD
></TR
></TABLE
></DIV
><P
>&#13; That's it! <B
CLASS="command"
>PALO</B
> has no more secrets for you :-)
</P
><DIV
CLASS="note"
><P
></P
><TABLE
CLASS="note"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13; As you might have noticed, the <B
CLASS="command"
>BOOT_ADMIN</B
> interface can take several
aspects, so don't be disappointed if yours does not
exactly match our examples.
</P
></TD
></TR
></TABLE
></DIV
></DIV
></DIV
><H3
CLASS="FOOTNOTES"
>Notes</H3
><TABLE
BORDER="0"
CLASS="FOOTNOTES"
WIDTH="100%"
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="5%"
><A
NAME="FTN.AEN853"
HREF="paloearlyboot.html#AEN853"
><SPAN
CLASS="footnote"
>[1]</SPAN
></A
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="95%"
><P
>&#13; To save your changes, you will have to run <B
CLASS="command"
>/sbin/palo</B
>
when your system will be up and running,
and it will write on the disk all the parameters contained in
the configuration file, (<TT
CLASS="filename"
>/etc/palo.conf</TT
>), which
you will have properly modified if needed.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="5%"
><A
NAME="FTN.AEN906"
HREF="paloearlyboot.html#AEN906"
><SPAN
CLASS="footnote"
>[2]</SPAN
></A
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="95%"
><P
>For those who wonder what the final
0 means, it's the device LUN. Since most SCSI devices have only
one LUN (especially disks), you can safely use 0 as in this
example.</P
></TD
></TR
></TABLE
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="paloappusage.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="bootsolutions.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><B
CLASS="command"
>PALO</B
> management tool usage</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="palo.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Available boot solutions</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>