Kernel-cross-compile-kurobox-pro

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 14:24, 3 July 2008 by Erez (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

date: 2008 jul 03

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 debian lenny via armel's 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 ...


here is how is done: first we need a cross copiler 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


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

kudos to armel, bbradley and others


cheers, erez