- 适用对象:野火linux系列开发板
- 运行环境:Ubuntu 18.04 LTS
你可以使用ebf-image-builder脚本来编译Ubuntu/Debian固件。
$ sudo apt-get update
$ sudo apt install make gcc-arm-linux-gnueabihf gcc bison flex libssl-dev dpkg-dev lzop
$ mkdir -p ~/project/embedfire
$ cd ~/project/embedfire
$ git clone --depth 1 xxx
$ cd ebf-image-builder
$ source env/setenv.sh
你需要先设置ebf-image-builder编译环境,如:选择安装方式、linux开发板型号、u-boot版本、linux版本、文件系统类型等等。
注意:每个选项的后面通过类似"[x]"的标志来表明默认选中第x项。 具体说明如下:
$ Choose install type:
1.xxx
针对不同flash介质,需要使用不同版本uboot:
- eMMC/SD:uboot从eMMC/SD加载并启动linux系统
- nandflsh:uboot从nandflsh加载并启动linux系统
- ALL:编译所有版本的uboot,以实现一个镜像适用所有介质
编译系统镜像时,请选择安装介质类型为"ALL"。
单独编译uboot则可以选择其他安装介质类型
$ Choose fire board:
1.xxx
...
野火将提供多款不同linux开发版,请根据自己的开发板类型进行选择。
$ Choose uboot version:
1.xxx
...
野火维护多种不同版本uboot,如无特殊需求,请使用默认选项。
$ Choose linux version:
1.xxx
...
野火维护多种不同版本linux内核,如无特殊需求,请使用默认选项。
$ Choose distribution:
1.xxx
...
主要支持debian/ubuntu文件系统,请根据实际需求选择。
$ Choose xxx release:
1.xxx
...
发行版系统有多种版本,请根据实际需求选择。
$ Choose xxx type:
1.xxx
...
生成镜像有多种版本:
-
console:纯净版镜像,没有带桌面环境和野火的QT App。
-
full-qt-app:具有完整QT App功能的镜像,系统启动后会进入QT App的界面。但是该固件体积超过了Nandflash 512M的容量,因此不能烧录到Nandflash中,只可烧录于eMMC。
-
part-qt-app:移除了音视频播放功能的QT App,系统启动后会进入QT App的界面。该固件体积小于Nandflash 512M的容量,可以分别烧录到Nandflash和eMMC中。
-
desktop:带有桌面环境的镜像,系统启动后会进入桌面环境。
请根据实际需求选择不同版本镜像。
$ make
编译选项:
- DOWNLOAD_MIRROR:如果是国内用户,可加入DOWNLOAD_MIRROR=china选项,以提高文件下载速度。
- FORCE_UPDATE:当重复多次编译镜像时,uboot、内核并不会反复编译。如果需要重新编译uboot、内核,可加入FORCE_UPDATE=enable选项。
在设置好环境执行make就会开始编译,如果编译过程会用到root权限,将提示你要输入密码才能继续编译。
$ Building rootfs stage requires root privileges, please enter your passowrd:
编译成功后,image镜像位于deploy/xxx目录下。
当然,你也可以选择单独编译u-boot和内核。
$ make uboot
$ make kernel
编译成功后,生成文件位于build/images目录下。
$ make kernel-deb
编译成功后,生成deb包位于build/debs目录下。
提示:在镜像的第一次编译过程中,所需时间会比较久,因为脚本会检测你的电脑的编译环境,安装编译需要的一些软件包,同时还会从野火官方仓库下载一些构建镜像所需的内容。
Checkout this documents
Checkout this documents