If you are only interested in using Linux/PARISC then please see the
software
information web page.
Pre-built 2.6 kernels are available on our
CVS download Server
and via apt-get install kernel-image-XX (where XX is something
like "2.4.25-32" or "2.6.6-32"). Most users should be pretty happy
with kernels they can get from either source.
We no longer advise using the
pre-built cross compiler
to build a parisc kernel on an x86 linux host.
Native compiler/linker tools are better maintained.
The old mini-howto describes how to
cross-build kernels for Net Boot. Please only bother with this if you have a very slow parisc machine and very fast x86 machine.
Prerequisites For Building Kernels
- Internet connection
- hppa-debian host properly configured so apt-get and ftp work
-
parisc-linux source
Short Recipe to Build a Kernel
The short recipe is for when existing kernels from
CVS download Server
or debian package pool don't have needed config "defaults" or
need a different selection of kernel modules.
If you want to do more than that,
read "The Old, Grotty Way" as well (below).
# get necessary tools
apt-get install kernel-package gcc binutils libc6-dev
cd /usr/src
# if CVS doesn't work, See "Getting Source" below.
cvs -d :pserver:anonymous@cvs.parisc-linux.org:/var/cvs login
cvs -d :pserver:anonymous@cvs.parisc-linux.org:/var/cvs co linux-2.4
cd linux-2.4
# adjust a new .config file
make menuconfig
# or do it by hand:
# vi .config
# make oldconfig
make-kpkg kernel_image
cd ..
dpkg -i kernel-image*.deb
sync
reboot
The Old, Grotty Way To Build a Kernel
Here are all the ugly details developers care about in order to
modify, build, test parisc-linux kernels.
Note that just because a kernel option can be select, does NOT
mean it works. Trial and error is usually the only sure way
to find out. Reports of such adventures are always welcome
on the parisc-linux
mailing list.
- Install tools
apt-get install kernel-package gcc binutils lib6-dev
- Fetch kernel source:
The 2.6.x kernel source tree is available via
CVS
and snapshots.
It is better to get a snapshot first and then update using CVS.
cd /usr/src
# See http://cvs.parisc-linux.org/download/linux-2.6/
wget http://cvs.parisc-linux.org/download/linux-2.6/linux-2.6.6-pa2.tar.bz2
# verify ~350MB free
df -h .
tar xjf linux-2.6.6-pa2.tar.bz2
- Configure Kernel Options
cd /usr/src/linux-2.6
# clone the nearest _config to start with
cp arch/parisc/configs/b180_config .config
# You can also "make config" or "make menuconfig" here
# to adjust the .config if kernel defaults don't suit you.
make oldconfig
- Build Kernel Executables
# 2.6.x
make
# 2.4.x needs several steps instead:
# make -j2 dep && make vmlinux && make modules
# must be root user
make modules_install
- Installing the kernel
The resulting kernel image is /usr/src/linux-2.6/vmlinux.
Normally, x86-linux will save the existing vmlinux and install
the new kernel with make install. The "dpkg -i" steps
above do about the same thing.
Here is one way to do it manually:
cd /boot
mv vmlinux vmlinux.old
mv System.map System.map.old
cd /usr/src/linux-2.6
cp System.map vmlinux /boot/
sync
reboot
NOTE: One does not need to run palo when replacing an existing kernel.
Another way is to rename vmlinux with revision info,
reboot, interrupt autoboot and specify interactive boot, specify
the new kernel via palo, and finally once the new kernel is booted,
modify /etc/palo.conf to match (and run palo again).
Start with something like:
cp vmlinux /boot/vmlinux-2.6.6-pa1
cp System.map /boot/System.map-2.6.6-pa1
cp .config /boot/config-2.6.6-pa1
sync
reboot
...
|