Hardware/HTC Dream/KBUILD

From freesmartphone.org
Jump to: navigation, search

Contents

Introduction

While the kernel can be built with openembedded, it can also be built without(so someone doesn't not have to learn openembedded)

Howto

Installation

#install the 32bit runtime libraries(not -dev packages) that are needed for beeing able to run a 32bit application on your distribution,with your package manager
mkdir htcdream
cd htcdream
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package6488/public/arm-none-linux-gnueabi/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
tar xvjf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
cd arm-2010q1/bin
export PATH="$(pwd):$PATH"
cd ../../
git clone git://gitorious.org/htc-msm-2-6-32/leviathan-incoming.git
#checkout the android-msm-2.6.32-rebase branch (please fill in the right command,I wasn't able to test because of GB download limit on 3g)
wget http://cgit.openembedded.org/cgit.cgi/openembedded/plain/recipes/linux/linux-leviathan/defconfig
cp defconfig leviathan-incomming/.config
mkdir modules
export DIR="$(pwd)/modules"
cd leviathan-incoming
make ARCH=arm xconfig #configure your kenrel
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- INSTALL_MOD_PATH=$DIR -j9
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- INSTALL_MOD_PATH=$DIR -j9 modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- INSTALL_MOD_PATH=$DIR -j9 modules_install
cd ../
export KDIR="$(pwd)/leviathan-incomming"
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2010-08-11.tar.bz2
tar xvjf compat-wireless-2010-08-11.tar.bz2
cd compat-wireless-2010-08-11/
scripts/driver-select wl12xx
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- KLIB=$KDIR KLIB_BUILD=$LDIR -j9
find ./ | grep ko$ | xargs tar cvjf ../wireless-compat_modules.tar.bz2
cd ../
cd modules
tar cvjf ../modules.tar.bz2 ./
touch empty
gzip empty
git clone git://git.freesmartphone.org/utilities
cd utilities/android/image-utils/
sh autogen.sh
./configure
make
cd ../../../
utilities/android/image-utils/mkbootimg/mkbootimg --kernel leviathan-incomming/arch/arm/boot/zImage --ramdisk empty.gz --cmdline "console=tty1 root=/dev/mmcblk0p1 rootdelay=8 fbcon=rotate:1 panic=30 mem=110M" -o my_first_bootimg.fastboot
./fastboot boot my_first_bootimg.fastboot
scp modules.tar.bz2 root@192.168.0.202:/
scp wireless-compat_modules.tar.bz2 root@192.168.0.202:/
ssh root@192.168.0.202
mv /lib/modules /lib/modules_
cd /
tar xvjpf /modules.tar.bz2
cd /lib/modules/2.6.32.9/kernel/
tar xvjpf /wireless-compat_modules.tar.bz2
depmod -a
modprobe wl1251_sdio
modprobe msm_wifi

Commands to run when already installed

When you have already installed your toolchain, and that you opened a new shell,do:

cd htcdream/arm-2010q1/bin
export PATH="$(pwd):$PATH"
cd ../../
cd leviathan-incomming/
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
Personal tools