首页
社区
课程
招聘
在谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机
发表于: 2020-7-19 13:51 14017

在谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机

2020-7-19 13:51
14017

原贴地址

肉丝大佬文章
https://www.anquanke.com/post/id/199898#h3-8
乌师傅
谷歌云和驱动的建议
众多翻阅过的博客文章

file
file
file
file
file
file
最后创建就好了。

打包刷机镜像
tar zcvf sailfish.tar.gz sailfish
打包文件如下图所示
file

利用NodeJs的served来做文件服务器

file

file

现在的内核版本是3.18,分支是g382d7256ce44
file

这里选择我们内核版本
file
我们去切到分支
https://android.googlesource.com/kernel/msm/+/refs/heads/android-msm-marlin-3.18-android10

开始编译

编译完成后,生成的文件在:

file

sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -u dist-upgrade
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get install git -y
git config --global user.email "your mail"
git config --global user.name "your name"
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
apt install htop -y
mkdir android/
cd android/
repo init -u https://android.googlesource.com/platform/manifest
repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r2
repo sync
repo sync -j8 #8个线程同步代码
nohup repo sync -j8 >sync.log 2>&1 & #推荐:后台去同步,ssh断开也没事。
extract-google_devices-sailfish.sh
extract-qcom-sailfish.sh
google_devices
  marlin
     BoardConfigVendor.mk
     device-vendor-sailfish.mk
  sailfish
      android-info.txt
      BoardConfigPartial.mk
      device-partial.mk
      proprietary
          vendor.img
qcom
   sailfish
       BoardConfigPartial.mk
       device-partial.mk
       proprietary
           ATT_profiles.xml
           lib64
              vendor.qti.atcmdfwd@1.0.so
              vendor.qti.qcril.am@1.0.so
           pktlogconf
           qcrilhook.jar
           ROW_profiles.xml
           VZW_profiles.xml
make clobber
sudo apt-get install openjdk-8-jdk -y
apt install bison tree
dpkg --add-architecture i386
apt update
apt install libc6:i386 libncurses5:i386 libstdc++6:i386
apt install libxml2-utils
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache
source build/envsetup.sh
lunch
cd build
source benvsetup.sh
lunch #选择自己的设备
cd .. #进入源码文件夹
export LC_ALL=C #recipe for target 'run_soong_ui' failed 解决方案二
#下面两行命令其中一行就行
make -j60 #这个60是cpu核心个数*2,我这是30个cpu
nohup make -j 60 >>123.log 2>&1 & #推荐这个命令,后台运行。
  cd /
  sudo dd if=/dev/zero of=/swp bs=10M count=400
  sudo mkswap /swp
  sudo swapon /swp
apt install npm nodejs-legacy
npm install -g served curl
served 8000 #在要下载的文件的目录下运行
export ANDROID_PRODUCT_OUT=/Users/zxc/Downloads/sailfishimg
echo ${ANDROID_PRODUCT_OUT}
adb reboot bootloader
fastboot flashall -w
git clone https://android.googlesource.com/kernel/msm.git
cd msm
git checkout android-msm-marlin-3.18-pi-qpr1
sudo apt install bc #/bin/sh: 1: bc: not found
sudo apt-get install liblz4-tool #lz4c: not found
source build/envsetup.sh
lunch aosp_sailfish-userdebug
#上边命令需要在源码文件夹进行操作。
export PATH=$PATH:/root/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin #这里是在源码里面
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
export SUBARCH=arm64
make marlin_defconfig
make -j60
ls arch/arm64/boot/
export TARGET_PREBUILT_KERNEL=/root/android/msm/arch/arm64/boot/Image.lz4-dtb
rm out/target/product/sailfish/boot.img &&  make -j60 bootimage

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-7-21 13:59 被mb_aoooaosd编辑 ,原因:
收藏
免费 6
支持
分享
最新回复 (16)
雪    币: 19950
活跃值: (4942)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2020-7-20 08:46
0
雪    币: 4687
活跃值: (253)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持下,教程都比较详细
2020-7-20 10:16
0
雪    币: 202
活跃值: (216)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
赞,谢谢
2020-7-20 10:44
0
雪    币: 5855
活跃值: (438)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
好奇下,这么用300美金不知道可以编译几次
2020-7-20 17:07
0
雪    币: 3549
活跃值: (941)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
我有朋友在google云上编译aosp,然后被警告说存在攻击行为,后面号被封了
2020-7-21 09:42
0
雪    币: 14865
活跃值: (6088)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你这是搭5元的士去买白菜,结果只便宜了5毛钱。
2020-7-21 09:51
0
雪    币: 3279
活跃值: (3331)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
可以可以,总比本地编译来的爽,本地编译那个痛苦
2020-7-21 22:40
0
雪    币: 29
活跃值: (295)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
smartdon 我有朋友在google云上编译aosp,然后被警告说存在攻击行为,后面号被封了
你那个朋友是你吧
2020-7-21 23:55
0
雪    币: 3549
活跃值: (941)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
10
endlif 你那个朋友是你吧[em_10]
无中生友
2020-7-22 08:27
0
雪    币: 1482
活跃值: (2543)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢你的分享
2020-7-30 10:17
0
雪    币: 16
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学到了,不过有几个问题。
1. 10.0rom的aosp源码是不是适应所有10.0的支持aosp的Android机
2. 只要驱动+内核是否可以在谷歌找到。
3. 国内有没有下载对应源代码的镜像网页,毕竟翻墙下载太慢
2020-7-30 11:57
0
雪    币: 159
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这么编译一遍,价格也不便宜吧。 你这aosp的流量就挺多钱的了。。
2020-7-30 13:20
0
雪    币: 0
活跃值: (266)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
10的rom适应所有谷歌安卓机,驱动和内核都可以在官网找到,国内有清华aosp源
2021-9-26 18:12
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15

挺详细的 不过作为过来人这里面的坑真的很多 建议最好用ubuntu编译 我尝试的时候根据教程试了 centos kali  最后还是根据官方教程用ubuntu搞出来了 主要耗时间的地方在下载和编译 最坑人的是openjdk和python版本的切换 我的i7处理器 16G内存 1T海康威视elite7固态硬盘 仅仅编译就花了三小时 总体来说坑很多 不过多谷歌一下 大多数都能解决

最后于 2021-9-28 17:24 被万里星河编辑 ,原因:
2021-9-28 17:22
0
雪    币: 10944
活跃值: (7329)
能力值: ( LV12,RANK:219 )
在线值:
发帖
回帖
粉丝
16
piexl sailfish 刷 aosp android-10.0.0_r2 QP1A.190711.020 编译成功后 刷机无法正常开机 有没有遇到过的 问题出在哪呢?
2023-12-26 12:40
0
雪    币: 3090
活跃值: (30881)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢分享
2023-12-26 15:37
1
游客
登录 | 注册 方可回帖
返回
//