Android/Kernel: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:


== Method ==
== Method ==
* prepare for kernel building using the instructions in [[Kernel]], and checkout the ''arm-3.5-android'' branch,
* prepare for kernel building using the instructions in [[Kernel]], and checkout the ''arm-3.5-android'' branch for Android 5.0, or the ''arm-3.5-android-4.3'' branch for Android 4.x,
* use the ''arch/arm/configs/xo_4_android_defconfig'' file as ''.config'',
* use the ''arch/arm/configs/xo_4_android_defconfig'' file as ''.config'',
* install the kernel by copying via HTTP or USB drive:
* install the kernel by copying via HTTP or USB drive:

Revision as of 22:35, 9 February 2015

How to build the XO-4 Android kernel.

Ingredients

  • a well connected development system,
  • an XO-4 laptop,
  • a USB ethernet adapter or USB drive,
  • a serial adapter.

Method

  • prepare for kernel building using the instructions in Kernel, and checkout the arm-3.5-android branch for Android 5.0, or the arm-3.5-android-4.3 branch for Android 4.x,
  • use the arch/arm/configs/xo_4_android_defconfig file as .config,
  • install the kernel by copying via HTTP or USB drive:
ok copy http:\\builder\vmlinuz int:\kernel
ok copy u:\vmlinuz int:\kernel

Replace kernel in an old build

Build kernel following Kernel and make sure include/linux/autoconf.h and include/config/auto.conf are generated. Then start to build wifi and bt driver separately.

cd /tmp
git clone git://dev.laptop.org/users/ben/android_vendor_marvell_generic -b android-4.3.1-xo4
cd android_vendor_marvell_generic/sd8787
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export KDR=/home/xxxxxxx/android/src/olpc_4.3.1/kernel-source
make wlan bt

Change script in mkzd.sh

replace kernel in build;

 sudo cp ../../../../$out_folder/kernel boot/ ===> sudo cp /home/xxxxxxx/android/src/olpc_4.3.1/kernel-source/arch/arm/boot/zImage boot/

replace driver in build;

 mkdir system                                                                                              
 sudo mount $L3 system 
 sudo cp /tmp/android_vendor_marvell_generic/sd8787/wlan_src/mlan.ko /system/lib/modules/mlan.ko
 sudo cp /tmp/android_vendor_marvell_generic/sd8787/wlan_src/sd8xxx.ko /system/lib/modules/sd8787.ko
 sudo cp /tmp/android_vendor_marvell_generic/sd8787/mbtc_src/mbt8xxx.ko /system/lib/modules/mbt8xxx.ko
 sudo cp /home/xxxxxxx/android/src/olpc_4.3.1/kernel-source/drivers/net/wireless/libertas/libertas_sdio.ko /system/lib/modules/libertas_sdio.ko
 sudo cp /home/xxxxxxx/android/src/olpc_4.3.1/kernel-source/drivers/net/wireless/libertas/libertas_sdio.ko /system/lib/modules/libertas.ko
 sudo umount $L3
 sudo rm -rf system

run mkzd.sh

 ./mkzd.sh

See Also