Armbian custom builds for different SOCs, using docker

I’m impressed with how well Armbian works with SOCs. Since I couldn’t find a Raspberry Pi recently, I tried out a “LePotato” board, which has performed well overall. The main issue is the lack of a headless install option for Armbian. Without a FAT partition for /boot, configuring the OS on a PC or Mac before installation is challenging.

I attempted adding /boot to an existing image but struggled. Eventually, I found I could compile Armbian with a revised lepotato.conf file by adding BOOTFS_TYPE="fat". Typically, compiling OS builds requires specific hardware, compilers, libraries, etc., making it a hassle. However, Armbian’s DIY-focused approach made the process surprisingly easy. I even used Docker, so my main OS stayed clean—very cool indeed!

 

From: https://docs.armbian.com/Developer-Guide_Building-with-Docker/

From the docker host:

# apt-get -y -qq install git
# git clone --depth 1 https://github.com/armbian/build 
# cd build
# ./compile.sh docker-shell 

You’ll end up in the docker container. Now run compile.sh again. Notice you are in the container now…

root@09c6235bb6ee:~/armbian# ./compile.sh BOARD=lepotato RELEASE=bullseye BRANCH=current KERNEL_CONFIGURE=yes

I also tried adding BOOTFS_TYPE=”fat” to the conf file so I could see the boot files on a PC beforehand:

root@09c6235bb6ee:~/armbian/build/config/boards# more nanopineoplus2.conf
#Allwinner H5 quad core 1GB RAM SoC headless GBE eMMC WiFi/BTBOARD_NAME="NanoPi Neo Plus 2"
BOARDFAMILY="sun50iw2"
BOOTCONFIG="nanopi_neo_plus2_defconfig"
MODULES="g_serial"
MODULES_BLACKLIST="lima"
DEFAULT_OVERLAYS="usbhost1 usbhost2"
DEFAULT_CONSOLE="serial"
SERIALCON="ttyS0,ttyGS0"
HAS_VIDEO_OUTPUT="no"
KERNEL_TARGET="legacy,current,edge"
BOOTFS_TYPE="fat"
root@09c6235bb6ee:~/armbian# ./compile.sh BOARD=nanopineoplus2 RELEASE=bullseye BRANCH=current KERNEL_CONFIGURE=yes
0