上面是我的微信和QQ群,欢迎新朋友的加入。
参考:https://docs.khadas.com/zh-cn/vim3/FenixScript.html
编译环境,我重新安装了ubuntu20
安装软件包,配置环境
sudo apt-get install git-core gnupg flex bison gperf build-essential zip
sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev
sudo apt-get install ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
安装U-Boot BL交叉编译器
sudo apt-get install gcc-arm-none-eabi
wget https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.bz2
wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/6-2017q2/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
sudo mkdir /opt/toolchains
sudo tar -xjf gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.bz2 -C /opt/toolchains
sudo tar -xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 -C /opt/toolchains
安装linux内核交叉编译器
wget https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz
wget https://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz
sudo mkdir /opt/toolchains
sudo tar xvJf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz -C /opt/toolchains
sudo tar xvJf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt/toolchains
设置本地编辑环境
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git make lsb-release qemu-user-static
下载Fenix脚本
下载Fenix脚本到本地路径,如:~/project/
mkdir ~/project/
cd ~/project/
git clone --depth 1 https://github.com/khadas/fenix
设置编译环境
你需要先设置Fenix编译环境,如:选择Khadas开发板型号、u-boot版本、linux版本、linux发行版、安装方式等等。
cd ~/project/fenix
source env/setenv.sh
开始编译完整固件
在设置好环境执行make就会开始编译,编译过程会用到root权限,会提示你要输入密码才能继续编译。
make
提示:如果是你第一次编译,那么时间会比较久,因为脚本会检测你的电脑的编译环境,可能会安装编译需要的一些软件包,同时还会从Khadas Github下载一些仓库(如:u-boot和linux)。
你也可以选择单独编译u-boot和内核。
编译U-boot
make uboot
编译U-boot debian包
make uboot-deb
编译内核
make kernel
编译内核debian包
make kernel-deb
编译GPU debian包
make gpu-deb
编译板级debian包
make board-deb
编译所有的debian包
make debs
编译uboot image
make uboot-image
清除linux源码树
make kernel-clean
打开linux配置菜单
make kernel-config
保存linux配置文件
make kernel-saveconfig
清除uboot源码树
make uboot-clean
我的配置如下图所示
编译选项
NO_CCACHE - ccache选项
使能ccache(默认)
NO_CCACHE=no make
禁止ccache
NO_CCACHE=yes make
COMPRESS_IMAGE - 压缩固件选项
不压缩(默认)
COMPRESS_IMAGE=no make
压缩固件
COMPRESS_IMAGE=yes make
BUILD_TYPE - 编译类型选项
Develop
BUILD_TYPE=develop make
Release
BUILD_TYPE=release make
DOWNLOAD_MIRROR - 源地址选项
使用国内源
DOWNLOAD_MIRROR=china make
更新资源
$ sudo apt update
升级
$ sudo apt full-upgrade
$ sudo do-fenix-full-upgrade
重新启动系统
$ sync
$ sudo reboot