ODROID-C4:修訂間差異

出自flip the world
Tommy留言 | 貢獻
Tommy留言 | 貢獻
Refactor: add [[Category:Boards and SoCs ]]
 
(未顯示同一使用者於中間所作的 7次修訂)
第13行: 第13行:
== Build Android ==
== Build Android ==


* Download Toolchains:
=== Download Toolchains ===
** U-boot
; U-boot
*** http://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux.tar.xz
: http://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux.tar.xz
*** http://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz
: http://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz
; Linux kernel
: https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz


** Linux kernel
=== Set PATH ===
*** https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
 
* Set PATH
<pre>
<pre>
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux/bin
第27行: 第26行:
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
$ export PATH=$PATH:/opt/toolchains/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
</pre>
</pre>
 
=== Check out full source code ===
* Check out full source code
; 32 bit
** 32 bit
<pre>
<pre>
$ mkdir odroid-c4
$ mkdir odroid-c4
第36行: 第34行:
$ repo sync
$ repo sync
</pre>
</pre>
** 64 bit
; 64 bit
<pre>
<pre>
$ mkdir odroid-c4
$ mkdir odroid-c4
第44行: 第42行:
</pre>
</pre>


== Installing initial images ==
=== Build ===
*Select fastboot mode by turning ON switch 3 (for details, refer to the HiKey 960 Getting Started guide).
*Power the board.
*Flash initial images:
** cd device/linaro/hikey/installer/hikey960
*Turn OFF switch 3 and power cycle the board.
 
== Flashing images ==
*Enter fastboot mode by turning ON switch 3.
*Flash images by running the following commands:
** fastboot flash boot out/target/product/hikey960/boot.img
*Turn OFF switch 3 and power cycle the board.
 
== Building the kernel ==
*Run the following commands:
**mkdir repo-common
**cd repo-common
**repo init -u https://android.googlesource.com/kernel/manifest -b hikey-linaro-android-4.19
**repo sync -j8 -c
**rm -rf out
**rm build.config
**BUILD_CONFIG=hikey-linaro/build.config.hikey960 ./build/build.sh
*Update the kernel in the boot image.
**Copy hi3660-hikey960.dtb (out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb) to the hikey-kernel directory as file hi3660-hikey960.dtb-4.19.
**Copy the Image file (out/android-hikey-linaro-4.19/dist/Image.gz-dtb) to the hikey-kernel directory as file Image.gz-dtb-hikey960-4.19.
<pre>
<pre>
cp repo-common/out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb hikey960/device/linaro/hikey-kernel/hi3660-hikey960.dtb-4.19
$ source build/envsetup.sh
cp repo-common/out/android-hikey-linaro-4.19/dist/Image.gz-dtb hikey960/device/linaro/hikey-kernel/Image.gz-dtb-hikey960-4.19
$ lunch odroidc4-eng
$ make -j<core number>
</pre>
</pre>
*Make the boot image:
**make bootimage -j24


== Enable UART ==
== One touch self install ==
* In repo-common/hikey-linaro
; Create image
: make -j<core number> selfinstall
 
; Burn image
<pre>
<pre>
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
$ sudo dd if=out/target/product/odroidc4/selfinstall-odroidc4.img of=/dev/sdd
index 80334e500..a2f1de30b 100644
$ sync
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
$ sudo eject /dev/sdd
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -494,7 +494,7 @@
                        clock-names = "uartclk", "apb_pclk";
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
-                      status = "disabled";
+                      status = "ok";
                };
 
                uart1: serial@fdf00000 {
@@ -508,7 +508,7 @@
                        clock-names = "uartclk", "apb_pclk";
                        pinctrl-names = "default";
                        pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
-                      status = "disabled";
+                      status = "ok";
                };
 
                uart2: serial@fdf03000 {
</pre>
</pre>


== Setting the serial number ==
=== To set the random serial number, run ===
**fastboot getvar nve:SN@16\_DIGIT\_NUMBER
*Bootloader exports the generated serial number to the kernel using androidboot.serialno=.
=== Setting monitor resolution ===
*Edit the device/linaro/hikey/hikey960/BoardConfig.mk parameter BOARD_KERNEL_CMDLINE and configure the video setting. For example, the setting for a 24-inch monitor is video=HDMI-A-1:1280x800@60.


== Android note ==
== Android note ==
第116行: 第66行:


== Reference ==
== Reference ==
* [https://source.android.com/setup/build/devices, Build steps]
* [https://wiki.odroid.com/odroid-c4/software/building_android, ODROID-C4 Building android]
* [https://snapshots.linaro.org/96boards/hikey960/linaro/aosp-master/latest/, Pre build image]
* [https://wiki.odroid.com/odroid-c4/odroid-c4, ODROID-C4]
 
[[Category:Boards and SoCs]]

2026年8月21日 (五) 13:17的最新修訂

ODROID-C4

Board Description

ODROID-C4 Board
ODROID-C4 Detail

Pin definition

  • UART signals are driven at 1.8V.

Build Android

Download Toolchains

U-boot
http://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.9-2014.09_linux.tar.xz
http://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz
Linux kernel
https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

Set PATH

$ 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

Check out full source code

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

Build

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

One touch self install

Create image
make -j<core number> selfinstall
Burn image
$ sudo dd if=out/target/product/odroidc4/selfinstall-odroidc4.img of=/dev/sdd
$ sync
$ sudo eject /dev/sdd


Android note

  • Disable ICMP for enable ping
    • sysctl -w net.ipv4.icmp_echo_ignore_all=0

Reference