5.2. Kernel configuration
If you want to take advantage of the latest kernel improvements, we
suggest you retrieve it from the official
PA-RISC/Linux CVS.
Please mind that the vanilla kernel that can
be found at 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
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
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.
|
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.
|
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 PA-RISC/Linux FAQ
and the mail
posted on the mailing list by Helge Deller.
Here is how to configure it:
Make sure you have a 2.4.18-pa45 or higher kernel source.
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
|
|
There is no more CONFIG_HIL_KBD_BASIC.
|
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
|
Configure gpm with the following
options in /etc/gpm.conf:
device=/dev/input/mice
type=imps2
|
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,
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.
|
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.
|
Make sure you have a 2.4.18 or higher kernel source.
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
|
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
|
Configure gpm with the following options
in /etc/gpm.conf:
device=/dev/input/mice
type=imps2
|
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:
Make sure you have a 2.4.18-pa37 or higher kernel source.
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
|
On your target system, check that the following devices are available:
If they are not yet present, create them as root by running:
[user@machine ~/dir]> cd /dev; MAKEDEV ttyB0
|
|
It needs a recent MAKEDEV package to be
created this way.
|
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:
Make sure you have a recent kernel source.
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
|
On your target system, check that the following devices
are available:
If they are not yet present, create them as root by running:
[user@machine ~/dir]> cd /dev; MAKEDEV hda hdb hdc hdd hde
|
|
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.
|
Most of what was said for 2.4 is somewhat still applicable to 2.6.
|
|
|