User:Alex Ivanov/Debian Ports Installation

From Linux PARISC Wiki
Jump to: navigation, search

Installation of PA-RISC Linux

HPPA became an officially supported Debian architecture in release 3.0 (woody) and was dropped as of stable release 6.0 (squeeze). That's the reason that the latest available official installation CDs are available for Debian 5.0 (lenny) only.

The Debian ports project hosts a parisc version of debian unstable. Today the recommended installation of a new parisc machine is via the debian-ports respository at

Recommended: Installation of a PARISC machine via repository on

  • *NOTE:* On PA8800/PA8900 and some PA8700 CPUs you may see kernel messages like: INEQUIVALENT ALIASES 0x40288000 and 0x40289000 in file Just ignore this. Those messages are printed because the lifimage is based on older binaries which would need to be rebuilt.
  • Download the temporary boot image from
  • Burn the image as raw one to a cdrom or make it available as tftp bootimage
  • Turn on your parisc machine and boot this media (via cdrom or tftp)
  • This bootimage contains all tools (32- and 64bit bootkernel, fdisk, debootstrap, palo, scp, ...) to bootstrap a new debian unstable machine.
  • Use fdisk to partition your disk. Create a palo boot partition first (needs to be in the first 2GB of a disk, fdisk type f0). A good size for the boot partition is 100-160 MB. Then create a root partition (any size) and a swap partition. Here is an example what "fdisk -l" could report (The Start and End sectors here are just examples. They can be different on your system). If you have multiple drives and would like to put your '/home', '/var', or other partition (including extra swap space) on a second internal drive, you may set them up accordingly with 'fdisk /dev/sdb' (or whatever drive is suitable):
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      247807      122880   f0  Linux/PA-RISC boot
/dev/sda2          247808   142854143    71303168   83  Linux
/dev/sda3       142854144   143374737      260297   82  Linux swap / Solaris
  • format the /boot, /root, /home, etc. and swap partitions. We give those partitions a name (BOOT/ROOT/HOME/(etc.)) to make it easier. You may also assign labels to your swap partitions to make sure the OS sees them properly and to make it easier to setup /etc/fstab (explained later), e.g. mkswap -L SWAP0 or SWAP1, etc.
palo --format-as=2 --init-partitioned=/dev/sda
mke2fs -j -L ROOT /dev/sda2
mke2fs -j -L HOME /dev/sdb1 ...and so on.
mkswap /dev/sda3 or mkswap -L SWAP0
  • Now, bring up your network (should be already done by an init system, check your boot console). If you have a dhcp server you can run dhclient
dhclient eth0
  • Mount the newly designed /root, /boot, /home, and other necessary filesystems to
 /mnt/destroot, /mnt/destroot/boot, /mnt/destroot/home, etc.:
mount LABEL=ROOT /mnt/destroot/
mkdir /mnt/destroot/boot then mkdir /mnt/destroot/home and any other filesystems that need to be mounted at the next boot.
mount LABEL=BOOT /mnt/destroot/boot/ mount LABEL=HOME /mnt/destroot/home/, etc.
  • IMPORTANT!: If you are behind a proxy server, you will need to create a /root/.wgetrc file and export the proxy setting on the command line. Here is an example:
export http_proxy=http://proxy:8080
echo "http_proxy=$http_proxy" > /root/.wgetrc
echo "use_proxy = on" >> /root/.wgetrc
  • Now run debootstrap. This may take some time... (10-20 minutes depending on your connection speed):
debootstrap --arch=hppa --no-check-gpg  unstable  /mnt/destroot
  • copy over the palo package from the boot image to the new filesystem and create 'palo.conf'
cp /palo*deb /mnt/destroot
touch /mnt/destroot/etc/palo.conf
  • IMPORTANT!: If you install via GSP console or via a serial console, please remember to un-comment the following line in /etc/inittab or you won't see a login prompt on the serial console after bootup (kill -HUP 1 activates the change):
echo "T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100" >> /mnt/destroot/etc/inittab
  • IMPORTANT!: Remember to set your new root password and add LABEL=BOOT as /boot partition and also set your hostname.
echo "LABEL=ROOT     /      ext3 defaults 1 1" >> /mnt/destroot/etc/fstab
echo "LABEL=BOOT     /boot  ext2 defaults,noauto 1 1" >> /mnt/destroot/etc/fstab
echo "LABEL=HOME     /home  ext3 defaults 0 2" >> /mnt/destroot/etc/fstab
echo "LABEL=SWAP0     none  swap sw,pri=3 0 0" >> /mnt/destroot/etc/fstab
..and so forth for other necessary partitions.

(You may also use 'nano' to edit /mnt/destroot/etc/fstab directly if desired)

chroot /mnt/destroot
passwd root
<enter your new password for the 'root' user>
Type 'exit' to get out of the chroot.

echo "your hostname" >> /mnt/destroot/etc/hostname
  • It would be worth to make machine accessible by ssh:
apt-get install openssh-server
update-rc.d ssh defaults

Then activate network auto start by adding the following lines into /etc/network/interfaces

auto eth0
iface eth0 inet dhcp # in case of dhcp
  • You are now finished with the initial initialization of the filesystem.
  • You may now run the blkid command to take a look at your partitions.
  • Now reboot again from the CD/TFTP and choose to interact with IPL.
reboot now
Interact with IPL (Y, N, or Cancel)?> y
  • Press "0" to change the "0/vmlinux" line, and replace this line by "0/vmlinux64"
 to boot the 64bit kernel or "0/vmlinux32 on 32 bit machines.
