android x86 bios,android x86 5.1 build iso

在ubuntu 15.04 x86-64上实验 android-x86-5.1.1+kernel-4.0.9

源码是从sf上取得

mkdir android-repo

cd android-repo

repo init -u git://gitscm.sf.net/gitroot/android-x86/manifest -b lollipop-x86

repo sync

开始配置

自己的配置

cd ..

. ./chysetenv.sh

export PATH=/backup/android-related/git-repo:$PATH

export USE_CCACHE=1

export CCACHE_DIR=/backup/android-related/ccache

/backup/android-related/android-repo/prebuilts/misc/linux-x86/ccache/ccache -M 30G

export ANDROID_PRODUCT_OUT=/backup/android-related/android-repo/out/target/product/generic

export EMULATOR_X86=/backup/android-related/android-repo/prebuilts/android-emulator/linux-x86_64

ANDROID_PRODUCT_OUT_BIN=/backup/android-related/android-repo/out/host/linux-x86/bin

export PATH=$PATH:$ANDROID_PRODUCT_OUT_BIN:$ANDROID_PRODUCT_OUT:$EMULATOR_X86

这是为之前AOSP准备的,现在部分内容其实没用,比如EMULATOR_X86,也许就前面4行有用

开始编译

cd android-repo

source build/envsetup.sh

lunch android-x86-eng #选择10 x86-32 系统 or 7 for x86-64系统

make -j16 iso_img

就完成了! 可以直接用virtualbox使用生成的img,在不安装模式下是可以基本正常工作的。

定制内核(optional)

make -C kernel O=/backup/android-related/android-repo/out/obj2 ARCH=x86 android-x86_defconfig #选择缺省android-x86配置

make -C kernel O=/backup/android-related/android-repo/out/obj2 ARCH=x86 android-x86_defconfig

make -C kernel O=/backup/android-related/android-repo/out/obj2 ARCH=x86 menuconfig #可以自己做些定制

make -C kernel O=/backup/android-related/android-repo/out/obj2 ARCH=x86 -j16 #编译成功内核

注意:

DO NOT make in kernel/ directly. If you do so, try

$ make -C kernel distclean

$ rm -rf $OUT/obj/kernel

用qemu-system-i386测试

1 qemu-system-i386 -m 2G -cdrom /backup/android-related/android-repo/out/target/product/x86/android_x86.iso -serial stdio >/backup/temp/logq

2 qemu-system-i386 -kernel kernel -cdrom android_x86.iso -append "initrd=/initrd.img root=/dev/ram0 console=ttyS0 androidboot.hardware=android_x86 DEBUG=2 SRC= DATA=" -no-reboot -serial stdio

kernel是编译出来的内核

3 qemu-system-i386 -kernel kernel -cdrom android_x86.iso -initrd /home/chyyuu/develop/xly_qemu_debug_linux/rootfs_32.img.gz -append "root=/dev/ram rdinit=/sbin/init console=ttyS0" -no-reboot -serial stdio

增加了config中的选项,具体可以参考4.3的android-x86_defconfig.chy1和chy2的区别。

然后,就可以识别到QEMU CDROM了,就可以采用1的方式到shell了!

生成的iso的grub.cfg(真实名字是isolinux.cfg)的内容

default vesamenu.c32

timeout 600

menu background android-x86.png

menu title Android-x86 Live & Installation CD 5.1-rc1

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffff00 #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ffffff00 #ff000000

menu color hotkey 7 #ffffff00 #00000000

label livem

menu label Live CD - ^Run Android-x86 without installation

kernel /kernel

append initrd=/initrd.img root=/dev/ram0 androidboot.hardware=android_x86 quiet SRC= DATA=

label vesa

menu label Live CD - ^VESA mode

kernel /kernel

append initrd=/initrd.img root=/dev/ram0 androidboot.hardware=android_x86 quiet nomodeset vga=788 SRC= DATA=

label debug

menu label Live CD - ^Debug mode

kernel /kernel

append initrd=/initrd.img root=/dev/ram0 androidboot.hardware=android_x86 vga=788 DEBUG=2 SRC= DATA=

label install

menu label Installation - ^Install Android-x86 to harddisk

kernel /kernel

append initrd=/initrd.img root=/dev/ram0 androidboot.hardware=android_x86 INSTALL=1 DEBUG=

用qemu-system-x86_64测试

UEFI 模式

qemu-system-x86_64 -enable-kvm -m 4G -bios OVMF.fd -hdb android_x86_64.img -vga std -serial stdio

BIOS 模式

qemu-system-x86_64 -enable-kvm -m 4G -cdrom android_x86_64.iso -vga std -serial stdio

VESA mode

qemu-system-x86_64 -enable-kvm -m 4G -bios OVMF.fd -hdb android_x86_64.img -vga std -serial stdio

kernel 参数

nomodeset vga=788 即800x600:16bpp

console=ttyS0 用串口交互

通过adb连接qemu进行调试(BIOS模式)

$ qemu-system-x86_64 -enable-kvm -m 4G -cdrom android_x86_64.iso -vga cirrus -serial stdio -redir tcp:5555::5555

$ adb shell

支持virgl方式(BIOS调试),qemu-2.6+

qemu-system-x86_64 -enable-kvm -m 3096 -serial stdio -cdrom android_x86_64.iso -hda diska.img -device virtio-gpu-pci,virgl -redir tcp:5555::5555

实验室android-x86 5.1 lollipop-x86 代码托管服务器

下载 repo 工具:

mkdir ~/bin

PATH=~/bin:$PATH

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo #repo也可下载:http://192.168.0.185/git-repo-downloads/repo

chmod a+x ~/bin/repo

建立工作目录:

mkdir WORKING_DIRECTORY

cd WORKING_DIRECTORY

初始化仓库, 并选择multiwindow Android-x86 版本:

repo init -u git://192.168.0.185/lollipop-x86/manifest.git -b multiwindow

如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:

REPO_URL = 'git://192.168.0.185/git-repo' 或清华大学的源:REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'

同步源码树(以后只需执行这条命令来同步):

repo sync

注意,如何发现下载速度慢,可能是由于到google站点去取源码了,可以修改 .repo/manifest.xml的第5行为

fetch="git://192.168.0.185/lollipop-x86/" />

建立multiwindow开发分支:

repo start multiwindow --all

设置代码提交的远程仓库别名为“devorg”:

repo forall -c 'git remote add devorg git://192.168.0.185/lollipop-x86/$REPO_PROJECT.git $@'

上述步骤在首次操作完成后,便可开始代码开发:

在对某个project的代码进行更改前,请确保当前是multiwindow分支;单个project提交,在该project目录下:

git commit -a -m "xxx commit"

git push devorg multiwindow:refs/heads/multiwindow

将所有project的multiwindow分支提交到远程仓库:

repo forall -c git push devorg multiwindow:refs/heads/multiwindow

第三方app

第三方APP ,均已上传至如下地址。git clone到本地即可

git://192.168.0.185/openthos-apps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值