Armbian custom builds for different SOCs, using docker

I am impressed with how well armbian works with SOCs, and since I could not get my hands on a Raspberry PI lately, I tried my hand at a “LePotato”. It’s a great little board, and it’s been great. The only issue I have is there is no way to do a headless install of armbian and without a fat partition for /boot, there’s no way to “configure the OS” before installation on a PC/Mac.

I looked for a way to add /boot to a current image, and it wasn’t going well. I did see a blurb about how you can compile armbian with a revised lepotato.conf file where you add BOOTFS_TYPE=”fat” so I figured I would at least attempt to compile a version with that flag.

Normally to compile an OS build it takes the same HW, all the right compilers, libraries, etc., and it’s usually a painful experience. with Armbian, they’re focused on the DIY community, and the build process was surprisingly easy. I even used a docker option, so my main OS didn’t get plastered with a bunch of packages it doesn’t normally need. 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