6.2. Kernel configuration

If you want to take advantage of the latest kernel improvements, we suggest you to retrieve it from the official PA-RISC/Linux CVS. You can of course either download it from http://www.kernel.org/, or use the Debian package, but 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. 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 correspond to your hardware :

Note

Remenber that make oldconfig is a good base to start with, since it works for almost all machines.

As you 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 functionnalities you might want :

Note

At the time this HOWTO was written, there was no floppy drive support; and what's more, it was not expected to have one any day.

When you're done with it, save your kernel configuration. Everything is written in the .config file. You should back it up because a make distclean will remove it. At this very 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.

6.2.1. HIL Support

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 what it says :

  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 :
    
bash# 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, adjust color depth and resolution, and put it in your /etc/X11/.

6.2.2. USB Support

USB support on HP-PA is still experimental, therefore it is only proposed 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 spoiled. They do not behave as expected at all.

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 :
    
bash# 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, as it is also using the Linux Input Driver.

6.2.3. PDC Console Support

PDC Console has been improved by Richard Hirst in pa37 kernel, though it is still a very experimental feature. It is expected to provide adequate PDC 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_PDC_CONSOLE=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 :
    
bash# cd /dev; ./MAKEDEV ttyB0
    

    Note

    It needs a recent MAKEDEV package to be created this way. By the time this HOWTO was written, such a package could only be found on netinst ISO provided at http://www.pateam.org/download.html.

  4. Now you can boot your system, taking care that PALO uses console=ttyB0.

6.2.4. IDE Devices Support

There is nothing really special about IDE support. You have to check that your IDE Chipset 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 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 :
    
bash# cd dev; ./MAKEDEV hda hdb hdc hdd hde
    

    Note

    It needs a recent MAKEDEV package to be created this way. By the time this HOWTO was written, such a package could only be found on netinst ISO provided at http://www.pateam.org/download.html.

Note

Of course we didn't mention much of the non architecture independant options. Moreover, the above settings may vary depending on your hardware. This is just an example.