0
点赞
收藏
分享

微信扫一扫

android 6.0.1编译系统

下载驱动:

我这里下载对应的M4B30X,下载成功后得到三个压缩包broadcom-hammerhead-m4b30x-7c7b231f.tgz、lge-hammerhead-m4b30x-74fa3aa5.tgz、qcom-hammerhead-m4b30x-158606cf.tgz,解压这三个压缩包,解压出来是三个sh文件,放到Android源码目录下面即android-6.0.1_r72下,然后执行。会将相关驱动放到vender目录下面。


拷贝三个sh到源码目录:


cp /media/lhw/LHW/extract-broadcom-hammerhead.sh /home/lhw/aosp/android-6.0.1_r72/

cp /media/lhw/LHW/extract-lge-hammerhead.sh /home/lhw/aosp/android-6.0.1_r72/

cp /media/lhw/LHW/extract-qcom-hammerhead.sh /home/lhw/aosp/android-6.0.1_r72/


拷贝成功后,赋予执行权限


chmod a+x extract-broadcom-hammerhead.sh

chmod a+x extract-lge-hammerhead.sh

chmod a+x extract-qcom-hammerhead.sh

1

2

3

执行每个sh,输入I ACCEPT,最终将驱动放到vender目录待使用。


4.开始编译



make clobber
make clean

export USE_CCACHE=1
prebuilts/misc/linux-x86/ccache/ccache -M 50G
source build/envsetup.sh

lunch
19. aosp_hammerhead-userdebug

make -j16

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=6.0.1

TARGET_PRODUCT=aosp_hammerhead

TARGET_BUILD_VARIANT=userdebug

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a-neon

TARGET_CPU_VARIANT=krait

TARGET_2ND_ARCH=

TARGET_2ND_ARCH_VARIANT=

TARGET_2ND_CPU_VARIANT=

HOST_ARCH=x86_64

HOST_OS=linux

HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial

HOST_BUILD_TYPE=release

BUILD_ID=M4B30X

OUT_DIR=out

=

(5) 开始编译,执行make -j6, 6为同时编译的线程数,一般google推荐这个数字为2倍的cpu个数再加上2,比如4核,就是10。


make -j6

1

查看cpu核心个数命令:


cat  /proc/cpuinfo

1

编译结束,大功告成!首次编译花费了6个多小时,out目录会有对应的输出文件

————————————————




adb reboot bootloader

 fastboot -w flashall


 fastboot -w flashall

error: could not load android-info.txt: No such file or directory

sudo gedit /etc/udev/rules.d/51-android.rules

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



fastboot -w flashall

Creating filesystem with parameters:

   Size: 29236371456

   Block size: 4096

   Blocks per group: 32768

   Inodes per group: 8192

   Inode size: 256

   Journal blocks: 32768

   Label:

   Blocks: 7137786

   Block groups: 218

   Reserved block group size: 1024

Created filesystem with 11/1785856 inodes and 156120/7137786 blocks

Creating filesystem with parameters:

   Size: 734003200

   Block size: 4096

   Blocks per group: 32768

   Inodes per group: 7472

   Inode size: 256

   Journal blocks: 2800

   Label:

   Blocks: 179200

   Block groups: 6

   Reserved block group size: 47

Created filesystem with 11/44832 inodes and 5813/179200 blocks

--------------------------------------------

Bootloader Version...: HHZ11k

Baseband Version.....: M8974A-2.0.50.1.16

Serial Number........: 0676205e21111efa

--------------------------------------------

checking product...

OKAY [  0.100s]

sending 'boot' (9428 KB)...

OKAY [  0.510s]

writing 'boot'...

OKAY [  0.798s]

sending 'recovery' (10286 KB)...

OKAY [  0.572s]

writing 'recovery'...

OKAY [  0.840s]

erasing 'system'...

OKAY [  0.791s]

sending 'system' (407754 KB)...

OKAY [ 12.978s]

writing 'system'...

OKAY [ 29.024s]

erasing 'userdata'...

OKAY [ 14.894s]

sending 'userdata' (139109 KB)...

OKAY [  4.569s]

writing 'userdata'...

OKAY [  9.309s]

erasing 'cache'...

OKAY [  0.591s]

sending 'cache' (13348 KB)...

OKAY [  0.630s]

writing 'cache'...

OKAY [  1.068s]

rebooting...


finished. total time: 77.233s




# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))

# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi

if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

#JAVA_HOME=/usr/java8/jdk1.8.0_202
#JAVA_HOME=/usr/java6/jdk1.6.0_45
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=.:$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export NDK_HOME=/media/pm/3T_HardDisk/Home/Android/NDK/android-ndk-r15c
export ANDROID_HOME=/home/pm/Android/eclipse/adt-bundle-linux-x86_64-20140321

#export BOOTIMG_PATH_HOME=/media/pm/c217aab6-d2be-474a-bf18-fa75c28c8e6e/repo/bootimg-tools
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$ANDROID_HOME/sdk/platform-tools:$ANDROID_HOME/sdk/tools:$ANDROID_HOME #:$BOOTIMG_PATH_HOME

#
#export ANDROID_SRC_PATH=/media/pm/c217aab6-d2be-474a-bf18-fa75c28c8e6e/repo/6.0.1
#export PATH=$ANDROID_SRC_PATH/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin:$PATH
#export ARCH=arm
#export SUBARCH=arm
#export CROSS_COMPILE=arm-linux-androideabi-

#export ARCH=arm
#export SUBARCH=arm
#export CROSS_COMPILE=arm-eabi-
#export PATH=/media/pm/c217aab6-d2be-474a-bf18-fa75c28c8e6e/repo/6.0.1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin:$PATH

#export BASE_PATH=/media/pm/c217aab6-d2be-474a-bf18-fa75c28c8e6e/repo/6.0.1

export BASE_PATH=/home/pm/repo/repo_android-6.0.1_r1
export ANDROID_PRODUCT_OUT=$BASE_PATH/out/target/product/hammerhead
export PATH=$BASE_PATH/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin:$PATH
export CROSS_COMPILE=$BASE_PATH/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
export ARCH=arm
export SUBARCH=arm

#export BASE_PATH=/home/pm/repo/repo_android-4.4.4_r1
#export ANDROID_PRODUCT_OUT=$BASE_PATH/out/target/product/hammerhead
#export PATH=$BASE_PATH/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:$PATH
#export CROSS_COMPILE=$BASE_PATH/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-
#export ARCH=arm
#export SUBARCH=arm


​​​https://source.android.google.cn/source/initializing?hl=zh-cn​​

​​https://blog.csdn.net/tyyj90/article/details/53443913​​



举报

相关推荐

android系统产品编译

0 条评论