最近搞了一块 Orange Pi 3B
开发板用来学习 Linux
和 Android
嵌入式开发.
板子到了之后刷上系统玩了一会儿, 现在研究一下如何编译系统.
由于官方的交叉编译环境是基于 x86_64
的 Ubuntu 22.04
来完成的, 而我使用的主机是 Debian
, 就用 Docker
来搞一下吧.
准备 Docker
环境
安装 Docker
软件
参考清华镜像源的相关指引操作即可: »> Docker CE 软件仓库镜像使用帮助 «<
启动 Ubuntu 22.04
容器
docker run -ti --name orangepi-build --privileged=true --cap-add=ALL -v .:/orangepi-build/ ubuntu:22.04 bash
我在本地已经拉取了官方构建系统的代码, 直接挂载进去.
准备编译环境
现在已经处于容器环境, 所有操作均在容器中进行.
配置 apt
镜像源
sed \
-e 's|archive.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' \
-e 's|security.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' \
-i.bak \
/etc/apt/sources.list
apt update
安装必要软件
apt install -y systemd whiptail sudo locales git fdisk
编译系统过程中本身会安装软件, 但上面这些是编译系统必要的软件, 所有需要提前安装.
配置 Git
代理服务器
git config --global http.proxy 'socks5://192.168.8.12:7890'
git config --global https.proxy 'socks5://192.168.8.12:7890'
编译系统构建过程会访问
Girhub
拉取U-Boot
和Kernel
的代码, 这几天我这不能直接访问Github
.
开始编译
cd /orangepi-build/
./build.sh