User:Alex Ivanov/Debian Ports Installation
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 http://debian-ports.org
Recommended: Installation of a PARISC machine via repository on http://ftp.debian-ports.org/debian
- *NOTE:* On PA8800/PA8900 and some PA8700 CPUs you may see kernel messages like: INEQUIVALENT ALIASES 0x40288000 and 0x40289000 in file xxx.so. 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 http://debian-ports.org/~deller/DEBIAN_PORTS_HPPA_BOOTIMAGE/lifimage
- 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
- 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 /dev/sda1 /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 http://ftp.debian-ports.org/debian/
- 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 /dev/sda1 as /boot partition and also set your hostname.
echo "LABEL=ROOT / ext3 defaults 1 1" >> /mnt/destroot/etc/fstab echo "/dev/sda1 /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:
aptitude 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 <wait...> 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 LABEL=ROOT. 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 /dev/sda1 /boot
- Networking bug Work-around: Due to a minor bug, networking doesn't start automatically, and the RSA keys for debian-ports.org are not available. Here is the current solution:
Type 'dhclient eth0' to re-start the network then: gpg --recv-keys AA651E74623DB0B8 --keyserver http://ftp.debian-ports.org/debian (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 aptitude install locales localepurge debian-ports-archive-keyring deborphan debfoster devscripts dpkg-reconfigure locales dpkg-reconfigure tzdata
- Install 'palo'
dpkg -i /palo*deb
- and select your new kernel...
aptitude install linux-image-parisc64-smp # for a 64bit SMP kernel (or) aptitude 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:
- Now for ifupdown-extra and ifplugd
aptitude 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!
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 http://ftp.debian-ports.org/debian unstable main # For unstable sources, if you want to compile yourself: deb-src http://ftp.debian.org/debian/ 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 http://www.pateam.org/parisc-linux-boot/doc.html.
- 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
- 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.