2511 lines
128 KiB
Plaintext
2511 lines
128 KiB
Plaintext
PA-RISC/Linux Boot HOWTO
|
||
|
||
Thomas Marteau
|
||
|
||
TuxFamily
|
||
|
||
|
||
<marteaut@tuxfamily.org>
|
||
|
||
|
||
Deb Richardson
|
||
|
||
The Puffin Group
|
||
|
||
|
||
<deb@thepuffingroup.com>
|
||
|
||
|
||
Thibaut Varène
|
||
|
||
PA/Team
|
||
|
||
|
||
<T-Bone@parisc-linux.org>
|
||
|
||
|
||
version 1.5 for DocBook V4.2 Edition
|
||
|
||
Copyright © 1999 The Puffin Group and Deb Richardson.
|
||
|
||
Copyright © 2001, 2002, 2003 Thomas Marteau.
|
||
|
||
Copyright © 2002, 2003, 2006 Thibaut Varène.
|
||
|
||
2006-06-06
|
||
Revision History
|
||
Revision 1.5 2006-06-06 Revised by: tv
|
||
XML cleanup, improved and reorganized contents. Updated to palo 1.5+ and
|
||
kernel 2.6.
|
||
Revision 1.1 2003-11-01 Revised by: tm
|
||
Added Jeremy Drake's Windows?? server boot howto.
|
||
Revision 1.0 2002-10-04 Revised by: tm & tv
|
||
Content done by Thibaut. Ready for Woody release. Added Glossary and
|
||
bibliography. XML conversion.
|
||
Revision 0.9 2002-01-15 Revised by: tm
|
||
This version brings you some useful advices for compiling your own kernel on
|
||
hppa systems.
|
||
Revision 0.8 2001-10-17 Revised by: tm
|
||
This version takes care of the change of name of the official FTP and CVS
|
||
sites and modify the license.
|
||
Revision 0.7 2001-10-13 Revised by: tm
|
||
This version adds some updates due to the progress of PA/Linux.
|
||
Revision 0.6 draft 2001-09-26 Revised by: tm
|
||
This version contains some minor changes and complete the "obtaining bootp/
|
||
tftpd" section.
|
||
Revision 0.5 draft 2001-07-03 Revised by: tm
|
||
This version is a large update from Deb's work.
|
||
Revision 0.3 draft 1999-11-24 Revised by: dlr
|
||
The initial and published version of this HOWTO.
|
||
|
||
|
||
This document outlines the procedures to get the PA-RISC/Linux kernel to boot
|
||
on your PA-RISC system. It also explains the usage of PALO, the kernel loader
|
||
for PA/Linux. You will find much information on how to compile a kernel from
|
||
the source available at [http://cvs.parisc-linux.org/] http://
|
||
cvs.parisc-linux.org/. Please note that this HOWTO version is newer than Deb
|
||
Richardson's and includes more accurate information because of the progress
|
||
of the port. Nevertheless, it's worth mentioning that this document kept
|
||
parts of Deb's original work and unveiled some remarkable information.
|
||
|
||
If you are looking for information related to HP hardware but not directly to
|
||
PA-RISC, please read Bruno Cornec's HP-HOWTO.
|
||
|
||
Note: by the time this HOWTO was started, Debian was the only Linux
|
||
distribution available for the PA-RISC platform, hence the "Debian color" of
|
||
this document. Some times, Debian specific commands will have to be replaced
|
||
by their equivalent, if any.
|
||
|
||
Permission is granted to copy, distribute and/or modify this document under
|
||
the terms of the GNU Free Documentation License, Version 1.2 as published by
|
||
the Free Software Foundation; with no Invariant Sections, with no Front-Cover
|
||
Texts, and with no Back-Cover Texts. A copy of the license can be found at
|
||
[http://www.gnu.org/copyleft/fdl.html] http://www.gnu.org/copyleft/fdl.html.
|
||
|
||
No liability for the contents of this document can be accepted. Use the
|
||
concepts, examples and information at your own risk. There may be errors and
|
||
inaccuracies, that could be damaging to your system. Proceed with caution,
|
||
and although it is highly unlikely that accidents will happen because of
|
||
following advice or procedures described in this document, the author(s) do
|
||
not take any responsibility for any damage claimed to be caused by doing so.
|
||
|
||
All copyrights are held by their by their respective owners, unless
|
||
specifically noted otherwise. Use of a term in this document should not be
|
||
regarded as affecting the validity of any trademark or service mark. Naming
|
||
of particular products or brands should not be seen as endorsements.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
Introduction
|
||
1. Supported Hardware
|
||
2. Preparing to boot
|
||
2.1. BOOT_ADMIN
|
||
2.2. Consoles
|
||
|
||
|
||
3. PALO, the PA/Linux kernel loader
|
||
3.1. What is PALO?
|
||
3.2. What does PALO?
|
||
3.3. PALO management tool usage
|
||
3.4. How to use PALO at early boot stage?
|
||
|
||
|
||
4. Available boot solutions
|
||
4.1. Booting from CD
|
||
4.2. Booting from hard drive
|
||
4.3. Booting from network
|
||
|
||
|
||
5. Building and installing a custom kernel
|
||
5.1. GCC compiler
|
||
5.2. Kernel configuration
|
||
5.3. Kernel installation
|
||
|
||
|
||
A. Windows?? 2003 boot server howto
|
||
A.1. Setup the DHCP service
|
||
A.2. Get & setup the TFTP server
|
||
A.3. Attempt to netboot
|
||
|
||
|
||
B. Older PALO dumps
|
||
B.1. A500 Session dump using PALO 0.97
|
||
|
||
|
||
C. HOWTO contributors
|
||
Glossary
|
||
Bibliography
|
||
|
||
-----------------------------------------------------------------------------
|
||
Introduction
|
||
|
||
You just received this PA-RISC box you bought online, or maybe you got it
|
||
from your company scrapyard. Anyway, here comes the question of the operating
|
||
system you are going to use. The PA/Linux project consists in porting Linux
|
||
to the PA-RISC architecture, and we hope that if you decide to use it on your
|
||
box, this HOWTO will help you in the process of setting it up.
|
||
|
||
In addition to porting the Linux kernel, the development team is working on
|
||
porting the Debian project to PA-RISC. In fact, by the time we wrote this
|
||
document, over 97% of the package pool is available for the stable Debian
|
||
release (3.1, aka Sarge) on hppa (see [http://buildd.debian.org/stats/
|
||
hppa.txt] the buildd stats for detailed data). Some Debian developers and
|
||
users reported that the port was one of the easiest to install, as it feels
|
||
like installing an i386 system.
|
||
|
||
For more information about the PA-RISC/Linux porting project, please see
|
||
[http://www.parisc-linux.org/] http://www.parisc-linux.org/, or a mirror site
|
||
like [http://www.fr.parisc-linux.org/] http://www.fr.parisc-linux.org/. This
|
||
site deals with kernel development and improvement. For user-space troubles,
|
||
please refer to [http://www.debian.org/ports/hppa/] Debian hppa port pages.
|
||
|
||
In a few words, this HOWTO is aimed at anyone looking for some help and
|
||
information about using Linux on a PA-RISC system. No particular prior
|
||
knowledge is necessary but bases about how Debian packages work, and general
|
||
background about Linux can be helpful.
|
||
|
||
It is also worth mentioning that some sections of the present document aren't
|
||
Linux-centric, and may be of use to people dealing with other OSes, such as
|
||
BSDs or even HP-UX.
|
||
|
||
After listing supported hardware, this HOWTO explains some commands of the
|
||
Boot Console Handler (BCH) available at boot time. Then, the features of the
|
||
PA/Linux kernel loader are introduced in another chapter, and finally many
|
||
ways to get your system up and running are detailed. At the end, the text
|
||
goes deep in the kernel compilation and configuration, as well as a few
|
||
appendices giving some extra hints.
|
||
-----------------------------------------------------------------------------
|
||
|
||
Chapter 1. Supported Hardware
|
||
|
||
With the release of PA-RISC architecture in Debian 3.0 (aka Woody), a major
|
||
improvement was made in term of quantity and quality of hardware support.
|
||
Since 0.9.3 released[1], the kernel has been greatly improved, so that much
|
||
unsupported hardware by the time 0.9.3 went out is now handled. That's why
|
||
even if your model is not listed here, you might give it a try and report
|
||
your result to the mailing list: <parisc-linux@lists.parisc-linux.org>.
|
||
|
||
Note Mind that as of this document's publication date, the 2.4 series of the
|
||
Linux kernel are deemed obsolete, and no development happens in that
|
||
branch. Any new comer to the PA-RISC/Linux port should look at the 2.6
|
||
kernel series, which supports much more hardware than the 2.4 does.
|
||
Accordingly, one will not try to use the now aging Woody release and
|
||
will instead focus on its successor: Sarge, or even better, the upcoming
|
||
Etch.
|
||
|
||
The following PA-RISC machines should work just fine, provided that you
|
||
follow the instructions of the present document. Please note that this list
|
||
can change at any time. The best way to get an up to date version is to look
|
||
at [http://www.pateam.org/list.html] http://www.pateam.org/list.html. This is
|
||
the place to find relevant information about a specific model, including
|
||
special boot procedures. More hardware information can be found on [http://
|
||
www.openpa.net/] OpenPA.
|
||
|
||
SMP machines should work with SMP kernels (and UP ones, of course) unless
|
||
stated otherwise.
|
||
|
||
* All 712 models.
|
||
|
||
* All 715 models including Strider series.
|
||
|
||
* All 705, 710, 720, 730, 750 models should work.
|
||
|
||
* Some 725, 735 (no HVD SCSI), 755 models are now working. But since there
|
||
was not a lot of feedback about these machines, we can not be more
|
||
explicit.
|
||
|
||
* The VME-like systems are supported. This includes 742 and 743.
|
||
|
||
* A180 and similar.
|
||
|
||
* A500, and similar (rp2400 series).
|
||
|
||
* BXXX models like B132, B160 and B180. These boxes can be used in the
|
||
framebuffer mode through the Standard Text Interface.
|
||
|
||
* BXXXX models like B1000, B2000 and B2600. These boxes can be used with
|
||
STI_CONSOLE, but framebuffer only works with VIS-EG cards. FX adapters
|
||
are not supported.
|
||
|
||
* CXXX models like C100, C110, C160, C180, C200, C240, C360.
|
||
|
||
* CXXXX models. Indeed, BXXXX and CXXXX are the same kind of machines,
|
||
based on Astro/Elroy (aka SBA/LBA) chipsets with varying CPU speeds,
|
||
number of memory/PCI slots. C3000, C3600, C3750 are reported to be
|
||
working.
|
||
|
||
* D class works unless you have a Remote Management Card installed. Even
|
||
then, it still kind of works, it's just that ttyS0 gets assigned to the
|
||
second serial port and you have to switch cables around.
|
||
|
||
* J class is quite well supported. It has the same split as C class, i.e.
|
||
JXXX and J2240 are U2/Uturn based and JXXXX are Astro/Elroy. It is the
|
||
SMP version of CXXXX models.
|
||
|
||
* K class is supported if you are using recent ISO images (e.g. Sarge
|
||
ones).
|
||
|
||
* L class and similar (rp5400 series).
|
||
|
||
* N class: N4000 (some rp7400 series are reported to work).
|
||
|
||
* R class is basically the same as D class.
|
||
|
||
|
||
These are not really working yet but work is being carried on.
|
||
|
||
* The current 8-way (and bigger) machines using SX1000 chipset and pa8800
|
||
(or pa8900) processors do not work yet. Similarly, smaller 2-socket and
|
||
4-socket platforms using ZX1 chipset and pa8800 (or pa8900) such as
|
||
rp3400 series do not work correctly yet either.
|
||
|
||
|
||
No plan to get the following hardware completely supported in the near
|
||
future:
|
||
|
||
* E class: E35 and E55 are known to work diskless. The SCSI support is not
|
||
expected to work anytime soon.
|
||
|
||
* F,G,H,I classes: Currently not supported.
|
||
|
||
* SuperDome: It boots "single-cell", multi-IOMMU doesn't work.
|
||
|
||
* T 5XX and V class: Nobody is working on it at the moment.
|
||
|
||
* rp8400: these are cell based and probably don't work yet.
|
||
|
||
|
||
The following hardware might never work:
|
||
|
||
* T600.
|
||
|
||
* Vis-FX graphic adapters.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
Chapter 2. Preparing to boot
|
||
|
||
Like any other system, machines based on PA-RISC processors have to go
|
||
through several steps in order to get Linux up and running. The next section
|
||
introduces you to the early boot management of your PA-RISC computer. (By the
|
||
way, to be a bit less awkward, we might from time to time call it a 'PA'
|
||
box). This chapter will give you some key concepts like BOOT_ADMIN.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1. BOOT_ADMIN
|
||
|
||
First of all, you must learn what is and how to use BOOT_ADMIN on your
|
||
PA-RISC box, before thinking about doing anything with it.
|
||
|
||
BOOT_ADMIN is a firmware application, used to manage a PA-RISC machine at an
|
||
early boot stage, i.e. when the box has not yet started its Operating System.
|
||
It is also known as the Boot Console Handler (BCH). Those familiar with the
|
||
x86 world will probably see it as a kind of BIOS, whilst PPC fans might think
|
||
of it as an equivalent for Open Firmware.
|
||
|
||
We named it BOOT_ADMIN throughout this document since it is the name it is
|
||
the most common prompt it will display on most PA-RISC machines. You will see
|
||
through this HOWTO that there are many references to it, therefore it's worth
|
||
saying that minimalistic BOOT_ADMIN skills are mandatory!
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1.1. Entering the BOOT_ADMIN interface
|
||
|
||
Entering the BOOT_ADMIN management tool isn't that awful:
|
||
|
||
1. Turn your PA-RISC box on.
|
||
|
||
2. During the boot process, the following message will appear on the current
|
||
console (see Section 2.2):
|
||
Searching for Potential Boot Devices.
|
||
To terminate search, press and hold the ESCAPE key.
|
||
|
||
When this message is displayed, press and hold the Esc key until an
|
||
option menu appears. This can take a while, be patient. On recent
|
||
machines, pressing any key interrupts the boot process as well.
|
||
|
||
3. By default, you should enter the BOOT_ADMIN console. Though on some 715s
|
||
and 725s, an option menu looking like this may be shown:
|
||
b) Boot from specified device
|
||
s) Search for bootable devices
|
||
a) Enter Boot Administration mode
|
||
x) Exit and continue boot sequence
|
||
?) Help
|
||
|
||
Select from menu:
|
||
|
||
Type 'a' and hit Enter to enter Boot Administration mode. This will bring
|
||
up a 'BOOT_ADMIN>' prompt.
|
||
|
||
|
||
Once you have the 'BOOT_ADMIN>' prompt, you can pat yourself on the back: you
|
||
are in BOOT_ADMIN mode!
|
||
|
||
As it has been said before, the prompt can differ between machines. On recent
|
||
ones, for instance, it looks like that:
|
||
Main Menu: Enter command or menu >
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1.2. BOOT_ADMIN commands
|
||
|
||
BOOT_ADMIN is an early boot subsystem (a Boot Console Handler, as said
|
||
before) where you can execute a limited set of commands. You should find here
|
||
everything you need to know about them.
|
||
|
||
All HP-PA systems have a BCH. The display can be different but the idea
|
||
remains the same. That's why the following list is not complete but
|
||
consistent enough. Another important thing is that for each command, you have
|
||
a shorter way to invoke it. You can see the shortcut shown as uppercase
|
||
letters in the command name. Full names will be used in this section.
|
||
|
||
Caution Be cautious when dealing with the BCH, you can harm your system.
|
||
|
||
Note Some commands may appear in several different menus, and all commands
|
||
listed here may not necessarily be available on your particular system,
|
||
this is normal.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1.2.1. The main commands
|
||
|
||
These commands are the basic ones.
|
||
|
||
* boot may be followed by an argument which indicates the path you want to
|
||
boot. The path should be the definition of a device like for example
|
||
FWSCSI.6.0 or PRI if you have set this variable correctly. Usually
|
||
defaults to PRI.
|
||
|
||
* path displays or sets the current paths. Invoked with only one argument
|
||
it will display the current path of the entity passed as argument: path
|
||
alt will display the current alternative boot path. path pri fwscsi.6.0
|
||
will setup the primary boot path as the device attached to Fast and Wide
|
||
SCSI controller with ID 6 and LUN 0. You can also set and display the
|
||
paths of console (graphics/serial) and keyboard (ps2/hil/usb).
|
||
|
||
* search is a very useful command. It automagically checks all possible
|
||
boot devices and displays these bootable paths. In several firmware
|
||
versions, it links them to a shortcut (like P0). It can even search the
|
||
LAN, if the box is able to boot it. Some firmware revisions allow you to
|
||
restrain the search path like: search lan or search disk.
|
||
|
||
* display redisplays the current menu.
|
||
|
||
* help gives you an overview of the available commands and their action.
|
||
help name will give you details on command name. By default, you can list
|
||
all main commands by typing help main.
|
||
|
||
* main will bring you back to the main menu, whatever menu you might be
|
||
currently browsing.
|
||
|
||
* On almost every systems, there is a reset instruction. It restarts the
|
||
machine with the latest parameters you have set.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.1.2.2. The configuration commands
|
||
|
||
These commands are available in the configuration menu. So, in order to use
|
||
them, you must enter this menu by typing configuration at the 'BOOT_ADMIN>'
|
||
prompt.
|
||
|
||
* auto will tell you if the box will automatically start booting when
|
||
switched on, or will do a search for boot devices, depending on the first
|
||
argument passed to the command (boot, search, start). You can modify this
|
||
parameter with the keywords ON and OFF.
|
||
|
||
* default sets back the factory defaults.
|
||
|
||
* monitor (only in graphic console) sets your display configuration by
|
||
typing monitor <path> <type> which indicates your console path and type.
|
||
You can list the available modes by typing monitor list.
|
||
|
||
* fastboot displays or sets the boot tests execution.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.1.2.3. The information commands
|
||
|
||
They give you access to global information about your system. Going into this
|
||
menu is done by asking for information.
|
||
|
||
* all should display everything.
|
||
|
||
* bootinfo lists all the boot parameters of the system.
|
||
|
||
* fwrversion gives your firmware revision. You can check if your firmware
|
||
is up-to-date at this webpage.
|
||
|
||
* lanaddress shows the MAC (Ethernet) address of the system. On some boxes
|
||
(especially 712s), two different addresses may appear. The one you are
|
||
looking for is the first.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.1.2.4. The service commands
|
||
|
||
Warning It is a PA-RISC guru menu.
|
||
|
||
You will find nothing really interesting for an end-user here. We recommend
|
||
you not to play with it unless you really know what you are doing.
|
||
|
||
* pim [<proc>] [HPMC|LPMC|TOC] displays the content of a Processor Internal
|
||
Memory (PIM) and Error Log. It is very useful after a Transfer Of Control
|
||
(TOC) to collect debugging information.
|
||
|
||
* clearpim clears Processor Internal Memory (PIM) data.
|
||
|
||
* scroll enables or disables the scrolling mode in BOOT_ADMIN on recent
|
||
boxes.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.2. Consoles
|
||
|
||
Throughout your PA-RISC experience, you will be often told about consoles.
|
||
This section aims at de-obfuscating what this word means and how to use said
|
||
consoles.
|
||
|
||
In order to boot your PA-RISC system with the PA/Linux kernel, you must
|
||
first set up a console. A console is basically the device where the kernel
|
||
(and the firmware) will display its output, and where input can by sent to
|
||
control the system at an early boot stage. You can use either graphic console
|
||
, which requires having a monitor and a keyboard attached to the system, or
|
||
serial console, which allows serial line communication between the system and
|
||
another Linux machine, or any VT system.
|
||
|
||
Note Please note that the firmware console and kernel console are not
|
||
necessarily the same. For instance, it is possible to interact with
|
||
BOOT_ADMIN using keyboard & monitor, and once PA/Linux is up, to have
|
||
kernel output sent to serial port only. By default, PA LOader (PALO)
|
||
will try to use firmware console as the kernel one.
|
||
|
||
Tip Workstations usually boot in graphic mode, whereas servers boot in serial
|
||
mode. Some boxes will also automatically switch to serial if no keyboard
|
||
is connected, or if you hold down TOC switch while powering the system
|
||
on.
|
||
|
||
If you don't know what the actual console of your box is, it's quite
|
||
simple: find the place where first output is sent when the box is turned on
|
||
(serial line or monitor output, if any), that is the console.
|
||
|
||
If you are trying to setup a PA-RISC workstation and have a monitor handy,
|
||
the easiest method is to use graphic console. If you get into troubles, or
|
||
are trying to configure a server, choose serial console.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.1. Using graphic console
|
||
|
||
Caution To use the graphic console, you must first ensure that the Linux
|
||
kernel supports your system's graphic card.
|
||
|
||
There are two ways to deal with the graphic console. If you think about
|
||
bug-reporting any trouble, you must know how to differentiate both. First,
|
||
the STI console is the classical video text console, like VGA on a common PC
|
||
for example. This name is due to the fact that each PA-RISC box with
|
||
graphical capabilities features the Standard Text Interface (STI) which
|
||
defines some standardized ways to access the video memory. The other graphic
|
||
console is the well known framebuffer console (which on HP-PA uses STI in a
|
||
special manner, hence the name STIfb). In this case, when booting, you will
|
||
see a characteristic little penguin appearing on the top-left corner. This is
|
||
the easiest way to differentiate the two graphic modes.
|
||
|
||
Obviously, if you can use graphic console, it is the easiest way to
|
||
proceed. Nevertheless, you must be sure that your hardware is supported.
|
||
|
||
Important All HP-provided graphics cards can deal with Standard Text
|
||
Interface Console layer (STIcon), but not all of them are Standard
|
||
Text Interface FrameBuffer layer (STIfb) supported in Linux. This
|
||
is especially true for Vis-FX cards that can only be used through
|
||
STIcon.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.2. Using serial console
|
||
|
||
The serial console is a good way to obtain all console messages, including
|
||
the BCH ones. It is very useful for bug reports, as its output can be easily
|
||
dumped. Moreover, most of the PA-RISC servers can only be managed with serial
|
||
console.
|
||
|
||
Note The only cases where serial console HAS TO be used is either if you
|
||
don't have a monitor handy, or if the machine doesn't support graphics.
|
||
It is also possible that the kernel can NOT handle some specific
|
||
graphics hardware present in the machine, but that is pretty rare (
|
||
STIcon should work everywhere).
|
||
|
||
Here is the procedure to setup serial console support.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.2.1. Serial Cable
|
||
|
||
To connect a PA-RISC machine to a PC's RS232 port, you need a
|
||
9-pin-to-9-pin female plugs null-modem cable. You should be able to obtain
|
||
such a cable at your local computer hardware reseller. Obviously, you can
|
||
also choose to connect the other end of the cable to a terminal (in this case
|
||
it will probably need a 25-pin male plug). Anyway, the most practical method
|
||
is to connect it to another box running minicom or cu, which makes all output
|
||
easily available for further usage (dump report, session log, and so on).
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.2.2. Configuring minicom on Linux
|
||
|
||
In order to communicate with a PA-RISC machine on a serial line, you have
|
||
to set it up in serial console mode (see below), and configure a serial
|
||
communication program. We recommend minicom, which can be found in most Linux
|
||
distributions. If you don't have minicom on your system, you can find the
|
||
latest package on any major Linux software website.
|
||
|
||
Most of the minicom configuration is machine dependent. However, you must
|
||
ensure that:
|
||
|
||
a. The baud rate is set to 9600
|
||
|
||
b. Protocol is set to 8-N-1 (8bit data, No parity check, 1 stop bit)
|
||
|
||
|
||
Don't worry too much as these are the default values on PA/Linux. If you
|
||
are running minicom on a PC, you will probably need to change the baud rate.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.3. Switching consoles
|
||
|
||
It might prove useful that you learn how to manage the console mode on a
|
||
PA-RISC box. The following section will explain the various operations
|
||
regarding console modes.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.3.1. Checking current console mode
|
||
|
||
Type: path console to see the current console mode.
|
||
|
||
If it's graphic console mode, it will return something like: 'Console path
|
||
= graphic_1'.
|
||
|
||
If it's serial console, it will return: 'Console path =
|
||
rs232_a.9600.8.none' or something similar.
|
||
|
||
Note On some models, there can be slight differences in the naming, but the
|
||
idea stays the same. If you want to see more descriptions here, please
|
||
send us a message describing the box you use and what you get.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.3.2. Changing to serial console mode
|
||
|
||
To change to serial console mode, type the following command at the
|
||
'BOOT_ADMIN>' command prompt:
|
||
|
||
path console rs232_a.9600.8.none
|
||
|
||
or, like on B132L+
|
||
|
||
path console serial_1
|
||
|
||
Anyway, on most boxes if you try to setup an invalid path for the console,
|
||
you will be warned and prompted again for a valid path. To verify that the
|
||
console path has been correctly set, type path console. This should return
|
||
something like 'Console path = rs232_a.9600.8.none', indicating that the
|
||
system is now set up to boot using serial console, on RS232 port 'A'. If your
|
||
machine has only one, this is OK, if not, take care to use the right one.
|
||
reset will reboot your system with the new parameters.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.3.2.1. How can I change the boot console to serial on a 712?
|
||
|
||
Unfortunately, it is *normally* not possible. Although 712s are configured
|
||
for in-house HP development to use serial, this cannot be set in BOOT_ADMIN.
|
||
You will have to use graphic console on 712s. And why the hell would we use
|
||
this beautiful 712 with serial console when we can have X on it?!
|
||
|
||
Anyway, if you feel like trying bleeding edge solutions, there is a tip at
|
||
the [http://lists.parisc-linux.org/pipermail/parisc-linux/1999-December/
|
||
008117.html] PA/Linux mailing list archive. This explains how to change the
|
||
console from an HP/UX ISL prompt. Since you actually need HP/UX to be able to
|
||
do the serial trick, you can find a small HP/UX lifimage here: [http://
|
||
www.pateam.org/archive/uxbootlf] http://www.pateam.org/archive/uxbootlf. (See
|
||
further Section 4.3 to learn how to netboot a lifimage). In fact, serial
|
||
console on 712 is especially useful if you want to boot the box without
|
||
having a keyboard attached to it, which is otherwise not possible.
|
||
|
||
Warning The following takedown is highly unofficial, unsupported and in a
|
||
general way a bad idea, as you can make your 712 unbootable, needing
|
||
intervention from a HP-techie, if something goes wrong. Beware!
|
||
|
||
Here is the procedure:
|
||
|
||
1. Turn the box on and when in BOOT_ADMIN, boot into HP/UX ISL. For
|
||
example:
|
||
BOOT_ADMIN> boot lan isl
|
||
|
||
|
||
2. Once you get the 'ISL>' prompt, type the following:
|
||
|
||
+ Switching to serial: conspath 2/0/4.0x283
|
||
|
||
+ Switching to graphic: conspath 1/0/0.0
|
||
|
||
|
||
3. Still at the 'ISL>' prompt, type disp, and check that console path is
|
||
either '(hex) 2/0/4.283.0.0.0.0.0' for serial, or '(hex) 1/0/
|
||
0.0.0.0.0.0.0' for graphic.
|
||
|
||
4. Power cycle the system to bring it up on the new console.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.2.3.3. Changing to graphic console mode
|
||
|
||
This is the reverse of the previous operation. By checking your console
|
||
path, you should see 'Console path = rs232_a.9600.8.none'. Now, you can
|
||
switch to the graphic mode by issuing the following command at 'BOOT_ADMIN>'
|
||
prompt:
|
||
|
||
path console graphic_1
|
||
|
||
The actual switch will happen after a reset. If the monitor does not seem
|
||
to work properly, try to press the Tab key (on the keyboard attached to the
|
||
box of course) at the beginning of the boot sequence to change the resolution
|
||
of the display. By pressing this key, the monitor resolution cycles from one
|
||
to another.
|
||
|
||
Tip Keep that in mind when changing monitors.
|
||
-----------------------------------------------------------------------------
|
||
|
||
Chapter 3. PALO, the PA/Linux kernel loader
|
||
|
||
3.1. What is PALO?
|
||
|
||
PALO is a set of two programs, a boot loader, which is loaded by the
|
||
PA-RISC firmware into memory and then executed, and a boot media management
|
||
tool, which prepares and updates bootable media such as hard disk drives.
|
||
|
||
The PALO boot loader executable is stored in a file called iplboot. 'IPL'
|
||
is HP jargon for Initial Program Loader (See the glossary). The boot media
|
||
management tool is called PALO, which stands for PA/Linux LOader, just as on
|
||
x86 the boot media management tool is called LILO.
|
||
|
||
Even though PALO is much alike LILO (both have a userland application and a
|
||
boot loader executable), it's worth mentioning that PALO doesn't usually need
|
||
to be called every time you build and install a new kernel, as LILO does[2].
|
||
|
||
Note PALO is strongly related to PA/Linux development. Thus, several versions
|
||
have been released. Some changes in the way make palo operates are
|
||
explained by the author of PALO, Paul Bame, in this [http://
|
||
lists.parisc-linux.org/hypermail/parisc-linux/9451.html] mail.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2. What does PALO?
|
||
|
||
The main idea is to boot a kernel, passing it all needed parameters. This
|
||
is what the boot loader part of PALO does (see Section 3.4). Once it has been
|
||
called by the firmware, it will load the Linux Kernel in memory, passing to
|
||
it the given arguments, and tell the processor to branch to its entry point.
|
||
This will begin the execution of the kernel on the PA-RISC computer.
|
||
|
||
The PALO management tool can transform the usual vmlinux into a PA-RISC
|
||
bootable lifimage, including or not RAMDISK or NFSROOT support. However, it
|
||
can also make a hard disk drive bootable, specifying the console output and
|
||
the root device. We are going to see all these points precisely.
|
||
|
||
Important What must be kept in mind is that vmlinux is the kernel alone,
|
||
which is not bootable as is. It needs PALO to be turned into a
|
||
bootable lifimage for CD or network boot, or to be loaded at boot
|
||
time from a prepared hard disk drive. Have a look at Glossary about
|
||
these words. Quoting a well known PA/Linux hacker:
|
||
People often try to put a lifimage in /boot, or a
|
||
vmlinux on the network boot server.
|
||
--Richard Hirst
|
||
Which is obviously wrong.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3. PALO management tool usage
|
||
|
||
Here we will show what can be done with the PALO boot media management
|
||
tool. For in-depth information about palo usage, we strongly advise you to
|
||
take a look at PALO's README file, which can be found in palo/ directory on
|
||
[http://cvs.parisc-linux.org/] http://cvs.parisc-linux.org/.
|
||
|
||
For the next two steps, you will need a compiler toolchain, see Section 5.1
|
||
.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3.1. Making a lifimage with RAMDISK
|
||
|
||
First things first: when should you walk this way?
|
||
|
||
At an earlier stage of the PA/Linux project, the lifimage was very useful.
|
||
In fact, simply putting this file in a boot server tree allows you to boot
|
||
your PA box using the boot lan instruction without any further involvement
|
||
(see Section 4.3). The main advantage of a RAMDISK is that it unpacks its own
|
||
file system in RAM, and therefore is completely independent of the machine I/
|
||
O capabilities (hard drives, etc). The main drawback is that you have to
|
||
build your own RAMDISK if you have memory constraints or need some customized
|
||
files. Now, let's see how to obtain a lifimage with RAMDISK.
|
||
|
||
We assume you got the latest source of the PA/Linux kernel tree (to which
|
||
we'll refer below as the "linux/ directory"), and that you are somewhat
|
||
familiar with kernel configuration. Check Section 5.2 for PA-RISC specific
|
||
options. Mainly, you will need a (cross-)compiler, the linux/ directory and
|
||
the PALO package installed. If you do not have it, run as root apt-get
|
||
install palo. Everything can also be found at [http://www.parisc-linux.org/]
|
||
http://www.parisc-linux.org/. Go through the kernel configuration step. Then,
|
||
run make palo and if PALO is installed, the following message should appear
|
||
at the end of the compilation:
|
||
A generic palo config file (./palo.conf) has been created for you.
|
||
You should check it and re-run "make palo".
|
||
WARNING: the "lifimage" file is now placed in this directory by default!
|
||
|
||
So, edit the palo.conf file:
|
||
# This a generic Palo configuration file. For more information about how
|
||
# it works try 'palo -?'.
|
||
#
|
||
# Most people using 'make palo' want a bootable file, usable for
|
||
# network or tape booting for example.
|
||
--init-tape=lifimage
|
||
--recoverykernel=vmlinux
|
||
|
||
########## Pick your ROOT here! ##########
|
||
# You need at least one 'root='!
|
||
#
|
||
# If you want a root ramdisk, use the next 2 lines
|
||
# (Edit the ramdisk image name!!!!)
|
||
--ramdisk=ram-disk-image-file
|
||
--commandline=0/vmlinux HOME=/ root=/dev/ram initrd=0/ramdisk
|
||
|
||
# If you want NFS root, use the following command line (Edit the HOSTNAME!!!)
|
||
#--commandline=0/vmlinux HOME=/ root=/dev/nfs nfsroot=HOSTNAME ip=bootp
|
||
|
||
# If you have root on a disk partition, use this (Edit the partition name!!!)
|
||
#--commandline=0/vmlinux HOME=/ root=/dev/sda1
|
||
|
||
As you can see, the RAMDISK mode is the default. The string
|
||
ram-disk-image-file should give to PALO the path of your RAMDISK file. You
|
||
shouldn't change anything else to this file. After editing palo.conf, you can
|
||
run make palo again. The result, a lifimage file, is waiting for you in the
|
||
linux/ directory.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3.2. Making a lifimage with NFSROOT
|
||
|
||
This method is widely used because the kernel and the file system are
|
||
directly accessible on your boot server. It is also very easy to test a new
|
||
kernel. You just have to generate the kernel and put it in the correct
|
||
directory. When starting up, the PA box will boot the new kernel by typing
|
||
boot lan in BOOT_ADMIN. Finally, it is the only way to go for systems which I
|
||
/O devices are not supported (such as E class, by the writing of this
|
||
document).
|
||
|
||
Enabling NFSROOT support is easier than RAMDISK. You have to edit palo.conf
|
||
to specify the boot server IP address instead of the string HOSTNAME. For
|
||
instance, if your server has 10.10.10.2 as its IP address, then the palo.conf
|
||
file should contain:
|
||
# This a generic Palo configuration file. For more information about how
|
||
# it works try 'palo -?'.
|
||
#
|
||
# Most people using 'make palo' want a bootable file, usable for
|
||
# network or tape booting for example.
|
||
--init-tape=lifimage
|
||
--recoverykernel=vmlinux
|
||
|
||
########## Pick your ROOT here! ##########
|
||
# You need at least one 'root='!
|
||
#
|
||
# If you want a root ramdisk, use the next 2 lines
|
||
# (Edit the ramdisk image name!!!!)
|
||
#--ramdisk=ram-disk-image-file
|
||
#--commandline=0/vmlinux HOME=/ root=/dev/ram initrd=0/ramdisk
|
||
|
||
# If you want NFS root, use the following command line (Edit the HOSTNAME!!!)
|
||
--commandline=0/vmlinux HOME=/ root=/dev/nfs nfsroot=10.10.10.2 ip=bootp
|
||
|
||
# If you have root on a disk partition, use this (Edit the partition name!!!)
|
||
#--commandline=0/vmlinux HOME=/ root=/dev/sda1
|
||
|
||
If you have another IP, this field must be filled in with the correct data.
|
||
You shouldn't change anything else to this file. After having properly
|
||
configured palo.conf, you can go into the linux/ directory and issue a make
|
||
palo. The result, a lifimage file, is as usual waiting for you in the linux/
|
||
directory.
|
||
|
||
For advanced details on NFSROOT management, take a look at Bibliography for
|
||
the appropriate HOWTOs.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3.3. Making a bootable partition
|
||
|
||
In this part, PALO can be seen as a LILO clone. palo is mainly a program
|
||
that enables a PA box to boot a kernel present on its hard disk drive. This
|
||
section is going to explain how to make it work.
|
||
|
||
After installing the PALO package, a copy of the default palo.conf can be
|
||
found at /usr/share/doc/palo/palo.conf. We will explain here how to customize
|
||
it to fit your needs.
|
||
|
||
To setup a bootable hard disk, you have to partition it properly (that is,
|
||
if you want to use it as your primary boot device). This implies that this
|
||
step can only be achieved either if you have already booted a minimal system
|
||
on your PA-RISC box (from CD or network, see Chapter 4), or if you intend to
|
||
prepare your hard disk using another computer than the target one (which can
|
||
be useful to unpack and setup a downloaded file system for a slow box, for
|
||
example). The point of this HOWTO is not to teach you how to use fdisk and
|
||
friends, so here are the few things you HAVE TO know:
|
||
|
||
* A partition entirely contained within the first 2GB of your target
|
||
device has to be of partition type 'f0', which is the reserved partition
|
||
type for PALO boot loader.
|
||
|
||
* There are two ways to use PALO: the old scheme (available on all
|
||
versions), in which that partition will only store configuration and
|
||
recovery kernel; and the new scheme (available since PALO 1.5), in which
|
||
that partition will be formatted as ext2 or ext3 and mounted in /boot.
|
||
|
||
* In the first case, the partition does not need to be huge. This is were
|
||
PALO will save its configuration, recovery kernel(s) - about 5MB each -
|
||
and optional recovery ramdisk, so 32MB seem far sufficient.
|
||
|
||
* Alternatively, in the second case, since you will use it as /boot, you
|
||
should size it decently. 100MB is a good cut.
|
||
|
||
|
||
Warning Beware! The vmlinux file that will be actually booted has also to be
|
||
located within the first 2GB of the hard disk. We strongly recommend
|
||
to either (in the old scheme) create a separate /boot partition at
|
||
the beginning of the disk (unless you plan to boot recovery kernels
|
||
every time), or use the new scheme and mount the PALO partition as /
|
||
boot, because if ever your vmlinux binary gets physically stored past
|
||
the first 2GB of the disk (like when filling up '/' with data), the
|
||
box won't boot anymore.
|
||
|
||
In fact, this third usage of PALO is the most common as the default /etc/
|
||
palo.conf makes it easy to configure.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3.3.1. The old scheme: hidden partition
|
||
|
||
The hidden partition is deprecated. Don't use this for a new setup. Use the
|
||
new scheme instead (see Section 3.3.3.2). The hidden partition method is
|
||
documented for the sake of posterity.
|
||
|
||
Here is the output of fdisk which represents the hard drive of a box with
|
||
16MB PALO space, 128MB swap space and about 1GB '/' partition:
|
||
bash# fdisk -l /dev/sda
|
||
|
||
Disk /dev/sda: 133 heads, 62 sectors, 1017 cylinders
|
||
Units = cylinders of 8246 * 512 bytes
|
||
|
||
Device Boot Start End Blocks Id System
|
||
/dev/sda1 * 1 4 16461 f0 Linux/PA-RISC boot
|
||
/dev/sda2 5 34 123690 82 Linux swap
|
||
/dev/sda3 35 277 1001889 83 Linux
|
||
|
||
|
||
Now let's deal with PALO configuration. Here are the various parameters you
|
||
can change:
|
||
|
||
* recoverykernel is (as the name suggests) the path to the kernel you want
|
||
to boot within a failsafe session, it will be stored in the 'f0-type'
|
||
partition.
|
||
|
||
* bootloader is the path to the iplboot boot loader utility which is
|
||
created by PALO when you issue a make iplboot.
|
||
|
||
Note Usually you don't want to change or even specify this.
|
||
|
||
* init-partitioned is used to indicate the pre-partionned device where palo
|
||
will write its boot parameters. The effect is immediate. It means that
|
||
PALO is going to write on (and erase the content of) the 'f0' partition
|
||
of this device, which has to exist.
|
||
|
||
* commandline: the first digit is the number of your ext2/ext3 partition
|
||
where the kernel file is located, as reported by fdisk. Logically, the
|
||
next string is the absolute path to the kernel from the root of THIS
|
||
partition [3]. The following space separated parameters (do NOT use any
|
||
quotation mark!) will be passed to the kernel as its arguments. e.g.:
|
||
HOME= and TERM= are environmental parameters passed to init when booting.
|
||
They are not compulsory but they can be useful. root= tells the kernel
|
||
which partition it must mount as the root file system while booting. It
|
||
can be tricky when you have more than one disk, and is a mandatory
|
||
argument. Maximum length for the commandline is 127 characters.
|
||
|
||
You can also add console=, to force the designation of the output
|
||
console. You should remember that console=ttyS0 is for a serial console
|
||
and console=tty0 is for a STI (graphic) console. Support for the MUX
|
||
console (if enabled in the kernel, see Section 5.2) has been added, using
|
||
console=ttyB0. Recent versions of PALO auto detect the right console path
|
||
(except for MUX), and can figure out whether a 32bit or 64bit kernel
|
||
should be used. If not, please mail to the mailing list. Last but not
|
||
least, if you are using Debian 2.6 kernels, you will also need to add
|
||
initrd=X/path/to/initrd, following the same rules as for the kernel path
|
||
[3], see above.
|
||
|
||
|
||
According the above fdisk example, we want to use /dev/sda3 as our root
|
||
partition. Thus, the configuration file should look like that:
|
||
# The following arguments are set up for booting from /dev/sda, specifically
|
||
# mounting partition 3 as root, and using /boot/vmlinux as both the
|
||
# recovery kernel, and the default dynamically-booted kernel.
|
||
--recoverykernel=/boot/vmlinux
|
||
--init-partitioned=/dev/sda
|
||
--commandline=3/boot/vmlinux root=/dev/sda3
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.3.3.2. The new scheme: mounted partition
|
||
|
||
Following is a practical example using the new way of doing things, by
|
||
using a formatted PALO partition. That scheme should be the preferred one for
|
||
new installations.
|
||
|
||
Looking at the previous example (Section 3.3.3.1), very little things need
|
||
to be changed. Essentially, if you had the need for a separate /boot
|
||
partition, it will be gone in the scheme detailed below. The configuration
|
||
for PALO will be a little bit different as well, but that's about it.
|
||
|
||
Here is the output of fdisk which represents the hard drive of a box with
|
||
100MB PALO space (which will be mounted as /boot), 128MB swap space and about
|
||
1GB '/' partition (bear in mind that the f0 partition must still be wholy
|
||
contained within the first 2GB of the disk):
|
||
bash# fdisk -l /dev/sda
|
||
|
||
Disk /dev/sda: 133 heads, 62 sectors, 1017 cylinders
|
||
Units = cylinders of 8246 * 512 bytes
|
||
|
||
Device Boot Start End Blocks Id System
|
||
/dev/sda1 * 1 26 100461 f0 Linux/PA-RISC boot
|
||
/dev/sda2 27 36 123690 82 Linux swap
|
||
/dev/sda3 37 277 917889 83 Linux
|
||
|
||
|
||
Now let's deal with PALO configuration. Contrary to the previous example,
|
||
there are far less options to put in the configuration file, and the setup is
|
||
a single step operation: the initialization step, which needs only to be done
|
||
once.
|
||
|
||
To initialize for the first time the PALO partition as something the Linux
|
||
system can understand (ext2 or ext3 filesystem), you need to run the
|
||
following command (as root):
|
||
[user@machine ~/dir]> palo --format-as=N --init-partitioned=target_disk
|
||
|
||
|
||
Where N is either 2 for ext2 or 3 for ext3, and target_disk is the device
|
||
which contains the PALO partition, /dev/sda in the current example.
|
||
Continuing with this example, assuming we want an ext3 partition we would
|
||
use:
|
||
[user@machine ~/dir]> palo --format-as=3 --init-partitioned=/dev/sda
|
||
|
||
|
||
Warning Do NOT use mkfs or mke2fs to generate the filesystem on this
|
||
partition. PALO marks blocks as used where the boot loader portion of
|
||
PALO is stored on disk. These tools don't know about PALO boot
|
||
loader!
|
||
|
||
Note This needs to be run only once for it will erase any existing data on
|
||
the f0 partition.
|
||
|
||
Finally, we need to tell PALO about the partition, how we want it to be
|
||
used, and how we don't want it to be erased everytime PALO is being run.
|
||
Thus, keeping in sync with our current example, the configuration file should
|
||
look like that:
|
||
# The following arguments are set up for booting from /dev/sda, specifically
|
||
# mounting partition 3 as root and booting the vmlinux file in /dev/sda1, palo
|
||
# partition formatted as ext3.
|
||
--update-partitioned=/dev/sda --format-as=3
|
||
--commandline=1/vmlinux root=/dev/sda3
|
||
|
||
|
||
As one can see, since we will be storing our kernels directly on the f0
|
||
partition, we tell PALO to load them from it (hence the 1 in the commandline
|
||
argument.
|
||
|
||
Note In the previous section (Section 3.3.3.1) we dealt with the
|
||
init-partitioned parameter. Here, we use update-partitioned instead,
|
||
which, contrary to the former, tells PALO to not erase the content of
|
||
the partition when run[4].
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.4. How to use PALO at early boot stage?
|
||
|
||
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:
|
||
BOOT_ADMIN> boot pri ipl
|
||
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[5]! 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)
|
||
|
||
Note Depending on your model, you might need to press this key during a quite
|
||
long time.
|
||
|
||
Tip 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[6]. 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.
|
||
|
||
Caution 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 :-)
|
||
|
||
Note 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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
Chapter 4. Available boot solutions
|
||
|
||
4.1. Booting from CD
|
||
|
||
Booting from CD is one of the easiest way to start and install your PA-RISC
|
||
machine; assuming you have a CD drive handy and a bootable CD. You can
|
||
download official Debian ISOs as well as Net Install ISO (see netinst) from
|
||
the [http://www.debian.org/devel/debian-installer/] Debian Installer pages,
|
||
or from the [ftp://www.parisc-linux.org/cd-images/] PA-RISC/Linux official
|
||
website.
|
||
|
||
i. Start the box and enter the BOOT_ADMIN mode. (Section 2.1.1)
|
||
|
||
ii. Place your bootable CD on the CD tray and close it. Sounds obvious, but
|
||
we know guys who missed that step :)
|
||
|
||
iii. There are two options from there: either you know the full PATH to
|
||
your CD device, then you can jump to next step, or you don't. In this
|
||
last case, issue a search ipl to list all available bootable devices. You
|
||
can also specify search [PATH], which is fastest. For instance if you
|
||
want to search the SCSI bus:
|
||
search SCSI
|
||
|
||
On recent boxes, search disk is quite helpful. Take a look at help
|
||
search for details specific to your box.
|
||
|
||
iv. Once you know the full PATH to your CD drive, you can issue a boot <
|
||
PATH>. That's all. If everything goes fine, it will start booting the CD
|
||
present in the CD reader. Real life example:
|
||
boot ide
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.2. Booting from hard drive
|
||
|
||
Booting from hard drive is not really more difficult that booting from CD.
|
||
The only thing really important is that your hard drive has to be correctly
|
||
prepared. Take a look at Section 3.3.3 to learn how to prepare it.
|
||
|
||
i. Start the box and enter the BOOT_ADMIN mode. (Section 2.1.1)
|
||
|
||
ii. There are two options from there: either you know the full PATH to your
|
||
hard disk device, then you can jump to next step, or you don't. In this
|
||
last case, issue a search ipl to list all available bootable devices. You
|
||
can also specify search [PATH]. For instance if you want to search the
|
||
Single Ended SCSI bus:
|
||
search SESCSI
|
||
|
||
Take a look at help search for details specific to your box.
|
||
|
||
iii. Once you know the full PATH to your hard drive, you can issue a boot <
|
||
PATH>. That's all. If everything goes fine, it will start booting the
|
||
kernel as setup by PALO (see Section 3.3.3). Real life example:
|
||
boot scsi.6
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.3. Booting from network
|
||
|
||
Booting from the network is only required in certain cases. Booting from
|
||
the network is very usefull when you have unsupported I/O devices, diskless
|
||
systems, or systems with broken hardware. Network booting is detailed below.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.1. Preparing to boot from network
|
||
|
||
Booting from the network involves two machines: the boot server and the
|
||
boot client, the latter being the PA-RISC system you are trying to start up,
|
||
and the former, the machine that will serve over the network the files which
|
||
the client needs. The rest of this section will extensively deal with setting
|
||
up the boot server since this is probably the trickiest part.
|
||
|
||
Important You will need a lifimage to perform a network boot. See Section 3.2
|
||
to learn how to create one. You can also use the one from [http://
|
||
ftp.debian.org/debian/dists/sarge/main/installer-hppa/current/
|
||
images/netboot/2.6/boot.img] Debian Installer.
|
||
|
||
Note Needless to say, all server-side setup is meant to be performed by the
|
||
super-user, also known as root.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.2. rboot or bootp?
|
||
|
||
All 'recent' machines can boot using BOOTP, starting from 715/100, 715/120,
|
||
and 712s. Older ones, mostly early 715s, 710s and 725s need RBOOT.
|
||
|
||
Note To use BOOTP you have to enable the IP: Kernel level autoconfiguration->
|
||
IP: BOOTP support within the 'Networking options' section of the kernel
|
||
configuration, if you want to use a home-made kernel. See Chapter 5 for
|
||
details.
|
||
|
||
Please note that though Section 4.3.3 deals with RBOOT only, two different
|
||
implementations of the BOOTP protocol are detailed in Section 4.3.4 and
|
||
Section 4.3.5. We detail these two because we can, but if you need to use the
|
||
BOOTP protocol, you will have to choose one.
|
||
|
||
Tip If you don't know which BOOTP implementation to use, go for the dhcp one,
|
||
it is much easier to deal with.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.3. Using rboot
|
||
|
||
4.3.3.1. Obtaining rbootd
|
||
|
||
If you have an old machine that requires rboot to boot over network, use
|
||
the following procedure to set up and configure a boot server, and boot using
|
||
the PA-RISC/Linux kernel.
|
||
|
||
Old machines, including the Scorpio 715s, use the RBOOT protocol. You need
|
||
rbootd to handle their boot requests. Look for it in your favorite
|
||
distribution archive (assuming you will be servicing boot requests from a
|
||
Linux box). Here are two ways of getting the rboot daemon:
|
||
|
||
* If you are using a Debian-powered server (which you really should be
|
||
doing ;o), you're almost done. Run from a command shell:
|
||
[user@machine ~/dir]> apt-get install rbootd
|
||
|
||
|
||
* If you can't find any rbootd package for your system (which is very
|
||
possible since it is a very old netboot protocol), you can find its
|
||
source in the Debian archive: [http://packages.debian.org/stable/net/
|
||
rbootd.html] rbootd. You will have to build it from source.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.3.3.2. Configuring rbootd
|
||
|
||
As we already said, to boot a RBOOT-aware system, you need a separate
|
||
machine with rbootd installed (this is the 'boot server') on which you will
|
||
store the PA-RISC/Linux kernel lifimage that you want to use to boot your
|
||
PA-RISC system with.
|
||
|
||
Once the rbootd server software is installed, read the following to
|
||
configure it to work with your PA-RISC system:
|
||
|
||
In /etc/rbootd.conf you will have to add a line like:
|
||
ethernet_addr bootfile
|
||
|
||
1. Replace bootfile with the name of your PA-RISC/Linux kernel image,
|
||
usually 'lifimage'.
|
||
|
||
2. Now get the Ethernet address of your PA-RISC system by typing
|
||
lanaddress at the 'BOOT_ADMIN>' prompt (see Section 2.1.2.3).
|
||
|
||
It will return a number like 080009-7004b6. Take note of this number.
|
||
|
||
3. In /etc/rbootd.conf on your boot server, the Ethernet address has to be
|
||
colon-delimited. That means you will have to modify the number you just
|
||
obtained so that every set of two characters (after removing the '-') is
|
||
separated by a colon. For example: 080009-7004b6 becomes 08:00:09:70:04:
|
||
b6. Add the colon delimited Ethernet address to /etc/rbootd.conf on your
|
||
boot server. The resulting file will look something like this:
|
||
# ethernet addr boot file comments
|
||
|
||
08:00:09:87:e4:8f lifimage_715 # PA/Linux kernel for 715/33
|
||
08:00:09:70:04:b6 lifimage_720 # PA/Linux kernel for 720
|
||
|
||
|
||
This rbootd.conf example contains the Ethernet addresses and boot file
|
||
names for two different machines.
|
||
|
||
Once you have changed the configuration file, restart rbootd.
|
||
|
||
|
||
By default, rbootd assumes that bootfiles are located in /var/lib/rbootd/.
|
||
Therefore, you will have to put your bootable kernel image in that directory,
|
||
or, if you really hate that directory for some reason, you can rebuild rbootd
|
||
to use a different directory.
|
||
|
||
The easiest thing, of course, is just to drop your kernel images in the
|
||
default directory!
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.4. Using dhcp/tftp
|
||
|
||
We will see here how to setup a DHCP server to handle BOOTP requests (since
|
||
PA-RISC box use BOOTP, unless they need RBOOT, as mentioned above).
|
||
|
||
Note Windows?? users might want to look at Appendix A.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.4.1. Obtaining dhcp/tftp
|
||
|
||
Debian users will just have to install the packages using the following
|
||
commands, executed as root:
|
||
[user@machine ~/dir]> apt-get install dhcp tftpd
|
||
|
||
|
||
If you need rpm packages (for the ISC dhcp server), the best way is to go
|
||
to [http://rpmfind.net/] http://rpmfind.net/.
|
||
|
||
Note The dhcp package can do much more than a simple bootp daemon.
|
||
Nevertheless, it is also known to be much easier to configure. If you
|
||
really want to try regular bootp, skip this and go to Section 4.3.5.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.4.2. Configuring dhcp/tftp
|
||
|
||
Here are the instructions to set up dhcp on your boot server. To keep this
|
||
explanation simple, we will assume that you want to assign a fixed IP to your
|
||
box, without DNS update. Your subnet will be 192.168.1.0/24, with optional:
|
||
gateway at 192.168.1.1, domain name foo.com and DNS at 192.168.1.4. Feel free
|
||
to replace these values with those which would suit your needs in the next
|
||
sections.
|
||
|
||
Note This section is dedicated to Debian users. For others distributions, it
|
||
should be similar though there may be some differences like default
|
||
directories.
|
||
|
||
1. Edit /etc/inetd.conf on your boot server to add the following line, if
|
||
it doesn't already exist:
|
||
tftp dgram udp wait nobody /usr/sbin/tcpd \
|
||
/usr/sbin/in.tftpd /tftpboot
|
||
|
||
Here, /tftpboot/ is being used as tftpd server's root (this is where you
|
||
will put the lifimage file). You can choose another directory if you
|
||
want. According to man tftpd, this is the usual default directory.
|
||
|
||
When this is done, reload inetd with: /etc/init.d/inetd reload.
|
||
Non-Debian users can also issue a killall -HUP inetd.
|
||
|
||
2. According to man 5 dhcpd.conf, edit the /etc/dhcpd.conf file to contain
|
||
something like:
|
||
allow bootp;
|
||
default-lease-time 600;
|
||
max-lease-time 7200;
|
||
# This will tell the box its hostname while booting:
|
||
use-host-decl-names on;
|
||
|
||
subnet 192.168.1.0 netmask 255.255.255.0 {
|
||
option routers 192.168.1.1;
|
||
option domain-name "foo.com";
|
||
option domain-name-server 192.168.1.4;
|
||
}
|
||
|
||
host [hostname] {
|
||
hardware ethernet [mac address];
|
||
fixed-address [ip address];
|
||
filename "[boot filename]";
|
||
option root-path "[root path]";
|
||
}
|
||
|
||
You have to fill in the [hostname], [mac address], [ip address], [boot
|
||
filename] and [root path] fields with the appropriate information, where:
|
||
|
||
+ [hostname] is the name of the PA-RISC system.
|
||
|
||
+ [mac address] is the colon-delimited ethernet address of the
|
||
PA-RISC system, which can be obtained by typing lanaddress at the
|
||
'BOOT_ADMIN>' prompt (see Section 2.1.2.3).
|
||
|
||
+ [ip address] is the IP address you wish to assign to the PA-RISC
|
||
system.
|
||
|
||
+ [boot filename] is the name of the bootable kernel image you want
|
||
to boot your system with.
|
||
|
||
+ [root path] is the path to the NFS root filesystem exported by the
|
||
server.
|
||
|
||
+ Additionally, if the tftp server you want to use is not the same as
|
||
the one running the dhcp server, you can add next-server [ip
|
||
address];, replacing [ip address] with the actual IP of the tftp
|
||
server, to the dhcp configuration.
|
||
|
||
|
||
You'll end up with something like this for each box you want to netboot
|
||
:
|
||
host tatooine {
|
||
hardware ethernet 00:40:05:18:0c:dd;
|
||
fixed-address 192.168.1.22;
|
||
filename "lifimage-tatooine";
|
||
option root-path "/exports/tatooineroot";
|
||
}
|
||
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.3.5. Using bootp/tftp
|
||
|
||
4.3.5.1. Obtaining bootp/tftp
|
||
|
||
For Debian users, you just have to install the packages by typing these
|
||
commands as user root:
|
||
[user@machine ~/dir]> apt-get install bootp tftpd
|
||
|
||
If you need rpm packages, the best way is to go to [http://rpmfind.net/]
|
||
http://rpmfind.net/.
|
||
|
||
Warning You'll have been warned! This daemon is far more obfuscated in its
|
||
configuration.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3.5.2. Configuring bootp/tftp
|
||
|
||
Follow these instructions to use the bootp daemon on your boot server:
|
||
|
||
Note This section is dedicated to Debian users. For others distributions, it
|
||
should be similar though there may be some differences like default
|
||
directories.
|
||
|
||
1. Edit /etc/inetd.conf on your boot server to add the following lines, if
|
||
they don't already exist:
|
||
tftp dgram udp wait nobody /usr/sbin/tcpd \
|
||
/usr/sbin/in.tftpd /tftpboot
|
||
bootps dgram udp wait root /usr/sbin/bootpd \
|
||
bootpd -i -t 120
|
||
|
||
Here, /tftpboot/ is being used as tftpd server's root (this is where you
|
||
will put the lifimage file). You can choose another directory if you
|
||
want. According to man tftpd, this is the usual default directory.
|
||
|
||
When this is done, reload inetd with: /etc/init.d/inetd reload.
|
||
Non-Debian users can also issue a killall -HUP inetd.
|
||
|
||
2. According to man 5 bootptab, edit the /etc/bootptab file to contain:
|
||
[hostname]:hd=/tftpboot:\
|
||
:rp=[root path]:\
|
||
:ht=ethernet:\
|
||
:ha=[mac address]:\
|
||
:ip=[ip address]:\
|
||
:bf=[boot filename]:\
|
||
:sm=255.255.255.0:\
|
||
:to=7200:
|
||
|
||
You have to fill in the [hostname], [mac address], [ip address] and [root
|
||
path] fields with the appropriate information, where:
|
||
|
||
+ [hostname] is the name of the PA-RISC system.
|
||
|
||
+ [mac address] is the NOT-delimited ethernet address of the PA-RISC
|
||
system, which can be obtained by typing lanaddress at the 'BOOT_ADMIN
|
||
>' prompt (see Section 2.1.2.3).
|
||
|
||
+ [ip address] is the IP address you wish to assign to the PA-RISC
|
||
system.
|
||
|
||
+ [boot filename] is the name of the bootable kernel image you want
|
||
to boot your system with.
|
||
|
||
+ [root path] is the path to the NFS root filesystem exported by the
|
||
server.
|
||
|
||
|
||
You'll end up with something like this:
|
||
vodka:hd=/tftpboot:\
|
||
:rp=/usr/src/parisc/:\
|
||
:ht=ethernet:\
|
||
:ha=080069088717:\
|
||
:ip=140.244.9.208:\
|
||
:bf=lifimage:\
|
||
:sm=255.255.255.0:\
|
||
:to=7200:
|
||
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.3.6. Effectively booting from network
|
||
|
||
To conclude with the developers' way to boot the kernel, this section will
|
||
tell you how to actually boot your system from a network server. But it tends
|
||
to be less and less used. Most users will prefer to stick to Section 4.2 once
|
||
their system is properly setup.
|
||
|
||
Here we are. We assume that you've done everything outlined above, your
|
||
network boot server is on the same physical subnet as your PA-RISC machine,
|
||
you've got a bootable PA/Linux kernel lifimage on your boot server, and
|
||
you're willing to give it a try. If everything is ready (including you!), the
|
||
following procedure will introduce you to the joy of network booting your PA
|
||
box into Linux.
|
||
|
||
1. Fire up your PA-RISC system.
|
||
|
||
2. Watch your PA-RISC box starting up. When the following message appears
|
||
during the PA-RISC machine's boot process, press and hold the Esc key:
|
||
Searching for Potential Boot Devices.
|
||
To terminate search, press and hold the ESCAPE key.
|
||
|
||
|
||
3. If needed, select 'a) Enter Boot Administration mode' from the menu.
|
||
This brings up the 'BOOT_ADMIN>' prompt.
|
||
|
||
4. Type the following at the prompt: boot lan.
|
||
|
||
5. Watch your PA-RISC system magically becoming a PA/Linux system. Ta dah!
|
||
|
||
|
||
Note Of course your are supposed to run only one boot server at a time on
|
||
your network, in order to avoid conflicts...
|
||
-----------------------------------------------------------------------------
|
||
|
||
Chapter 5. Building and installing a custom kernel
|
||
|
||
To build a Linux kernel, you need a compiler and the kernel source. The
|
||
first element is not a trivial thing to find because it depends on how you
|
||
want to build your kernel. The second is easier since it can be found at
|
||
[http://cvs.parisc-linux.org/] the official CVS site. First, we will discuss
|
||
about GCC compiler. Then, the preparation of the build will be explained. The
|
||
last paragraph will deal with the installation of this new kernel.
|
||
|
||
Note We will deal only with a kernel built without modules, to simplify the
|
||
explanations.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.1. GCC compiler
|
||
|
||
You can build the kernel directly on your own PA-RISC box (self-hosted or
|
||
native build). But on old systems, you may prefer to use another - faster -
|
||
non PA-RISC computer to compile your kernel (cross-compilation). We will see
|
||
the two possibilities.
|
||
|
||
Note By the time version 1.0 of this howto was released, only gcc-3.0.X was
|
||
able to build working kernels. There was a bug in more recent versions
|
||
that made the box crash when network activity occurs. It should be fixed
|
||
by now, so using the latest version of gcc should be fine. If ever the
|
||
above mentioned bug occurs, you'll know what's wrong. Anyway, if you
|
||
want to build any kernel after 2.6.12-rc3, you will need at least
|
||
gcc-3.3.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.1.1. Native build
|
||
|
||
Since Debian was the first distribution to support PA-RISC architecture, if
|
||
you want to use the Super Cow powers, you need to have some basic knowledge
|
||
about the Debian packaging system. We will explain here how to quickly get a
|
||
gcc compiler ready on your PA-RISC box. If you are not using Debian, well,
|
||
we're afraid we can't do much for you: you will have to transpose what is
|
||
said below to your distribution. We will assume you know how to use
|
||
|
||
If you are using your own PA-RISC box, you only need the good old GCC
|
||
compiler. You can install the required tools to build a kernel by issuing:
|
||
[user@machine ~/dir]> apt-get install build-essential libncurses5-dev
|
||
|
||
|
||
Essentially, this will install everything you need to build a kernel (and
|
||
even a bit more). This boils down to binutils, gcc, libc-dev, make, fileutils
|
||
and libncurses5-dev.
|
||
|
||
When this is done, you can proceed to the kernel settings.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.1.2. Cross compiled build
|
||
|
||
In this kernel build method, everything depends on the architecture of your
|
||
building machine. If you want to compile your own toolchain, there is a
|
||
slightly out-of-date HOWTO (O'Donell 2002). Otherwise, we assume you can
|
||
either find a cross-compiler package for your build host, or make one by
|
||
yourself.
|
||
|
||
Important As there is not yet a 64bit userspace on HP-PA, you have to
|
||
cross-compile 64bit kernel even if you are building on a 64bit
|
||
PA-RISC box. You can get unofficial debs for hppa64 compilers and
|
||
binutils by running for instance:
|
||
[user@machine ~/dir]> apt-get install gcc-3.3-hppa64 binutils-hppa64
|
||
|
||
See the [http://www.parisc-linux.org/] PA-RISC Linux Website for
|
||
details.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.2. Kernel configuration
|
||
|
||
If you want to take advantage of the latest kernel improvements, we suggest
|
||
you retrieve it from the official [http://cvs.parisc-linux.org/] PA-RISC/
|
||
Linux CVS. Please mind that the vanilla kernel that can be found at [http://
|
||
www.kernel.org/] http://www.kernel.org/ is generally out of sync with the
|
||
above mentioned CVS kernel, and that snapshots of this kernel are available
|
||
too, check the [http://cvs.parisc-linux.org/download/] download area. In the
|
||
following, we will focus on a fresh CVS tree.
|
||
|
||
The best way to obtain appreciable performances is to get a well configured
|
||
kernel. For the PA-RISC platform, make oldconfig is a kind of default setup.
|
||
If you want to make your own kernel, the first step is to know what hardware
|
||
you have. The best way to grab useful info is to look at your box and find a
|
||
maximum of data (model name, partnumber, chipsets, and so on). If you have
|
||
already booted your box, you can take a look at dmesg output. Then, go to the
|
||
official hardware database or to the [http://partsurfer.hp.com/] HP
|
||
partsurfer website.
|
||
|
||
Once you know what is inside your box and what you want to do with it, just
|
||
run make menuconfig or another config command.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.2.1. Configuring 2.4 kernels
|
||
|
||
Here is a brief list of architecture dependent menus for 2.4 kernels. You
|
||
should take a look at them, to see if the values set match your hardware.
|
||
Mind that 2.4 kernels are now considered deprecated anyway: you will not get
|
||
community support for them.
|
||
|
||
Note Remember that make oldconfig is a good base to start with, since it
|
||
works for almost any machine.
|
||
|
||
* Processor type - indicates your CPU model
|
||
|
||
* General options - tells you what is going to be enabled in your kernel
|
||
(U2/Uturn, USC/GSC/HSC, Lasi, Wax, Dino, LBA/Elroy, SuperIO)
|
||
|
||
* Parallel port support - enables/disables the Lasi/ASP parport
|
||
|
||
* SCSI support - check there for your SCSI chipset (Lasi, Zalon, NCR/
|
||
SYM53C8XX or other)
|
||
|
||
* Network device support - is used to set your network card (Lasi,
|
||
Tulip...)
|
||
|
||
* Character devices - defines your I/O capabilities (Lasi, Dino, MUX see
|
||
Section 5.2.1.3)
|
||
|
||
* HIL Support - useful if you have a HIL controller. See below Section
|
||
5.2.1.1.
|
||
|
||
* Console drivers - is directly related to your console mode (STI console
|
||
or STI framebuffer)
|
||
|
||
* Sound - enables/disables the Harmony driver
|
||
|
||
|
||
As you can see, menus specifically concerned by PA-RISC hardware are not
|
||
that numerous, but there are lots of dependencies between them. Now, you must
|
||
configure the kernel accordingly to what you plan to use this box for. Here
|
||
is a list of some menus you should be going through to configure additional
|
||
functionalities you might want:
|
||
|
||
* General setup - is responsible for binary formats handled by the
|
||
kernel. You need ELF, and can try SOM (support for HP/UX binaries. It *
|
||
might* work with some static executables).
|
||
|
||
* Block devices - sets the ramdisk and loopback support. You probably
|
||
won't use them.
|
||
|
||
* ATA/IDE/MFM/RLL support - You will need to check this to enable IDE.
|
||
See Section 5.2.1.4.
|
||
|
||
* File Systems/Network File Systems - is where to set EXT3 or NFS
|
||
support.
|
||
|
||
* USB support - If you have enabled SuperIO and want USB, look here:
|
||
Section 5.2.1.2.
|
||
|
||
|
||
Note By the time this HOWTO was written, there was no floppy drive support;
|
||
and what's more, it is not expected to ever be supported.
|
||
|
||
When you're done with it, save your kernel configuration. Everything is
|
||
written in the .config file. You should back it up because make distclean
|
||
will remove it. At this stage, you can do make dep vmlinux and if everything
|
||
goes fine, you will have a new kernel in a couple of minutes.
|
||
|
||
Here follows brief information about specific hardware configurations.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.2.1.1. HIL Support in 2.4
|
||
|
||
Since kernel-2.4.18-pa45, there is a full HIL support, for mice, tablets
|
||
and keyboards. It is based on the Linux Input Driver model. See the [http://
|
||
www.parisc-linux.org/faq/] PA-RISC/Linux FAQ and the [http://
|
||
lists.parisc-linux.org/pipermail/parisc-linux/2002-June/016757.html] mail
|
||
posted on the mailing list by Helge Deller. Here is how to configure it:
|
||
|
||
1. Make sure you have a 2.4.18-pa45 or higher kernel source.
|
||
|
||
2. Look at your kernel configuration for the following options:
|
||
CONFIG_INPUT=y
|
||
CONFIG_INPUT_KEYBDEV=y
|
||
CONFIG_INPUT_MOUSEDEV=y
|
||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||
CONFIG_INPUT_EVDEV=y
|
||
|
||
CONFIG_INPUT_SERIO=y
|
||
|
||
CONFIG_HIL=y
|
||
CONFIG_HP_SDC=y
|
||
CONFIG_HIL_MLC=y
|
||
CONFIG_HP_SDC_MLC=y
|
||
CONFIG_HIL_KBD=y
|
||
CONFIG_HIL_PTR=y
|
||
|
||
|
||
Note There is no more CONFIG_HIL_KBD_BASIC.
|
||
|
||
3. On your target system, check that the following devices are available:
|
||
/dev/input/mice
|
||
/dev/input/mouseX
|
||
/dev/input/eventX
|
||
|
||
If they are not yet present, create them as root by running:
|
||
[user@machine ~/dir]> cd /dev; MAKEDEV input
|
||
|
||
|
||
4. Configure gpm with the following options in /etc/gpm.conf:
|
||
device=/dev/input/mice
|
||
type=imps2
|
||
|
||
|
||
5. Here is a sample /etc/X11/XF86Config-4:
|
||
Section "InputDevice"
|
||
Identifier "HIL Keyboard"
|
||
Driver "keyboard"
|
||
Option "CoreKeyboard"
|
||
EndSection
|
||
Section "InputDevice"
|
||
Identifier "HIL Mouse"
|
||
Driver "mouse"
|
||
Option "CorePointer"
|
||
Option "Device" "/dev/input/mice"
|
||
Option "Protocol" "ImPS/2"
|
||
Option "ZAxisMapping" "4 5"
|
||
EndSection
|
||
Section "ServerLayout"
|
||
Identifier "Default Layout"
|
||
Screen "Default Screen"
|
||
InputDevice "HIL Keyboard"
|
||
InputDevice "HIL Mouse"
|
||
EndSection
|
||
|
||
You can also download a sample XF86Config-4 here: [ftp://
|
||
ftp.parisc-linux.org/XFree86/XF86Config-4] ftp://ftp.parisc-linux.org/
|
||
XFree86/XF86Config-4, adjust color depth and resolution, and put it in
|
||
your /etc/X11/.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
5.2.1.2. USB Support in 2.4
|
||
|
||
USB support on HP-PA is still experimental, therefore it is only configured
|
||
as modules in default kernel configuration. We have tried to install a B2000
|
||
with builtin USB support, both 32 and 64bit, and it worked fine, despite some
|
||
keyboard problems. Don't worry, nothing critical: the range of keys located
|
||
between the main part of the keyboard (the letters, backspace, enter...) and
|
||
the numeric pad are broken. They do not behave at all as expected.
|
||
|
||
Tip You can use the numeric pad as arrow keys: when NumLock is not activated,
|
||
it behaves as a navigation pad. e.g. 8 is Up Arrow, 4 is Left Arrow and
|
||
so on.
|
||
|
||
1. Make sure you have a 2.4.18 or higher kernel source.
|
||
|
||
2. Look at your kernel configuration for the following options:
|
||
CONFIG_SUPERIO=y
|
||
CONFIG_HOTPLUG=y
|
||
|
||
CONFIG_INPUT=y
|
||
CONFIG_INPUT_KEYBDEV=y
|
||
CONFIG_INPUT_MOUSEDEV=y
|
||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||
CONFIG_INPUT_EVDEV=y
|
||
|
||
CONFIG_USB=y
|
||
CONFIG_USB_DEVICEFS=y
|
||
CONFIG_USB_OHCI=y
|
||
CONFIG_HID=y
|
||
|
||
|
||
3. On your target system, check that the following devices are available:
|
||
/dev/input/mice
|
||
/dev/input/mouseX
|
||
/dev/input/eventX
|
||
|
||
If they are not yet present, create them as root by running:
|
||
[user@machine ~/dir]> cd /dev; MAKEDEV input
|
||
|
||
|
||
4. Configure gpm with the following options in /etc/gpm.conf:
|
||
device=/dev/input/mice
|
||
type=imps2
|
||
|
||
|
||
5. The XF86-Config-4 is similar to the HIL one, as it is also using the
|
||
Linux Input Driver.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
5.2.1.3. MUX Console Support in 2.4
|
||
|
||
MUX Console has been improved by Richard Hirst in 2.4.18-pa37 kernel,
|
||
though it is still a very experimental feature. It is expected to provide
|
||
adequate MUX Console support to E- and K-Class machines. Feedback would be
|
||
really appreciated.
|
||
|
||
Now follow these steps to get it to work:
|
||
|
||
1. Make sure you have a 2.4.18-pa37 or higher kernel source.
|
||
|
||
2. Look at your kernel configuration for the following options:
|
||
CONFIG_SERIAL_CONSOLE=y
|
||
|
||
CONFIG_SERIAL_GSC=y
|
||
|
||
CONFIG_SERIAL_NONSTANDARD=y
|
||
CONFIG_SERIAL_MUX=y
|
||
|
||
|
||
3. On your target system, check that the following devices are available:
|
||
/dev/ttyB0
|
||
|
||
If they are not yet present, create them as root by running:
|
||
[user@machine ~/dir]> cd /dev; MAKEDEV ttyB0
|
||
|
||
|
||
Note It needs a recent MAKEDEV package to be created this way.
|
||
|
||
4. Now you can boot your system, taking care that PALO uses console=ttyB0.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
5.2.1.4. IDE Devices Support in 2.4
|
||
|
||
There is nothing really special about IDE support. You have to check that
|
||
the IDE Chipset in use in your box is supported by the kernel. A common
|
||
chipset found on PA-RISC hardware is NS87415. You can find it on B2000, J5000
|
||
and C3000 for instance. You will need IDE support to use some CD-ROM devices.
|
||
|
||
Here is an example to get IDE to work with this chipset:
|
||
|
||
1. Make sure you have a recent kernel source.
|
||
|
||
2. Look at your kernel configuration for the following options:
|
||
CONFIG_IOMMU_CCIO=y
|
||
CONFIG_PCI=y
|
||
CONFIG_PCI_LBA=y
|
||
CONFIG_IOSAPIC=y
|
||
CONFIG_IOMMU_SBA=y
|
||
CONFIG_SUPERIO=y
|
||
|
||
CONFIG_IDE=y
|
||
|
||
CONFIG_BLK_DEV_IDE=y
|
||
|
||
CONFIG_BLK_DEV_IDEPCI=y
|
||
CONFIG_BLK_DEV_IDEDMA=y
|
||
CONFIG_BLK_DEV_ADMA=y
|
||
CONFIG_BLK_DEV_IDEDMA=y
|
||
CONFIG_BLK_DEV_NS87415=y
|
||
|
||
|
||
3. On your target system, check that the following devices are available:
|
||
/dev/hd*
|
||
|
||
If they are not yet present, create them as root by running:
|
||
[user@machine ~/dir]> cd /dev; MAKEDEV hda hdb hdc hdd hde
|
||
|
||
|
||
|
||
Note Of course we didn't mention much of the architecture independent
|
||
options. Moreover, the above settings may vary depending on your
|
||
hardware. This is just an example.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.2.2. Configuring 2.6 kernels
|
||
|
||
Here is a brief list of architecture dependent menus for 2.6 kernels. You
|
||
should take a look at them, to see if the values set match your hardware:
|
||
|
||
* Processor type and features - indicates your CPU model and some specific
|
||
features such as SMP or Discontigmem support
|
||
|
||
* Bus options - tells you what bus support is going to be enabled in your
|
||
kernel (U2/Uturn, USC/GSC/HSC, Lasi, Wax, Dino, LBA/Elroy, SuperIO)
|
||
|
||
* PA-RISC specific drivers - enables/disables some PA-RISC specific
|
||
drivers, such as LED support, GSP and Stable Storage support.
|
||
|
||
|
||
As you can see, menus specifically concerned by PA-RISC hardware are not
|
||
that numerous, and everything else is much generic by now. Still, you must
|
||
configure the kernel accordingly to what you plan to use this box for and
|
||
what features you want supported. Many other drivers are found in their
|
||
respective submenus, such as SCSI, with the Zalon, Lasi SCSI and SYM2 drivers
|
||
being there, or the Framebuffer devices (STI) in the Graphics Support menu,
|
||
or the sound drivers (Harmony and AD1889) in the Sound menu. Help is often
|
||
provided, feel free to look at it.
|
||
|
||
Note Most of what was said for 2.4 is somewhat still applicable to 2.6.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5.3. Kernel installation
|
||
|
||
If you have made a native build on the box you wish to install, you can
|
||
setup the new kernel as follows: within the kernel source tree linux/, as
|
||
root execute:
|
||
[user@machine ~/dir]> cp vmlinux /boot/vmlinux-[kernelversion]
|
||
[user@machine ~/dir]> cp System.map /boot/System.map-[kernelversion]
|
||
[user@machine ~/dir]> cp .config /boot/config-[kernelversion]
|
||
|
||
Though it is not mandatory, we suggest you to replace [kernelversion] by the
|
||
version of the kernel you built, e.g.: vmlinux-2.4.18-pa44. This will help
|
||
you dealing with multiple kernel versions on the same machine. The same
|
||
applies to .config. It is not needed to have a working kernel, though it
|
||
might be very helpful when configuring a new one. Now, do cd /boot, make sure
|
||
that vmlinux is a symbolic link to another file, as in the following example:
|
||
[user@machine ~/dir]> ls -l vmlinux
|
||
lrwxrwxrwx 1 root root 35 Jun 23 01:38 vmlinux -> vmlinux-2.4.18-64-SMP
|
||
|
||
Make sure to remember the name of the kernel actually running on your box if
|
||
ever the new one won't work properly. You are now able to ask PALO to boot on
|
||
it if needed (see Chapter 3 for more information). Now do the following:
|
||
[user@machine ~/dir]> rm -f vmlinux
|
||
[user@machine ~/dir]> ln -s vmlinux-[kernelversion] vmlinux
|
||
[user@machine ~/dir]> sync
|
||
|
||
If you want to boot from network you can forget all this, as you will need to
|
||
set PALO as explained in the Section 3.3, and run make palo to create the
|
||
bootable lifimage.
|
||
|
||
If you have made a cross-compiled build or built a kernel on a PA box which
|
||
is not the one you wish to install, you have to find a way to put vmlinux,
|
||
System.map and eventually .config in /boot/ as mentioned before. You can use
|
||
the network (like ftp) or a CD to do so, or even direct copy to the hard disk
|
||
drive.
|
||
-----------------------------------------------------------------------------
|
||
|
||
Appendix A. Windows?? 2003 boot server howto
|
||
|
||
|
||
This appendix has been greatly contributed by Jeremy Drake. It
|
||
describes the process of setting up a Windows?? 2003 Server to serve boot
|
||
requests for a PA/Linux box.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
A.1. Setup the DHCP service
|
||
|
||
As for the UNIX/Linux based approach (discussed in Section 4.3), you need
|
||
to collect some information and data before setting everything up. First of
|
||
all, you need the MAC address of your PA-RISC box. Please check rboot
|
||
preparation for details. You are going to need a lifimage file. Please read
|
||
Section 4.3.1.
|
||
|
||
Then, you have to enable DHCP service on your Windows?? box. You can do
|
||
that by going into the Control Panel, open Add/Remove Programs, select
|
||
Windows Components and finally Networking Services. There, enable Dynamic
|
||
Host Configuration Protocol (DHCP).
|
||
|
||
You need to configure the DHCP service now. Launch the DHCP admin tool by
|
||
going into the Control Panel, open Admin Tools and select DHCP.
|
||
|
||
* Expand the server tree.
|
||
|
||
* Right click on Reservations->New Reservation...
|
||
|
||
* In Reservation name, put the workstation's host name. Enter an unused
|
||
IP address. Enter the PA-RISC box' MAC address (no delimiters, just the
|
||
hex number). Select Both for whether it should be bootp or dhcp. Click Ok
|
||
to close this window.
|
||
|
||
* Look for your newly created reservation at the bottom of the list under
|
||
Reservations and click it.
|
||
|
||
* Right click on Configure Options...
|
||
|
||
* It should have inherited your server's default options, so we won't
|
||
cover setting router, dns, wins and lease length.
|
||
|
||
* Scroll down the list of options to 066: Boot Server Host Name. Check
|
||
the box next to option 066. Enter your tftp server's ip address, because
|
||
IPL can't resolve hostnames.
|
||
|
||
* Check option 067: Bootfile Name and enter the name of the lifimage.
|
||
Generally, lifimage is a good choice here.
|
||
|
||
* Click Ok and your dhcp server is ready!
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
A.2. Get & setup the TFTP server
|
||
|
||
To get the network boot process operational, you need the TFTP service that
|
||
provides the basic file system at boot time. Get Tftpd from [http://
|
||
tftpd32.jounin.net/] http://tftpd32.jounin.net/. You must download the latest
|
||
version in zip format. Unzip it and store it in your favorite place. Then,
|
||
you must setup the monster.
|
||
|
||
* Run tftpd32.
|
||
|
||
* Click the Browse button.
|
||
|
||
* Browse to where you put your lifimage, highlight it and click Ok.
|
||
|
||
* Make sure the IP address below the directory is the one you gave to
|
||
your PA-RISC box.
|
||
|
||
* Let tftpd32 open. The tftp server only runs when the GUI is displayed.
|
||
|
||
|
||
If you want to run it as a NT service, you have to download a Microsoft??
|
||
program. Please refer to the \ Tftpd32 FAQ.
|
||
-----------------------------------------------------------------------------
|
||
|
||
A.3. Attempt to netboot
|
||
|
||
Now, you are fully set up to try to boot your PA-RISC box via network. You
|
||
can follow the instructions in Section 4.3.6.
|
||
|
||
If you have any trouble, start by looking at those points and then ask the
|
||
[http://www.parisc-linux.org/mailing-lists/] PA/Linux mailing list.
|
||
|
||
* Settings on the DHCP server (verify the PA-RISC MAC address is
|
||
correct).
|
||
|
||
* Your dhcp server is on the same physical network segment as the PA-RISC
|
||
box.
|
||
|
||
* The state of the network connection of the 2 boxes.
|
||
|
||
* Try to tcpdump while you are booting the PA-RISC box over the lan.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
Appendix B. Older PALO dumps
|
||
|
||
B.1. A500 Session dump using PALO 0.97
|
||
|
||
Main Menu: Enter command or menu > bo scsi.5.0 ipl
|
||
Interact with IPL (Y, N, or Cancel)?> y
|
||
|
||
|
||
Booting...
|
||
Boot IO Dependent Code (IODC) revision 1
|
||
|
||
|
||
HARD Booted.
|
||
palo ipl 0.97 root@c3k Tue Nov 27 14:51:48 MST 2001
|
||
Information: Boot device can't seek past 2Gb (ignore next error).
|
||
byteio_read: seekread() returned -1 expected 2048
|
||
|
||
Partition Start(MB) End(MB) Id Type
|
||
1 1 15 f0 Palo
|
||
2 16 503 82 swap
|
||
3 504 2887 83 ext2
|
||
|
||
PALO(F0) partition contains:
|
||
0/vmlinux64 3990942 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:
|
||
3/boot/vmlinux root=/dev/sda3 HOME=/ console=ttyS0 TERM=vt102
|
||
0: 3/boot/vmlinux
|
||
1: root=/dev/sda3
|
||
2: HOME=/
|
||
3: console=ttyS0
|
||
4: TERM=vt102
|
||
|
||
Edit which field?
|
||
(or 'b' to boot with this command line)? 0
|
||
3/boot/vmlinux-2.4.17-pa3 initrd=0/root.bin
|
||
Current command line:
|
||
3/boot/vmlinux-2.4.17-pa3 initrd=root.bin root=/dev/sda3 HOME=/
|
||
console=ttyS0 TERM=vt102
|
||
0: 3/boot/vmlinux-2.4.17-pa3
|
||
1: initrd=0/root.bin
|
||
2: root=/dev/sda3
|
||
3: HOME=/
|
||
4: console=ttyS0
|
||
5: TERM=vt102
|
||
|
||
|
||
Edit which field?
|
||
(or 'b' to boot with this command line)? 1
|
||
|
||
Current command line:
|
||
3/boot/vmlinux-2.4.17-pa3 root=/dev/sda3 HOME=/ console=ttyS0 TERM=vt102
|
||
0: 3/boot/vmlinux-2.4.17-pa3
|
||
1: root=/dev/sda3
|
||
2: HOME=/
|
||
3: console=ttyS0
|
||
4: TERM=vt102
|
||
|
||
Edit which field?
|
||
(or 'b' to boot with this command line)? b
|
||
|
||
|
||
PALO was first setup to boot the kernel file vmlinux located on the third
|
||
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.4.17-pa3. We have also
|
||
added an initrd=0/root.bin 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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
Appendix C. HOWTO contributors
|
||
|
||
The following people contributed or reviewed this HOWTO in one way or
|
||
another.
|
||
|
||
For Deb's version:
|
||
|
||
* David Alexander deVries <adevries@thepuffingroup.com>
|
||
|
||
* Philip Imperial Schwan <pschwan@thepuffingroup.com>
|
||
|
||
|
||
For Thomas' versions:
|
||
|
||
* Michael Damaschke <sps01@uni-koeln.de> Thanks for your example about
|
||
PALO
|
||
|
||
* Helge Deller <deller@gmx.de>
|
||
|
||
* Jeremy Drake <jeremyd@apptechsys.com> Thanks for your Windows?? boot
|
||
server howto
|
||
|
||
* Grant Grundler <grundler@parisc-linux.org>
|
||
|
||
* Richard Hirst <rhirst@parisc-linux.org>
|
||
|
||
|
||
For Thibaut's versions:
|
||
|
||
* Matthieu Delahaye <delahaym@esiee.fr>
|
||
|
||
* Helge Deller <deller@gmx.de>
|
||
|
||
* Grant Grundler <grundler@parisc-linux.org>
|
||
|
||
* Richard Hirst <rhirst@parisc-linux.org>
|
||
|
||
* Kyle McMartin <kyle@mcmartin.ca>
|
||
|
||
* Clement Moyroud <moyroudc@esiee.fr>
|
||
|
||
* Carlos O'Donnel <carlos@systemhalted.org>
|
||
|
||
* Matthew Wilcox <matthew@wil.cx>
|
||
|
||
|
||
Glossary
|
||
|
||
This is a brief glossary of the PA-RISC specific terminology. You can find
|
||
a more detailed one at [http://www.parisc-linux.org/glossary/] http://
|
||
www.parisc-linux.org/glossary/.
|
||
|
||
Boot Console Handler (BCH)
|
||
This is the early boot console available during boot up on most PA-RISC
|
||
machines, provided by the Processor-Dependent Code (PDC).
|
||
|
||
See Also: BOOT_ADMIN.
|
||
|
||
BOOT_ADMIN
|
||
This a command line utility stored in the boot ROM of the PA box, which
|
||
is used to configure the computer during early boot sequence. It is a
|
||
part of the PA-RISC machine's firmware.
|
||
|
||
See Also: Boot Console Handler (BCH).
|
||
|
||
Guardian Service Processor (GSP)
|
||
The GSP is a console subsystem present on certain PA-RISC systems,
|
||
which provides several features such as remote console, UPS management,
|
||
system low level control.
|
||
|
||
High Priority Machine Check (HPMC)
|
||
Fatal system error. Processor-Dependent Code (PDC) saves machine state
|
||
in the Processor Internal Memory (PIM).
|
||
|
||
Hewlett Packard Precision Architecture (HP-PA)
|
||
'HP-PA' (sometimes 'hppa') is the short way to refer to HP PA-RISC
|
||
architecture. It's real meaning is: 'Hewlett Packard Precision
|
||
Architecture'. It is used for instance by [http://www.debian.org/ports/
|
||
hppa/] Debian and [http://www.openbsd.org/hppa.html] OpenBSD to point out
|
||
their ports.
|
||
|
||
Initial Program Loader (IPL)
|
||
It is the HP standardized system bootstrap responsible for loading the
|
||
operating system's kernel on PA-RISC systems. It can be launched from the
|
||
BOOT_ADMIN.
|
||
|
||
See Also: BOOT_ADMIN.
|
||
|
||
Initial System Loader (ISL)
|
||
ISL is the executable that brings you into BOOT_ADMIN.
|
||
|
||
See Also: Initial Program Loader (IPL).
|
||
|
||
Logical Interchange Format (LIF)
|
||
This is a HP mass-storage format used for exchanging files among HP
|
||
computer systems. It basically contains a header (identifying it as a LIF
|
||
volume) and a directory of fixed size containing the files. The size of
|
||
the directory is fixed when the volume is created, which explains many
|
||
things about the way PALO works!
|
||
|
||
lifimage
|
||
It is the name contraction of LIF image, which is indeed a file which
|
||
format respects the LIF standard. It can be seen as the equivalent of an
|
||
ISO file, having the LIF format instead of ISO9660.
|
||
|
||
See Also: Logical Interchange Format (LIF).
|
||
|
||
Low Priority Machine Check (LPMC)
|
||
Generally a recoverable system error.
|
||
|
||
See Also: High Priority Machine Check (HPMC).
|
||
|
||
Management Processor (MP)
|
||
The MP is a newer evolution of the GSP.
|
||
|
||
See Also: Guardian Service Processor (GSP).
|
||
|
||
PA-RISC
|
||
PA stands for Precision Architecture. It is the name of two generations
|
||
of HP processors. They are classified as PA-RISC 1.X and PA-RISC 2.0. But
|
||
a system based on a PA-RISC processor is commonly called a HP-PA box.
|
||
|
||
See Also: Hewlett Packard Precision Architecture (HP-PA).
|
||
|
||
PA LOader (PALO)
|
||
PALO is the PA/Linux kernel LOader. It was designed by Paul Bame as a
|
||
LILO equivalent for the PA-RISC architecture.
|
||
|
||
Processor-Dependent Code (PDC)
|
||
It is the firmware that handles all processor-dependent
|
||
functionalities, including hardware initialization and self-test
|
||
procedures. Once it has done this, it passes control to the ISL.
|
||
|
||
See Also: Initial System Loader (ISL).
|
||
|
||
Processor Internal Memory (PIM)
|
||
Machine state is saved here after High Priority Machine Check (HPMC),
|
||
Low Priority Machine Check (LPMC), and Transfer Of Control (TOC). See
|
||
PDC_PIM in "PDC Procedures" chapter of PA-RISC I/O ACD (available from
|
||
[http://www.parisc-linux.org/documentation/] http://
|
||
www.parisc-linux.org/documentation/.
|
||
|
||
See Also: Initial System Loader (ISL).
|
||
|
||
netinst
|
||
This is not a PA-RISC specific term, though it needs explanations.
|
||
Network Install, also known as netinst, are small ISOs containing
|
||
everything you need to boot a computer and install it from network. They
|
||
are based on the [http://www.debian.org/] Debian distribution.
|
||
|
||
SuckyIO
|
||
(added by special request) National Semiconductor PC87560UBD, aka
|
||
SuperIO. Provides IDE, USB 1.1, Floppy Disk Controller, parallel port, 2
|
||
serial ports, UIR (Infrared), etc. But since National denies the
|
||
existence of this chip and HP was the only client for this buggy PoS, the
|
||
name SuckyIO has stuck.
|
||
|
||
SuperIO
|
||
Official term for SuckyIO.
|
||
|
||
See Also: SuckyIO.
|
||
|
||
Standard Text Interface (STI)
|
||
It defines a standardized way to access the graphic subsystem on HP-PA.
|
||
|
||
Standard Text Interface Console layer (STIcon)
|
||
It is the basic text-mode console that can run on top of any
|
||
STI-capable device.
|
||
|
||
See Also: Standard Text Interface (STI).
|
||
|
||
Standard Text Interface FrameBuffer layer (STIfb)
|
||
It is a superset of STI, providing standard API to access framebuffer
|
||
devices on HP-PA.
|
||
|
||
See Also: Standard Text Interface (STI).
|
||
|
||
Transfer Of Control (TOC)
|
||
This acronym can usually be found on some PA-RISC boxes, right near a
|
||
tiny switch that is not often used (hopefully). On HP/UX it would make a
|
||
crash dump and reset the box. It can also be requested from the Guardian
|
||
Service Processor (GSP). On Linux, it will save the registers and reset,
|
||
saved registers will be accessible in the Processor-Dependent Code (PDC).
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
Bibliography
|
||
|
||
These documents might prove helpful to understand the present one, or to
|
||
open new horizons:
|
||
|
||
|
||
[Raymond 2000] E. S. Raymond, 2000, [http://www.tldp.org/HOWTO/
|
||
Installation-HOWTO/index.html] Installation-HOWTO .
|
||
|
||
How to obtain and install Linux software. It is the first document which a
|
||
new Linux user should read to get started.
|
||
|
||
|
||
[Maor 1999] O. Maor, 1999, [http://www.tldp.org/HOWTO/mini/
|
||
NFS-Root-Client-mini-HOWTO/index.html] NFS-Root-Client Mini-HOWTO .
|
||
|
||
How to create client root directories on a server that is using NFS Root
|
||
mounted clients.
|
||
|
||
|
||
[Kostyrka 1997] A. Kostyrka, 1997, [http://www.tldp.org/HOWTO/mini/
|
||
NFS-Root.html] NFS-Root Mini-HOWTO .
|
||
|
||
How to setup a 'disk-less' Linux workstation, which mounts its root
|
||
filesystem via NFS.
|
||
|
||
|
||
[Harris et al. 1997] T. Harris and K. Koehntopp, 1997, [http://www.tldp.org
|
||
/HOWTO/mini/Partition/index.html] Linux Partition HOWTO .
|
||
|
||
Teaches you how to plan and layout disk space for your Linux system.
|
||
|
||
|
||
[Dev 1998] A. Dev, 1998, [http://www.tldp.org/HOWTO/CVS-RCS-HOWTO.html]
|
||
CVS-RCS-HOWTO .
|
||
|
||
This document is a "practical guide" to very quickly setup CVS/RCS source
|
||
code control system.
|
||
|
||
|
||
[Noronha Silva 2001] G. Noronha Silva, 2001, [http://www.debian.org/doc/
|
||
manuals/apt-howto/] APT HOWTO .
|
||
|
||
Will help you understand how the Debian package management utility, APT,
|
||
works.
|
||
|
||
|
||
[O'Donell 2002] C. O'Donell, 2002, [http://www.parisc-linux.org/toolchain/
|
||
PARISC-Linux-XC-HOWTO.html] The PARISC-Linux Cross Compiler HOWTO .
|
||
|
||
This is a semi-detailed guide for building a cross compiler toolchain
|
||
targeting PA-RISC systems.
|
||
|
||
|
||
[Cornec 1997] B. Cornec, 1997, [http://www.tldp.org/HOWTO/HP-HOWTO/
|
||
index.html] HP HOWTO .
|
||
|
||
Describes the use of products available in the Hewlett-Packard (HP) catalog
|
||
with Linux and some free software.
|
||
|
||
|
||
[Perens et al. 1996] B. Perens, S. Rudolph, I. Grobman, J. Treacy, and A. Di
|
||
Carlo, 1996, [http://ftp.debian.org/debian/dists/woody/main/disks-hppa/
|
||
current/doc/index.en.html] Debian GNU/Linux 3.0 Installation Documentation
|
||
Index .
|
||
|
||
Will help you to install and configure your Debian GNU/Linux system.
|
||
|
||
|
||
[Debian Installer Team 2005] Debian Installer Team, 2004, 2005, [http://
|
||
www.debian.org/releases/sarge/hppa/] Debian GNU/Linux 3.1 Installation
|
||
Documentation .
|
||
|
||
Will help you to install and configure your Debian Sarge GNU/Linux system.
|
||
|
||
|
||
[Vermeulen et al. 2006] S. Vermeulen, R. Marples, D. Robbins, C. Houser, and
|
||
J. Alexandratos, 2006, [http://www.gentoo.org/doc/en/handbook/
|
||
handbook-hppa.xml] Gentoo HPPA Handbook .
|
||
|
||
A must read for the wannabe Gentoo user.
|
||
|
||
|
||
[Brouwer 1993] A. Brouwer, 1993, [http://www.tldp.org/HOWTO/
|
||
Keyboard-and-Console-HOWTO.html] The Linux keyboard and console HOWTO .
|
||
|
||
This note contains some information about the Linux keyboard and console,
|
||
and the use of non-ASCII characters.
|
||
|
||
|
||
[HP Booting] [http://docs.hp.com/en/B2355-90950/ch05s01.html] HP
|
||
documentation: Booting Systems .
|
||
|
||
This is an HP document detailing booting procedures.
|
||
|
||
Notes
|
||
|
||
[1] Before the first release of Debian on hppa, there has been unofficial
|
||
releases of Woody snapshots, entitled "PA/Linux releases", and numbered
|
||
0.x. Immediately after the release of Woody, the PA/Linux port switched
|
||
to the normal Debian numbering scheme. In other words, Debian 3.0 is
|
||
consecutive to PA/Linux 0.9.3.
|
||
[2] For the knowledge addict: PALO can actually access and read ext2/ext3
|
||
filesystem, and therefore follow symlinks, whereas LILO bootloader will
|
||
only know the physical disk address to access the kernel. See [http://
|
||
home.att.net/~lilo-boot/lbuild.htm] this for further details.
|
||
[3] Example: /boot is mounted from a separate partition, which number is,
|
||
say, 4 according to fdisk. From a Linux point of view, the absolute path
|
||
of the file is /boot/vmlinux, but from a partition point of view, it is
|
||
/vmlinux. Therefore, the commandline will start with "4/vmlinux". We
|
||
hope that's clear enough!
|
||
[4] The format-as switch is a bit misleading. When used with
|
||
init-partitioned it is meant to tell which filesystem to format the new
|
||
partition, but with update-partitioned, it is meant to tell PALO which
|
||
filesystem is used on the already formatted partition.
|
||
[5] To save your changes, you will have to run /sbin/palo when your system
|
||
will be up and running, and it will write on the disk all the parameters
|
||
contained in the configuration file, (/etc/palo.conf), which you will
|
||
have properly modified if needed.
|
||
[6] 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.
|