BRN:Software:Build and Distribution:Linux

From
Jump to navigation Jump to search

Vanilla Kernel Sources

$ KERNEL_MIRROR=ftp://ftp.kernel.org/pub/linux/kernel    # or ftp://ftp.informatik.hu-berlin.de/pub/Linux/Kernel/kernel
$ wget $KERNEL_MIRROR/v2.6/linux-2.6.16.13.tar.bz2
$ tar xjf linux-2.6.16.13.tar.bz2

Patch

$ BRN_SVN_REPOS=svn://sarsvn.informatik.hu-berlin.de
$ svn co $BRN_SVN_REPOS/BerlinRoofNet/trunk/platform/wgt634u/kernel-patches
$ cd linux-2.6.16.13
$ for p in ../kernel-patches/{generic,mips,brn}/*.patch
>   do if [ -r $p ]
>     then patch -p1 -i $p || { echo "Apply of patch \"$p\" failed! Exiting..."; break; }
>     fi
> done

Build

$ sh build.sh  # or "sh build.sh -j4" for SMP machines

Click kernel patch

If this process led to a positive result, you can try to patch your kernel source tree with the click linux kernel patch:

$ cd ..
$ cvs -d :pserver:anoncvs@cvs.pdos.csail.mit.edu:/cvs co -d click-cvs click/release/one
$ svn co $BRN_SVN_REPOS/BerlinRoofNet/trunk/click/patches click-patches
$ cd click-cvs
$ patch -p1 -i ../click-patches/click-linux-2.6.16.13-patch.patch  # fix some broken stuff
$ cd ../linux-2.6.16.13
$ patch -p1 -i ../click-cvs/etc/linux-2.6.16.13-patch

If patch was successfully applied, build the modified parts again:

$ sh build.sh  # or "sh build.sh -j4" for SMP machines
$ cd ..

Now you should have a linux kernel (vmlinux), which is able to load the click router as a linux kernel module, also called linuxmodule later.

Do not delete your System.map file! You will need later for building click kernel module.



Prev | Contents | Next