<!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 > 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 > 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> </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 > 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" > <#> 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 > 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 > 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 > 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 > 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 > 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 > 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 > 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></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> </TT >auto boot off</PRE ></FONT ></TD ></TR ></TABLE ><P > 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 > 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 > 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" > 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> </TT >boot SCSI.5.0</PRE ></FONT ></TD ></TR ></TABLE ><P > 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)?></TT ></PRE ></FONT ></TD ></TR ></TABLE ><P > 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 > 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" > 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 </PRE ></FONT ></TD ></TR ></TABLE ><P > <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 > Please don't change any other parameter unless you really know what you are doing! </P ></TD ></TR ></TABLE ></DIV ><P > 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 > 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 > 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 >