当前位置: 首页 > 工具软件 > toro > 使用案例 >

Debian 7 下搭建 Android 编译环境——编译CM-10.1 for Galaxy Nexus CDMA(toro)

丌官星渊
2023-12-01

搭建编译环境

安装Java

去Oracle官网下载Java6 JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

我下载的版本是Java 6u45。文件名为 jdk-6u45-linux-x64.bin

安装可以制作 Sun Java Debian 包的程序包

# apt-get install java-package java-common

制作相应的 Debain Java6 程序包,使用普通用户身份

$ make-jpkg jdk-6u45-linux-x64.bin

安装Java6

$ su root
# dpkg -i oracle-j2sdk1.6_1.6.0+update45_amd64.deb

默认使用 Sun Java6 作为默认 Java

# update-java-alternatives -s j2sdk1.6-oracle

安装必要安装包

# apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc

lib32readline5-dev 包被 lib32readline-gplv2-dev 包替换
另外,要成功编译CM10.1还要安装 schedtool

# apt-get install schedtool

安装链接

# ln -s /usr/lib/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

添加 udev 规则

创建 /etc/udev/rules.d/51-android.rules,内容如下

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d00f", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard ES)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
# adb protocol on grouper/tilapia (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0600", OWNER="<username>"
# fastboot protocol on grouper/tilapia (Nexus 7)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0600", OWNER="<username>"
# adb protocol on manta (Nexus 10)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0600", OWNER="<username>"
# fastboot protocol on manta (Nexus 10)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0600", OWNER="<username>"

替换 <username> 为你用户名

 # sed -i 's/<username>/tinnnysu/g' /etc/udev/rules.d/51-android.rules

这里修改的是我的用户名,只需将 tinnnysu 替换为你的用户名

安装 repo

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

抓取源文件,如果你老断线的话,就用vpn吧,或者谷歌下解决办法

$ mkdir cm10.1
$ cd cm10.1
$ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1

中间询问你的姓名和邮箱,如实填写就好了,下面的选项就默认。完成后

$ repo sync

完成后,安装预编译文件

$ cd vendor/cm
$ ./get-prebuilts

安装相关内核源文件以及专利文件

$ cd ~/cm10.1
$ source build/envsetup.sh
$ brunch

然后选择
cm_toro-userdebug
然后Build系统会自动下载相关内核源文件,等的时间比较久,要耐心。网络如果老断,就上vpn吧。

安装二进制文件,如果你不安装的话,也能编译通过但是可能在启动的时候什么都不显示,因为缺少必要的文件

https://developers.google.com/android/nexus/drivers#torojdq39

下载到CM源文件的根目录,依次执行下载的自解压缩文件,注意接受许可证

$ ./extract-broadcom-toro.sh
$ ./extract-imgtec-toro.sh
$ ./extract-invensense-toro.sh
$ ./extract-nxp-toro.sh
$ ./extract-samsung-toro.sh
$ ./extract-widevine-toro.sh

编译CM10.1

$ cd ~/cm10.1
$ source build/envsetup.sh
$ brunch

然后选择
cm_toro-userdebug
等几个小时,编译完成,如果你有toro的话,刷上试试吧,不过现在在国内是搜不到信号的,需要安装 i515 3g 补丁,在下一片文章中我会介绍把3g补丁编译进系统的方法。

编译后的刷机包在源文件目录下的/out/target/product/toro/cm-10.1-20130618-UNOFFICIAL-toro.zip,可能日期不一样。

 类似资料: