Add support for both the BananaPi BPI-CM4 module and the BananaPi baseboard which is compatible with the RaspberryPi CM4IO baseboard. The BananaPi BPI-CM4 module follows the CM4 specifications at [1], but with a single HDMI port and a single DSI output. The current CM4IO baseboard DT should work fine on the Raspberry CM4 baseboard and other derivatives baseboards, but proper DT should be written for other baseboards. The DT is imported from the submission done at [2] and applied at [3], the u-boot support was submitted at [4]. [1] https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf [2] https://lore.kernel.org/all/20230303-topic-amlogic-upstream-bpi-cm4-v2-0-2ecfde76fc4d@linaro.org/ [3] https://git.kernel.org/amlogic/c/0262f2736978b1763363224698f47112a148dab0 [4] https://lore.kernel.org/all/20230307-u-boot-cm4-v1-0-43f5a393cd37@linaro.org/ Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> |
||
|---|---|---|
| .. | ||
| aml-s9xx-box.tvb | ||
| bananapi.conf | ||
| bananapicm4io.conf | ||
| bananapim1plus.csc | ||
| bananapim2.eos | ||
| bananapim2plus.conf | ||
| bananapim2pro.conf | ||
| bananapim2s.csc | ||
| bananapim2ultra.csc | ||
| bananapim2zero.csc | ||
| bananapim3.csc | ||
| bananapim5.conf | ||
| bananapim64.conf | ||
| bananapipro.conf | ||
| bananapir2.csc | ||
| bananapir2pro.conf | ||
| beaglev.wip | ||
| beelinkx2.tvb | ||
| clearfogbase.conf | ||
| clearfogpro.conf | ||
| clockworkpi-a06.conf | ||
| cubieboard2.csc | ||
| cubieboard4.csc | ||
| cubieboard.csc | ||
| cubietruck.csc | ||
| cubietruckplus.csc | ||
| cubox-i.csc | ||
| espressobin.conf | ||
| fe-som-rk3399.eos | ||
| firefly-rk3399.conf | ||
| helios4.conf | ||
| helios64.csc | ||
| imx7sabre.eos | ||
| jethubj80.conf | ||
| jethubj100.conf | ||
| jetson-nano.conf | ||
| khadas-edge2.wip | ||
| khadas-edge.conf | ||
| khadas-vim1.conf | ||
| khadas-vim2.conf | ||
| khadas-vim3.conf | ||
| khadas-vim3l.conf | ||
| lafrite.conf | ||
| lamobo-r1.eos | ||
| lepotato.conf | ||
| lime2.conf | ||
| lime-a10.eos | ||
| lime-a33.csc | ||
| lime-a64.conf | ||
| lime.csc | ||
| macchiatobin-doubleshot.csc | ||
| mangopi-mq.wip | ||
| melea1000.csc | ||
| micro.csc | ||
| microzed.eos | ||
| miqi.eos | ||
| mk808c.csc | ||
| nanopct3.eos | ||
| nanopct3plus.eos | ||
| nanopct4.conf | ||
| nanopi-r1.conf | ||
| nanopi-r1s-h5.conf | ||
| nanopi-r2c.conf | ||
| nanopi-r2s.conf | ||
| nanopi-r4s.conf | ||
| nanopia64.csc | ||
| nanopiair.csc | ||
| nanopiduo2.csc | ||
| nanopiduo.csc | ||
| nanopifire3.eos | ||
| nanopik1plus.conf | ||
| nanopik2-s905.csc | ||
| nanopim1.eos | ||
| nanopim1plus2.eos | ||
| nanopim1plus.eos | ||
| nanopim3.eos | ||
| nanopim4.conf | ||
| nanopim4v2.conf | ||
| nanopineo2.conf | ||
| nanopineo2black.csc | ||
| nanopineo3.conf | ||
| nanopineo4.csc | ||
| nanopineo.conf | ||
| nanopineocore2.csc | ||
| nanopineoplus2.conf | ||
| nezha.wip | ||
| odroidc1.eos | ||
| odroidc2.conf | ||
| odroidc4.conf | ||
| odroidhc4.conf | ||
| odroidm1.wip | ||
| odroidn2.conf | ||
| odroidxu4.conf | ||
| olimex-som204-a20.eos | ||
| olimex-som-a20.eos | ||
| olimex-teres-a64.conf | ||
| olinux-som-a13.csc | ||
| onecloud.csc | ||
| orangepi2.csc | ||
| orangepi3-lts.conf | ||
| orangepi3.conf | ||
| orangepi4-lts.conf | ||
| orangepi4.conf | ||
| orangepi5.conf | ||
| orangepi-r1.conf | ||
| orangepi-r1plus-lts.conf | ||
| orangepi-r1plus.conf | ||
| orangepi-rk3399.csc | ||
| orangepi.eos | ||
| orangepilite2.conf | ||
| orangepilite.conf | ||
| orangepimini.eos | ||
| orangepione.conf | ||
| orangepioneplus.conf | ||
| orangepipc2.conf | ||
| orangepipc.conf | ||
| orangepipcplus.conf | ||
| orangepiplus2e.conf | ||
| orangepiplus.csc | ||
| orangepiprime.conf | ||
| orangepiwin.csc | ||
| orangepizero2.conf | ||
| orangepizero.conf | ||
| orangepizeroplus2-h3.conf | ||
| orangepizeroplus2-h5.csc | ||
| orangepizeroplus.conf | ||
| pcduino2.eos | ||
| pcduino3.csc | ||
| pcduino3nano.eos | ||
| pine64.conf | ||
| pine64so.conf | ||
| pinebook-a64.csc | ||
| pinebook-pro.conf | ||
| pinecube.csc | ||
| pineh64-b.conf | ||
| pineh64.csc | ||
| qemu-uboot-arm64.wip | ||
| qemu-uboot-x86.wip | ||
| quartz64a.wip | ||
| quartz64b.wip | ||
| radxa-e25.wip | ||
| radxa-zero2.csc | ||
| radxa-zero.conf | ||
| README.md | ||
| recore.csc | ||
| renegade.conf | ||
| rk322x-box.tvb | ||
| rk3318-box.tvb | ||
| roc-rk3399-pc.csc | ||
| rock64.conf | ||
| rock-3a.conf | ||
| rock-5b.wip | ||
| rockpi-4a.conf | ||
| rockpi-4b.conf | ||
| rockpi-4bplus.csc | ||
| rockpi-4c.conf | ||
| rockpi-4cplus.csc | ||
| rockpi-e.csc | ||
| rockpi-n10.csc | ||
| rockpi-s.conf | ||
| rockpro64.conf | ||
| rpi4b.conf | ||
| star64.wip | ||
| station-m1.conf | ||
| station-m2.conf | ||
| station-m3.conf | ||
| station-p1.conf | ||
| station-p2.conf | ||
| sunvell-r69.tvb | ||
| tinkerboard-2.wip | ||
| tinkerboard.conf | ||
| tritium-h3.conf | ||
| tritium-h5.conf | ||
| udoo.csc | ||
| uefi-arm64.conf | ||
| uefi-riscv64.conf | ||
| uefi-x86.conf | ||
| unleashed.wip | ||
| unmatched.wip | ||
| virtual-qemu.wip | ||
| visionfive2.wip | ||
| visionfive.wip | ||
| xt-q8l-v10.tvb | ||
| z28pro.tvb | ||
| zeropi.conf | ||
Internal build options
These options are used to declare variables used by the armbian build system to build a board-specific configuration.
If you are unsure about the documentation then invoke $ grep -r -A5 -B5 "BUILD_OPTION_HERE" /path/to/local/armbian/build/repository to get context to the option from the source code.
- BOARD_NAME ( company product version ): defines the board name used in welcome text, hostname and others relevant usage.The general convention is
COMPANY PRODUCT VERSION- Often used as part of the scripting logic (namely for hacks) so follow the name declared in the board configuration.- Example:
OLIMEX Teres A64
- Example:
- BOARDFAMILY ( board-family ): defines the family of the board to apply board-specific configuration during build time such as adjustments for the temperature, LED behavior, etc..
- Refer to sources table
- Example:
sun50iw1
- BOOTCONFIG ( u-boot identifier ): declares the name of the u-boot configuration for the build without the '_defconifig' suffix
- Refer to the u-boot source tree to find configuration for the board
- Example:
teres-i
- BOOTSIZE ( int ): Declares the size of the boot partitin in Mib
- Default:
256 - Example:
256
- Default:
- BOOT_LOGO ( string ): defines whether to use a eyecandy during bootloader phase
- Values:
- yes: Show the armbian boot logo
- desktop: Show the armbian boot logo when
BUILD_DESKTOPis set toyes
- Default:
not set
- Values:
- IMAGE_PARTITION_TABLE ( string ): defines which disklabel type to use
- Values:
- msdos: Use dos/msdos disklabel
- gpt: Use GPT disklabel
- Default: msdos
- Values:
- BOOTFS_TYPE ( filesystem ): defines the expected filesystem for the boot file system
- Values:
- none: Uses /boot on the root filesystem
- ext4: Use the Fourth Extended Filesystem
- ext2: Use the Second Extended Filesystem
- fat: Use the File Allocation Table 32
- Default:
ext4
- Values:
- DEFAULT_OVERLAYS ( space-separated list list of dtb overlays ): defines dtb overlays that are enabled by default. There is a basic dtb for each family but they have different level of used SoC features. Board X might have four USB ports but others might not. Therefore other does not need to have those enabled while board X does.
- Examples:
- usbhost0
- usbhost2
- usbhost3
- cir
- analog-codec
- gpio-regulator-1.3v
- uart1
- Examples:
- DEFAULT_CONSOLE ( string ): declares default console for the boot output
- Values:
- serial: Output boot messages to serial console
- Default:
not set
- Values:
- MODULES ( space-separated list of kernel modules ): appends modules to the kernel command line for all kernel branches
- MODULES_LEGACY ( space-separated list of kernel modules ): appends modules to the kernel command line for legacy kernel
- MODULES_CURRENT ( space-separated list of kernel modules ): appends modules to the kernel command line for current kernel
- MODULES_EDGE ( space-separated list of kernel modules ): appends modules to the kernel command line for edge kernel
- MODULES_BLACKLIST ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for all kernel branches
- MODULES_BLACKLIST_LEGACY ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for legacy kernel
- MODULES_BLACKLIST_CURRENT ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for current kernel
- MODULES_BLACKLIST_EDGE ( space-separated list of kernel modules ): appends modules to the kernel's blacklist/deny list for edge kernel
- SERIALCON ( comma-separated list of terminal interfaces [:bandwidth] ): declares which serial console should be used on the system
- Example:
ttyS0:15000000,ttyGS1
- Example:
- SKIP_ARMBIAN_REPO ( boolean ): Whether to include the armbian repository in the built image
- Values:
- yes: Include (default)
- no: Do NO include
- Values:
- HAS_VIDEO_OUTPUT ( boolean ): defines whether the system has video output such as eye candy, bootsplash, etc..
- Values:
- yes: Enable video-related configuration
- no: Disable video-related configuration
- Values:
- KERNEL_TARGET ( comma-separated list of kernel releases or branches ): declares which kernels should be used for the build
- Values:
- legacy: Use legacy kernel
- current: Use current kernel
- edge: Use edge kernel
- [branch]: Use specified [branch] kernel
- [none]: Exits with error
- Values:
- FULL_DESKTOP ( boolean ): defines whether to install desktop stack of applications such as office, thunderbird, etc..
- Values:
- yes: install desktop stack
- no: doesn't install desktop stack
- Values:
- DESKTOP_AUTOLOGIN ( boolean ): Toggle desktop autologin
- Values:
- yes: Automatically login to the desktop
- no: disable desktop autologin
- Default:
no
- Values:
- PACKAGE_LIST_BOARD ( space-separated list of packages ): Declares which packages should be installed on the system
- PACKAGE_LIST_BOARD_REMOVE ( space-separated list of packages ): Declares packages to be removed from the system
- BOOT_FDT_FILE ( device tree configuration ): Force to load specific device tree configuration if different from the one defined by u-boot
- Values:
- [family]/[file.dtb]: Replace device tree with the one specified
- none: Do not use device tree configuration
- Example:
rockchip/rk3568-rock-3-a.dtb
- Values:
- CPUMIN ( minimum CPU frequency to scale in Hz ): Set minimal CPU frequency of the system
- Default: Differs per family
480000for sunxi8 boards
- Default: Differs per family
- CPUMAX ( minimum CPU frequency to scale in Hz ): Set maximal CPU frequency of the system
- Default: Differs per family
1400000for sunxi8 boards
- Default: Differs per family
- FORCE_BOOTSCRIPT_UPDATE ( boolean ): Force bootscript installation if they are not present
- Values:
- yes: Enable
- no: Disable
- Values:
- OVERLAY_PREFIX ( prefix ): Prefix for device tree and overlay file paths which will be set while creating an image
- Example:
sun8i-h3
- Example:
Deprecated
- BOOTCONFIG_LEGACY ( u-boot identifier ): use BOOTCONFIG instead
- BOOTCONFIG_CURRENT ( u-boot identifier ): use BOOTCONFIG instead
- BOOTCONFIG_EDGE ( u-boot identifier ): use BOOTCONFIG instead
- PACKAGE_LIST_BOARD_DESKTOP ( space-separated list of packages ): use PACKAGE_LIST_BOARD instead
- PACKAGE_LIST_BOARD_DESKTOP_REMOVE ( space-separated list of packages ): use PACKAGE_LIST_BOARD instead
File extensions
Statuses displayed at the login prompt:
| file type | description |
|---|---|
| .csc or .tvb | community creations or no active maintainer |
| .wip | work in progress |
| .eos | end of life |