armbian学习笔记五:构建armbian(本机或者虚拟机环境下)

一、我们需要什么?

  • 运行任何操作系统的x86/x64机器;至少4G RAMSSD四核(推荐)
  • VirtualBox或类似的虚拟化软件(强烈建议为虚拟磁盘镜像提供至少25 GB的硬盘空间)
  • 按照我们的Vagrant教程设置VirtualBox和编译环境很容易
  • 官方支持的编译环境是Ubuntu Focal 20.04 x64(对Ubuntu 18.04的支持将持续到我们遇到我们不想浪费时间或上游支持结束的问题为止)
  • 已安装基本系统,OpenSSHSamba(可选)
  • 不允许构建脚本的完整路径中的有空格
  • 超级用户权限(配置sudo或根shell)

请注意,系统需求(硬件和操作系统/软件)可能因构建环境的不同而不同(VagrantDockerVirtualBox本机)

二、如何开始?

1、本机和VirtualBox环境

root身份登录并运行:

apt-get -y -qq install git
git clone --depth 1 https://github.com/armbian/build
cd build

运行脚本:

./compile.sh

确保构建脚本的完整路径不包含空格。
armbian学习笔记五:构建armbian(本机或者虚拟机环境下)_第1张图片

2、提供构建配置

在第一次运行compile.sh之后,将创建一个新的配置文件config-example.conf和符号链接 config-default.conf。您可以根据需要编辑它,或者使用它作为模板创建不同的配置文件。

或者,您也可以将选项作为命令行参数提供给compile.sh。例如:

./compile.sh BOARD=cubietruck BRANCH=current KERNEL_ONLY=yes RELEASE=bionic

注意:选项Build_All不能通过命令行参数设置为“yes”

3、基础和子代配置

你可以创建一个基础配置(config-base.conf),并在子代配置(config-dev.conf)中使用该配置。以下例子中的三个参数(BRANCH, RELEASE, COMPRESS_OUTPUTIMAGE)将被覆盖。注意,下面这不是命令行,而是.conf文件里的内容。

. ./config-base.conf

BRANCH="dev"
RELEASE="buster"
COMPRESS_OUTPUTIMAGE="sha,gz"
4、使用自动构建系统

如果你没有适当的设备来自己构建镜像,则可以使用自动生成系统。每个晚上都会重新编译软件包(从CEST 00:01开始),并生成一些测试镜像。这些每天都自动更新的镜像可以在下载服务器上的每个型号板子对应的文件夹下的Nightly子文件夹中找到。当成功构建包时,将在beta存储库中发布。您可以切换到armbian-config中的beta存储库,或者将/etc/apt/source.d/armbian.list中的apt.armbian.com更改为beta.armbian.com

板子的测试镜像是在板配置文件中定义的,该文件位于这里。下面是典型的配置:

# A20 dual core 1Gb SoC
BOARD_NAME="Banana Pi"
LINUXFAMILY="sun7i"
BOOTCONFIG="Bananapi_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp #ap6211"
MODULES_NEXT="brcmfmac bonding"
#
KERNEL_TARGET="legacy,current,dev"
CLI_TARGET="buster,bionic,focal:current"
DESKTOP_TARGET="stretch:legacy,current"

CLI_BETA_TARGET=""
DESKTOP_BETA_TARGET=""
#
BOARDRATING=""
CHIP="http://docs.armbian.com/Hardware_Allwinner-A20/"
HARDWARE="https://linux-sunxi.org/Banana_Pi"
FORUMS="https://forum.armbian.com/forum/7-allwinner-a10a20/"
BUY="http://amzn.to/2fToHjR"

你可以在这里找到有关这些变量的更多信息。

如果你希望自动化系统开始为这个特定的板子生成镜像,则需要更改参数CLI_BETA_TARGETDESKTOP_BETA_TARGET。变量依赖于定义的KERNEL_TARGET和所支持的用户区:buster, bionic, stretch。要编辑这些参数,您需要将修改上传到构建脚本。您需要fork a project and create a pull request ,并且在其中一个管理员导入该请求之后,镜像像将开始显示在适当的文件夹中。

如果要启用具有当前内核的Debian Buster桌面镜像,请选择以下内容:

DESKTOP_BETA_TARGET="buster:current"

或者对于命令行接口,使用带有历史4.19.x版本内核的Ubuntu仿生镜像。

CLI_BETA_TARGET="bionic:legacy"

或者使用最新的上游开发内核的镜像。

DESKTOP_BETA_TARGET="buster:dev"

执行了compile.sh脚本之后,就会将所有的组件构建成一个镜像文件

你可能感兴趣的:(Linux驱动开发学习笔记)