Kernel-cross-compile-kurobox-pro

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 23:04, 3 July 2008 by Ramuk (Talk | contribs)

Jump to: navigation, search


I search for long how to compile a kernel for the kurobox pro, and here is my results

I have a kurobox-pro , which i installed using instructions at: Armel Debian for the Kurobox Pro - Manual install

I had some modules missing. So here is how I compiled a new kernel with whatever modules I like ... ---Erez 08:24, 3 July 2008 (BST)


Contents

Here is how is done

first we need a cross compiler toolchain

  mkdir -p ~/kuro
  cd ~/kuro
  wget 'http://buffalo.nas-central.org/download/LSPro_ARM9/DevelopmentTools/CrossToolchains/CodeSourcery/arm-2007q3-53-arm-none-eabi-i686-pc-linux-gnu.tar.bz2'
  tar xjvf arm-2007q3-53-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
  cd arm-2007q3/bin/
  wget 'http://downloads.nas-central.org/LSPro_ARM9/DevelopmentTools/CrossToolchains/mkimage'
  chmod +x mkimage

now the kernel

  cd ~/kuro
  export kernver=2.6.25.9
  wget "http://www.kernel.org/pub/linux/kernel/v2.6/linux-${kernver}.tar.bz2"
  tar xjvf linux-${kernver}.tar.bz2
  cd linux-${kernver}
  make mrproper
  export ARCH=arm
  export CROSS_COMPILE=arm-none-eabi-
  wget 'http://buffalo.nas-central.org/download/Users/davy_gravy/defconfig-2.6.25.6-debian%20current%20OK' -O .config
  make menuconfig # if needed
  export PATH=~/kuro/arm-2007q3/bin/:${PATH}
  make zImage 
  devio > foo 'wl 0xe3a01c05,4' 'wl 0xe38110e5,4' # For kuropro/lspro
  cat foo arch/arm/boot/zImage > zImage.new
  mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'linux' -d zImage.new uImage
  scp uImage kuro:/tmp/
  rm foo zImage.new

and modules

  make modules
  export INSTALL_MOD_PATH=/tmp/kuro
  make modules_install
  cd $INSTALL_MOD_PATH
  tar czf modules.tgz lib
  scp modules.tgz kuro:/tmp/
  cd /
  rm -rf /tmp/kuro

now on the kurobox side

  ssh kuro
  mount /dev/sda1 /mnt/sda1
  cd /mnt/sda1
  VER=2.6.25.9
  mv /tmp/uImage  uImage-$VER
  rm uImage
  ln -s uImage-$VER uImage
  cd /
  tar xzvf /tmp/modules.tgz
  rm /tmp/uImage /tmp/modules.tgz

Epliogue

worked for me on kernel ver 2.6.25.9, use at your on risk !!!

kudos to bbradley and others

cheers, Erez