小白的第一次ROM编译过程

4 月 18, 2021 | 折腾

首先写一下我的配置:

vultr的vps 320的固态 6核的处理器 系统是Ubuntu 18.04 其实就是vps倒数第二个配置,位置选择的东京,感觉确实要快一点点呢。

然后说一下我遇到的问题,首先是依赖的安装(好机会,第一步就完蛋了)。然后是用户权限的问题,这个很好解决。然后因为meizu的内核是不开源的,然后只能用预编译内核,害小厂爬爬爬。基本也没什么问题了。

过程开始:

在你的终端里面输入下面的代码来安装依赖

sudo apt-get update && sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev libwxgtk3.0-dev

然后开始安装仓库管理工具,Repo

mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
sudo cp ~/bin/repo /bin/repo
sudo chmod a+x /bin/repo

下一步便是输入你的git用户名和邮箱(替换xxx@xxx.com为你自己的邮箱,xxx为你自己的用户名)

git config --global user.email "xxx@xxx.com"
git config --global user.name "xxx"

然后新建一个文件夹,这个文件夹会存放你拉下来的源码,然后cd进入文件夹(一定要记得文件夹名嗷)

mkdir ~/文件夹的名字
cd ~/文件夹的名字

然后因为同步源码时间可能会比较长,所以可以用screen来解决这个问题,具体我就不说,百度一大堆

screen -S exthm

到了这一步后你是不是想着拉源码了?别急,先把python安装上

sudo apt-get install python

安装完python后就可以拉源码了,首先找到你想编译的ROM的github仓库。然后找到你想编译的分支然后查看一下README.MD文件,这里我们以exthm为例(如下图)

一般我们选择第二段的就ok了

repo init -u https://github.com/exthmui/android.git -b exthm-10 --depth=1

然后按y回车并开始同步源码

repo sync --current-branch --force-sync --no-clone-bundle --no-tags --optimized-fetch --prune -j$(nproc --all)

然会随着一把timi的时间过去了(vps,电脑可能要更久),你的源码也拉完了,而且最后一行是repo sync finished successfully,那么就可以开始下一步。

以我自己的魅族16s“m1971”的exTHmUI为例,其他机型请找指定的源码同步设备源码,供应商源码,内核源码到指定目录(三件套)(‘-b exthm’意思是指定同步‘exthm’这个分支下的源码,后面跟着的是存放到本地的目录)

git clone https://gitee.com/baizhi958216/android_device_meizu_m1971.git -b exthm device/meizu/m1971 && git clone https://gitee.com/baizhi958216/android_device_meizu_sm8150-common.git -b exthm device/meizu/sm8150-common && git clone https://github.com/mokee/android_vendor_meizu_m1971.git -b mkq-mr1 vendor/meizu/m1971 && git clone https://github.com/mokee/android_vendor_meizu_sm8150-common.git -b mkq-mr1 vendor/meizu/sm8150-common && git clone –-depth=1 https://github.com/mokee/android_kernel_meizu_sm8150.git -b mkq-mr1 kernel/meizu/sm8150

更新当前编译环境

source build/envsetup.sh

预编译配置

lunch exthm_m1971-userdebug

检查没有问题就后开始编译

mka bacon

然后就可以耐心等待出包了

然后感谢白纸大佬写的m1971编译教程,同时感谢导演为meizu类原生做出的贡献。

5 评论

  1. irort

    大佬,我的机型和你的不一样,我也想自己动手编译rom,现在卡在拉取设备源码这一步,如果找到相应的源码之类,不用修改可以直接用吗

    回复
    • MORA

      rom的源码是不用修改的,直接拉取就可以了。只需要拉取大佬做好的设备树和设置好预编译内核

      回复
    • MORA

      这方面的具体问题你可以去酷安找roi_wang大佬解决

      回复
      • irort

        好的,非常感谢

        回复
  2. 大头大头下雨不愁

    添加你的友链,图片地址好像找不到了!
    博客名称:pei 你看雪
    描述:陪伴是最长情的告白
    站点:https://phy0412.top/
    博主头像或网站头像:https://gitee.com/phyqxx/picture-warehouse/raw/master/pnkx/px.jpg
    友链 –> https://phy0412.top/friendlink

    回复

递交一条评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注