国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼

這篇具有很好參考價(jià)值的文章主要介紹了Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一、開發(fā)環(huán)境搭建

1.Windows docker環(huán)境安裝

2.配置ubuntu18.04系統(tǒng)

2.0 準(zhǔn)備工作

2.1 安裝ubuntu18.04

2.2 安裝常用工具

2.3 安裝rk3568環(huán)境編譯工具

2.4 新增用戶

2.5 注意避坑!!

二、下載編譯 Android_SDK

3.1 第一步,下載 SDK

3.2 第二步,更新 SDK

3.3 第二步,編譯 SDK

手動(dòng)編譯 iCore-3568JQ Android 11.0

3.4 打包成統(tǒng)一固件 update.img


這筆記是前兩年用Windows docker安裝Linux Ubuntu鏡像,然后編譯rk3568的。當(dāng)時(shí)有個(gè)問(wèn)題,比如你電腦32G內(nèi)存,如果你給docker分配了24G,你啟用docker,就算沒(méi)有編譯也會(huì)占內(nèi)存。

# 拷貝命令

docker cp Android11.0 1c962c6f7c6a70360fd5e731cd6bc5dff09c10efb0d8220899b9979f47c809f2:/sourcecode

# 啟動(dòng)新終端

docker exec --privileged -it 1c962c6f7c6a70360fd5e731cd6bc5dff09c10efb0d8220899b9979f47c809f2 /bin/bash

一、開發(fā)環(huán)境搭建

1.Windows docker環(huán)境安裝

此處為語(yǔ)雀內(nèi)容卡片,點(diǎn)擊鏈接查看:https://www.yuque.com/28ln/is90rz/opbn0w

2.配置ubuntu18.04系統(tǒng)

2.0 準(zhǔn)備工作

編譯 Android 對(duì)機(jī)器的配置要求較高:

  • 64 位 CPU
  • 16GB 物理內(nèi)存+交換內(nèi)存
  • 250GB 空閑的磁盤空間.

官方建議用ubuntu18.04 版本 , 以上環(huán)境電腦如果達(dá)不到要求 請(qǐng)停止后續(xù)操作!

2.1 安裝ubuntu18.04

cmd窗口輸入docker pull ubuntu:18.04

Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼,【Linux 系統(tǒng)基礎(chǔ)與定制】,docker,linux,容器

Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼,【Linux 系統(tǒng)基礎(chǔ)與定制】,docker,linux,容器

# docker container run -p 8000:3000 -it ubuntu:18.04 /bin/bash
root@32b7b9ddcaab:/# cat /etc/issue
Ubuntu 18.04.6 LTS \n \l
2.2 安裝常用工具
root@32b7b9ddcaab:/# apt update
root@32b7b9ddcaab:/# apt install byobu vim-gtk inetutils-ping net-tools wget cpio unzip rsync xz-utils bc time

過(guò)程中需要配置地區(qū),選擇亞洲上海:

Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities,
representing the time zones in which they are located.

  1. Africa   3. Antarctica  5. Arctic  7. Atlantic  9. Indian    11. SystemV  13. Etc
  2. America  4. Australia   6. Asia    8. Europe    10. Pacific  12. US
Geographic area: 6

Please select the city or region corresponding to your time zone.

  1. Aden      13. Barnaul     25. Dushanbe     37. Jerusalem     49. Macau         61. Pyongyang      73. Taipei         85. Vientiane
  2. Almaty    14. Beirut      26. Famagusta    38. Kabul         50. Magadan       62. Qatar          74. Tashkent       86. Vladivostok
  3. Amman     15. Bishkek     27. Gaza         39. Kamchatka     51. Makassar      63. Qostanay       75. Tbilisi        87. Yakutsk
  4. Anadyr    16. Brunei      28. Harbin       40. Karachi       52. Manila        64. Qyzylorda      76. Tehran         88. Yangon
  5. Aqtau     17. Chita       29. Hebron       41. Kashgar       53. Muscat        65. Rangoon        77. Tel_Aviv       89. Yekaterinburg
  6. Aqtobe    18. Choibalsan  30. Ho_Chi_Minh  42. Kathmandu     54. Nicosia       66. Riyadh         78. Thimphu        90. Yerevan
  7. Ashgabat  19. Chongqing   31. Hong_Kong    43. Khandyga      55. Novokuznetsk  67. Sakhalin       79. Tokyo
  8. Atyrau    20. Colombo     32. Hovd         44. Kolkata       56. Novosibirsk   68. Samarkand      80. Tomsk
  9. Baghdad   21. Damascus    33. Irkutsk      45. Krasnoyarsk   57. Omsk          69. Seoul          81. Ujung_Pandang
  10. Bahrain  22. Dhaka       34. Istanbul     46. Kuala_Lumpur  58. Oral          70. Shanghai       82. Ulaanbaatar
  11. Baku     23. Dili        35. Jakarta      47. Kuching       59. Phnom_Penh    71. Singapore      83. Urumqi
  12. Bangkok  24. Dubai       36. Jayapura     48. Kuwait        60. Pontianak     72. Srednekolymsk  84. Ust-Nera
Time zone: 70


Current default time zone: 'Asia/Shanghai'
Local time is now:      Tue Nov 30 18:05:30 CST 2021.
Universal Time is now:  Tue Nov 30 10:05:30 UTC 2021.
Run 'dpkg-reconfigure tzdata' if you wish to change it.
2.3 安裝rk3568環(huán)境編譯工具
sudo apt-get update

