ODROID-C4

Android

Android

本頁將向您介紹如何下載和構建 Android 原始碼樹,以根據您的使用情況對其進行自定義。

如果您尚未在桌面上構建 Android,請在繼續之前仔細閱讀 Android 的官方構建環境設置指南 https://source.android.com/source/initializing.html

否則,您可能會遇到意外錯誤,需要閱讀冗長而復雜的構建日誌才能找到問題所在。

我們只使用了 Ubuntu 16.04 和 18.04 64 位和 8GB RAM,因為其他較新版本在構建 Android操作系統時存在一些問題。

Android 9.x (Pie) 構建需要 OpenJDK 8,而不是 Oracle-Java-JDK。另請注意,您的存儲中需要大約 210GB 的可用空間才能獲得完整的源代碼和二進制空間。 https://source.android.com/source/requirements.html

如果您想構建完整的 Android 源碼樹,請不要單獨下載和構建內核源代碼。 單獨的內核構建可能會破壞 Android 構建過程。

工具鏈

對於 Linux kernel 和 U-boot,您必須安裝特定的工具鏈。Android 將使用其預先構建的 ARM 工具鏈。

將工具鏈解壓到 /opt/toolchains/

U-boot

Linux kernel

並請設置 PATH 以使用工具鏈。您應該在構建 Android 之前設置它。

				
					$ export PATH=$PATH:/opt/toolchains/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
				
			

檢查完整程式碼

此命令將啟動下載ODROID-C4的 Android 原始碼樹。

完整的源代碼包括 u-boot、kernel 和 Android 存儲庫。

32位元

				
					$ mkdir odroid-c4
$ cd odroid-c4
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_master
$ repo sync
				
			

64位元

				
					$ mkdir odroid-c4
$ cd odroid-c4
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync
				
			

建構

Android

				
					$ source build/envsetup.sh
$ lunch odroidc4-eng
$ make -j<core number>
				
			

您可以在 <core number >上設置數量,以便同時編譯與構建機器上的內核數量一樣多。

您還可以構建分離的圖像,如根、系統、供應商和 dtbs 圖像。

				
					$ make bootimage
$ make systemimage
$ make vendorimage
$ make dtbsimage
				
			

如何使用空的 MicroSD/eMMC 或閃存媒體
創建 Android 可啟動媒體

Android 構建完成後,您將擁有可下載到 MicroSD/eMMC 中的所有必要文件。您可以通過兩種方式安裝 Android 映像。首先,使用自安裝映像。你只是閃爍這個圖像,僅此而已。開機後會自動安裝Android。作為另一種方式,您可以手動刷新每個圖像。

一鍵自動安裝

這與 Hardkernel 團隊創建 Android 發布映像的方式相同,如果您再進行一個構建步驟,則在您的 ODROID-C4 上擁有可啟動媒體的最簡單方法也是如此。此過程將 Android 構建創建的所有必需圖像文件合併到一個文件中,即 out/target/product/odroidc4/selfinstall-odroidc4.img。

您還可以使用自安裝映像製作可啟動媒體,而且您已經製作好了。

				
					$ make -j<core number> && make -j<core number> selfinstall
				
			
您可以通過etcher或dd 命令編寫自安裝映像。。
				
					$ sudo dd if=out/target/product/odroidc4/selfinstall-odroidc4.img of=/dev/sdd
$ sync
$ sudo eject /dev/sdd
				
			

手動動安裝

Android 構建完成後,您將擁有可下載到 MicroSD/eMMC 中的所有必要文件。如果您已經有啟動媒體並且可以切換到fastboot模式是U-boot,您可以在執行以下命令的同時繼續更新或忽略特定步驟。

如何使用快速啟動

引導加載程序

要在 ODROID-C4 上使用媒體,您應該先刷寫引導加載程序以啟動媒體。我們假設 emmc 節點為 /dev/sdd。您可以通過“sudo fdisk -l”找到媒體節點。
				
					$ cd  < android_root > 
$ cd bootloader / uboot / sd_fuse 
$ . / sd_fusing.sh / dev的/ SDD
				
			
如果您已經安裝了媒體,您可以通過 fastboot 命令刷新引導加載程序。
				
					$ fastboot flash bootloader bootloader/uboot/sd_fuse/u-boot.bin

				
			

刷入引導加載程序後,您可以使用fastboot命令來刷入映像。此命令在 u-boot 上完成。

在板上,

				
					$ FASTBOOT

				
			
				
					$ fastboot oem fdisk 
$ fastboot reboot-bootloader
				
			

然後,嘗試以下方法在您的 PC 上閃爍圖像。

Android root 和 Kernel
				
					$ fastboot flash boot out/target/product/odroidc4/boot.img

				
			

Kernel dtb

				
					$ fastboot flash dtbs dtbs.img

				
			
Recovery
				
					$ fastboot flash recovery out/target/product/odroidc4/recovery.img

				
			
Vendor
				
					$ fastboot flash vendor out/target/product/odroidc4/vendor.img

				
			
System
				
					$ fastboot flash system out/target/product/odroidc4/system.img

				
			
Data

首先應該格式化數據分區。

				
					$ fastboot erase data

				
			

刷完所有分區後,請重啟設備。

				
					$ fastboot reboot

				
			

常見問題

如何進入快速啟動模式以下載 Android 映像

您需要USB 串行套件。ODROID-C4啟動時按鍵盤上的任意鍵。這將停止啟動並為您提供U-boot命令行,只需執行命令fastboot 即可。

我還沒有啟動媒體,如何將 Android 映像下載到我的 MicroSD 或 eMMC?

你必須有一個引導介質從啟動ODROID-C4直接進入FASTBOOT中的U-boot模式。否則,您將無法將 Android 映像下載到專用分區 ( system/userdata/cache )。此類分區的映像文件無法直接使用dd從桌面下載。例如,由於這些映像在為每個分區安裝時被壓縮和fastboot提取。

我沒有 USB 串口套件,所以我無法進入 U-boot

當前的U-boot不支持除串口控制台外的任何其他輸入設備,因此您需要 USB 串口套件。可能的解決方法是安裝 Hardkernel 團隊發布的 Android 映像,並從 Android 的 shell 命令行執行命令reboot fastboot。這將重新啟動ODROID-C4和停止上的U-boot進入FASTBOOT模式。當 USB 電纜與ODROID-C4連接時,您可以從桌面執行命令fastboot。

此頁資訊皆從 ORDOID Wiki 進行翻譯,並經由 CC BY-SA 3.0 進行分享。