2016年11月4日 星期五

Build AOSP X86 Kernel

AOSP 部分
原文官方
marshmallow-x86
Based on Android 6.0 release (Marshmallow).

$ mkdir android-x86
$ cd android-x86
$ repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b $branch
$ repo sync --no-tags --no-clone-bundle
--------------------------------------------------------------------------

舉例  marshmallow-x86
Get code:
mkdir android-x86
cd android-x86
repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b marshmallow-x86
repo sync --no-tags --no-clone-bundle

build command:
. build/envsetup.sh
lunch
m -j8 iso_img


如果遇到以下的錯誤
Q: ImportError: No module named mako.template
A: apt-get install python-mako



Update Kernel
git clone git://git.code.sf.net/p/android-x86/kernel android-x86-kernel

git branch -a
會列出 kernrl 版本
* (detached from origin/kernel-4.8)
  kernel-4.4
  remotes/origin/HEAD -> origin/kernel-4.4
  remotes/origin/android-2.6.29
  remotes/origin/android-2.6.38
  remotes/origin/android-2.6.39
  remotes/origin/android-3.0.x
  remotes/origin/android-3.10
  remotes/origin/android-3.18
  remotes/origin/android-4.0
  remotes/origin/kernel-4.0
  remotes/origin/kernel-4.4
  remotes/origin/kernel-4.8
  remotes/origin/master

git checkout 要得kernel版本
git checkout  remotes/origin/kernel-4.8


以x86_64位元為例
make kernel TARGET_PRODUCT=android_x86_64 -j8



build kernel 4.8 error
arch/x86/entry/vdso/Makefile
Diff
Switch to side-by-side view
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -132,6 +132,7 @@
 targets += vdso32/vclock_gettime.o
mfentry,$(KBUILD_AFLAGS_32))
 $(obj)/vdso32.so.dbg: KBUILD_AFLAGS = $(KBUILD_AFLAGS_32)
 $(obj)/vdso32.so.dbg: asflags-$(CONFIG
 KBUILD_AFLAGS_32 := $(filter-out -m64,$(KBUILD_AFLAGS)) -DBUILD_VDSO
+KBUILD_AFLAGS_32 := $(filter-out -_X86_64) += -m32



如果遇到以下的錯誤
openssl/opensslv.h: No such file or dire ; kernel

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc

沒有留言:

張貼留言