sudo apt-get install git gnupg flex bison gperf libsdl1.2-dev \
libesd-java libwxgtk3.0-dev squashfs-tools build-essential zip curl \
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \
lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip zip device-tree-compiler \
liblz4-tool python-pyelftools python3-pyelftools -y 
2.4 新增用戶
# 設(shè)置超級(jí)用戶:
root@32b7b9ddcaab:/# apt install sudo
root@32b7b9ddcaab:/# visudo
# 添加自己的用戶名,!wq保存并退出:
ln28	ALL=(ALL:ALL) ALL
# 切換到普通用戶:
root@32b7b9ddcaab:/# adduser ln28
root@32b7b9ddcaab:/# su ln28
2.5 注意避坑!!

在windows下面安裝docker 再安裝ubuntu去編譯Android源碼 :

  1. 首先是系統(tǒng)性能最少是300G + 16G 以上的要求 , 前期50%編譯都是使用4~5G內(nèi)存 , 后面是需要16G以上否則會(huì)報(bào)錯(cuò)。
  2. 不要使用root權(quán)限編譯,按照 2.4步驟新增用戶
  3. 編譯會(huì)報(bào)錯(cuò) 少了 bc和time , 最好把2.3步驟全部安裝了
  4. 權(quán)限組都改成新增的用戶 , 不要用root! 。
  5. 還有一個(gè)權(quán)限問(wèn)題 , docker啟動(dòng)的時(shí)候 docker exec --privileged -it 1c962c6f7c6a70360fd5e731cd6bc5dff09c10efb0d8220899b9979f47c809f2 /bin/bash。

You are trying to start Docker Desktop but you don't have enough memory. Free some memory or change · 語(yǔ)雀

Resources Advanced You are using the WSL 2 backend, so resource limits are · 語(yǔ)雀

二、下載編譯 Android_SDK

Firefly | 讓科技更簡(jiǎn)單,讓生活更智能

3. 編譯 Android11.0 固件 — Firefly Wiki

Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼,【Linux 系統(tǒng)基礎(chǔ)與定制】,docker,linux,容器

3.1 第一步,下載 SDK

注意:不要在共享文件夾、掛載文件夾以及非英文目錄解壓SDK,避免產(chǎn)生不必要的錯(cuò)誤

$ mkdir ~/proj
$ mv /path/to/Firefly-RK356X_Android11.0_git_20210824.7z.*  ~/proj
$ cd ~/proj/
$ 7z x ./Firefly-RK356X_Android11.0_git_20210824.7z.001 -oRK356X_Android11.0
$ cd ./RK356X_Android11.0
$ git reset --hard
3.2 第二步,更新 SDK

我是直接下載百度云盤里面的, 解壓后操作步驟4/5即可。

#1. 進(jìn)入 SDK 根目錄
cd ~/proj/RK356X_Android11.0

#2. 下載遠(yuǎn)程 bundle 倉(cāng)庫(kù)
#git clone https://gitlab.com/TeeFirefly/rk356x-android11-bundle.git .bundle

#3. 若下載倉(cāng)庫(kù)失敗,目前 bundle 倉(cāng)庫(kù)占用空間較大,所以同步的時(shí)候可能會(huì)出現(xiàn)卡住或失敗的問(wèn)題,
# 可以從云盤下載 bundle 并解壓到 SDK 根目錄,解壓指令如下:

7z x rk356x-android11-bundle.7z  -r -o. && mv rk356x-android11-bundle/ .bundle/

#4. 更新 SDK,并且后續(xù)更新不需要再次拉取遠(yuǎn)程倉(cāng)庫(kù),直接執(zhí)行以下命令即可
.bundle/update

#5. 按照提示已經(jīng)更新內(nèi)容到 FETCH_HEAD,同步 FETCH_HEAD 到 firefly 分支
git rebase FETCH_HEAD
3.3 第二步,編譯 SDK
手動(dòng)編譯 iCore-3568JQ Android 11.0
  • 編譯 kernel:
cd ~/proj/RK356X_Android11.0/kernel/
make ARCH=arm64 firefly_defconfig android-11.config rk356x.config firefly_wifi.config
make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3568_firefly_itx_3568q/boot.img rk3568-firefly-itx-3568q.img -j8
  • 編譯 uboot:
cd ~/proj/RK356X_Android11.0/u-boot/
./make.sh rk3568
  • 編譯 Android:
cd ~/proj/RK356X_Android11.0/
source build/envsetup.sh
lunch rk3568_firefly_itx_3568q-userdebug
make installclean
make -j24
./mkimage.sh

Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼,【Linux 系統(tǒng)基礎(chǔ)與定制】,docker,linux,容器

3.4 打包成統(tǒng)一固件 update.img
./FFTools/mkupdate/mkupdate.sh -l rk3568_firefly_itx_3568q-userdebug

打包完成后將在rockdev/Image-XXX/ 目錄下生成統(tǒng)一固件: product名XXX_XXX_日期XXX.img

在 Windows 下打包統(tǒng)一固件 update.img 也很簡(jiǎn)單,將編譯生成的文件拷貝到 AndroidTool 的 rockdev\Image 目錄中,然后運(yùn)行 rockdev 目錄下的 mkupdate.bat 批處理文件即可創(chuàng)建 update.img 并存放到 rockdev\Image 目錄里。

如果有任何問(wèn)題,請(qǐng)留言~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-678119.html

到了這里,關(guān)于Docker系列(1)安裝Linux系統(tǒng)編譯Android源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包