0/vmlinux64 (64 Bit) or 0/vmlinux32 (32 Bit)
  • Press "1" to change the "initrd=0/ramdisk" line, replace this line by "root=LABEL=ROOT" and then press "b" to boot this configuration.
  • The machine should now have booted into the shell on /dev/sda2. If you see that it booted up, but you don't get a login shell, then you forgot to enable the serial terminal (see the IMPORTANT section with the "getty" line above!)
  • Login as 'root' with your new password. You can use tools like blkid, mount and such to see if everything is correct.
  • Install the most recent 32- or 64-bit Linux kernel and install the palo bootloader (See networking bug workaround below):
  • First of all: make sure the boot partition is mounted correctly
mount LABEL=BOOT /boot
  • Networking bug Work-around: Due to a minor bug, networking doesn't start automatically, and the RSA keys for are not available. Here is the current solution:
Type 'dhclient eth0' to re-start the network

then: gpg --recv-keys AA651E74623DB0B8 --keyserver

(It will error out the first time, so just run the above command again and it will import keys.)

then: gpg --export --armor 623DB0B8 | apt-key add -

Now you can successfully run - 'apt-get update' and
apt-get install locales localepurge tzdata debian-ports-archive-keyring deborphan debfoster devscripts
dpkg-reconfigure locales
dpkg-reconfigure tzdata
  • Install 'palo'
dpkg -i /palo*deb
  • and select your new kernel...
apt-get install linux-image-parisc64-smp   # for a 64bit SMP kernel
apt-get install linux-image-parisc         # for a 32bit UP kernel
  • Don't forget to set up your symlinks in /boot
cd /boot
ln -s initrd* initrd.img
ln -s vmlinux* vmlinux
  • Now you can run the palo configuration:
palo --update-partitioned=/dev/sda --format-as=2 --commandline="1/vmlinux initrd=1/initrd.img root=LABEL=ROOT rootfstype=ext3 HOME=/"
  • Reboot now and HPPA Linux should now load from the hard drive.

If you however observe that none of existing pre-compiled kernels supports your configuration well enough to get you boot into the working system you may return to #Now. reboot again from the CD/TFTP and choose to interact with IPL step and continue with Building_the_Kernel from here.

  • At this time you can install a couple handy utilities to make sure your network always starts on boot, and your hotplug devices load properly (external USB drives, etc.)
First run: nano /etc/network/interfaces and add the following lines:

auto lo
iface lo inet loopback (This brings up the local loopback network 'lo' on system boot)

iface eth0 inet dhcp   (This will bring up eth0 when the system is booted.. (don't add 
'allow-hotplug eth0', as this will interfere with 'ifplugd' later).

Do this for any additional interfaces leaving a blank line between each one.
  • Re-start your network:
dhclient eth0
  • Now for ifupdown-extra and ifplugd
apt-get install ifupdown-extra ifplugd
Run: dpkg-reconfigure ifplugd
Use 'auto' (no quotes) as the "static interfaces to be watched by ifplugd". 
Select 'OK' to go to the next screen.
Use 'all' (no quotes) as the "hotplugged interfaces to be watched by ifplugd". 
Select 'OK' to go to the next screen.
In the 'arguments to ifplugd' screen you can stick to the defaults unless 
there is a problem with the daemon.
Select 'OK' to go to the next screen for 'suspend behavior' Select 'suspend' 
to compensate for any broken net drivers.
Select 'OK' to finish

Type: 'service networking stop' and then 'service networking start' (no quotes) to reload all daemons.

You can check interface and connectivity status by typing: 'network-test' (no quotes)
  • For more detailed networking info, look HERE.
  • ...and that's it! ifplugd has the added advantage of automatically detecting external USB drives at boot time also.
  • Now add more packages and have fun!

--Dave Land (talk) 13:48, 14 January 2014 (UTC)

Old installation medias (Debian Lenny)

If you have an older parisc system (not a c8000!), you may use the Debian Lenny installation media to upgrade.

  • Download one of the installation medias for Debian 5.0 (lenny) for parisc from the following location:
  • The debian-5010-hppa-netinst.iso or the debian-5010-hppa-xfce+lxde-CD-1.iso may work.
  • Install Debian Linux. It's recommended to just install a minimalistic set of packages at this stage, since everything will be updated later to debian-unstable anyway. Furthermore, every installed package may prevent you from easily upgrading.
  • After installation you should upgrade to debian-unstable via the debian-ports repository:
  • Modify your /etc/apt/sources.list file to have this content:
deb unstable main
# For unstable sources, if you want to compile yourself:
deb-src unstable main contrib non-free  
  • Important! Make sure you run a recent Linux kernel, at least 2.6.32. If possible upgrade to at least kernel 3.9 which seems to be the most stable release.
  • A very good set of documenation which covers PARISC specifics (e.g. PARISC bootloader and firmware) is available at
  • Packages in the debian-ports repository are signed. You can bypass this temporarily using the following: (This will instruct apt to pull the latest package list.)
apt-get --allow-unauthenticated update
  • To upgrade your packages:
apt-get --allow-unauthenticated upgrade
  • You might want to get the latest version of the debian-ports-archive-keyring and a few other important packages if you don't already have them:
apt-get --allow-unauthenticated install openssh-server locales debian-ports-archive-keyring
  • ...and then set your current locale
dpkg-reconfigure locales

Re-boot Now

  • If you run into issues during upgrading packages, e.g. by strange dependency problems, it's often helpful to just un-install some packages.
  • Finally, you should be able to update/upgrade most packages & your kernel to a more recent (unstable) version. If you're missing some packages, please drop us an email on the mailing list HERE.
Personal tools