Build Flutter engine for linux-arm64
HW:
- Hardkernel ODROID-N2 (https://www.hardkernel.com/product/)
- Hardkernel ODROID-C4 (https://www.hardkernel.com/product/)
- ODROID-VU7A+ (https://www.hardkernel.com/product/)
OS:
- Ubuntu disco minimal 20191228(ODROID-N2) (http://ppa.linuxfactory.or.kr/images/raw/arm64/disco/)
- Ubuntu focal server 20201024(ODROID-C4) (http://ppa.linuxfactory.or.kr/images/raw/arm64/focal/)
- Ubuntu focal mate 20201020(ODROID-C4) (https://dn.odroid.com/S905X3/ODROID-C4/Ubuntu/)
caution
Make sure the command ran successfully before running the next command!!
Host(Linux x86_64)
info
Using docker, run docker run -it --volume="$HOME/flutter-engine:/root/flutter-engine:shared" ubuntu:18.04 /bin/bash
.
Then, run apt update && apt install sudo
on the container before following what is shown below.
sysroot
It may vary depending on various conditions. If symbolic links are broken, you will get some errors when following the steps below.
info
When I tested this, most of the errors occured for this reason.
Target(Linux ARM64)
Connect the SD card or eMMC with OS to your SBC.
Host(Linux x86_64)
When I built all successfully, the directory structure is shown below. Since /
(root) is copied to $HOME/flutter-engine/sdk/sysroot
, setting a symbolic link path to an absolute path can break symbolic links.
Clang installation
clang and LLVM
binutils-gdb
libcxxabi and libcxx
depot_tools
flutter-engine
Ref: https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment
info
After reading the Ref above, follow flutter-engine part.