Does anyone have a Dockerfile for building the DevTerm image?

I’m giving it a go, but the documentation for building the image in the wiki is kind of weak.

I can help you with the docker build process. But it’s only working on the “legacy” branch, not “current”. (The patches don’t cleanly apply to the “current” kernel) I have not attempted to actually boot these images as of now.

First, instead of thinking you want to create a docker container to run ./compile.sh in, re-orient your thinking to running ./compile.sh to start a docker build container. Docker must be installed and accessible by the user running this. i.e. ‘docker ps’ works. I’m running this on a Linux Mint 20.3 laptop.

make-devterm.sh:

#!/bin/bash

BRANCH="legacy" #current
git clone https://github.com/armbian/build.git
git clone https://github.com/clockworkpi/DevTerm.git
cd build
git reset --hard 43d179914ae9e1ebb5d72315d9f9f68f5fb3e330
git apply ../DevTerm/Code/patch/armbian_build_a06/patch/armbian.patch
git apply ../DevTerm/Code/patch/armbian_build_a06/patch/armbian_mirror.patch
mkdir -p userpatches/kernel/rockchip64-current/
mkdir -p userpatches/u-boot/u-boot-rockchip64-mainline/
cp -f ../DevTerm/Code/patch/armbian_build_a06/patch/kernel*.patch userpatches/kernel/rockchip64-current/
cp -f ../DevTerm/Code/patch/armbian_build_a06/patch/uboot*.patch userpatches/u-boot/u-boot-rockchip64-mainline/
cp -f ../DevTerm/Code/patch/armbian_build_a06/patch/clockworkpi-a06.conf config/boards/
./compile.sh docker BOARD=clockworkpi-a06 BRANCH=$BRANCH RELEASE=hirsute BUILD_MINIMAL=no BUILD_DESKTOP=yes KERNEL_ONLY=no KERNEL_CONFIGURE=no DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base COMPRESS_OUTPUTIMAGE=sha,gpg,img

s@aero:~$ mkdir devterm-build
s@aero:~$ cd devterm-build
s@aero:~/devterm-build$ vim make-devterm.sh
s@aero:~/devterm-build$ chmod +x make-devterm.sh
s@aero:~/devterm-build$ ./make-devterm.sh
[you might need to hit enter a couple times to start the build.]

A billion lines later (it was building inside a container):

[ .... ] Updating initramfs... [ update-initramfs -uv -k 4.4.213-rk3399 ]
[ o.k. ] Updated initramfs. [ for details see: /root/armbian/output/debug/install.log ]
[ .... ] Re-enabling [ initramfs-tools hook for kernel ]
[ o.k. ] Unmounting [ /root/armbian/.tmp/mount-a1d0706a-6204-4d3e-84ba-9a66ceb260aa/ ]
[ o.k. ] Free SD cache [ 26% ]
[ o.k. ] Mount point [ 86% ]
[ o.k. ] Writing U-boot bootloader [ /dev/loop11 ]
[ o.k. ] SHA256 calculating [ Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img ]
[ warn ] GPG signing skipped - no GPG_PASS [ Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img ]
[ o.k. ] Done building [ /root/armbian/output/images/Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img ]
[ o.k. ] Runtime [ 8 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh docker BOARD=clockworkpi-a06 BRANCH=legacy RELEASE=hirsute BUILD_MINIMAL=no BUILD_DESKTOP=yes KERNEL_ONLY=no KERNEL_CONFIGURE=no DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base COMPRESS_OUTPUTIMAGE=sha,gpg,img  ]
s@aero:~/devterm-build$ 

Showing the files created:


s@aero:~/devterm-build$ ls build/output/images/
Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img
Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img.sha
Armbian_21.08.0-trunk_Clockworkpi-a06_hirsute_legacy_4.4.213_xfce_desktop.img.txt
s@aero:~/devterm-build$ 

s@aero:~/devterm-build$ ls build/output/debs
armbian-config_21.08.0-trunk_all.deb         linux-dtb-legacy-rk3399_21.08.0-trunk_arm64.deb
armbian-firmware_21.08.0-trunk_all.deb       linux-headers-legacy-rk3399_21.08.0-trunk_arm64.deb
armbian-firmware-full_21.08.0-trunk_all.deb  linux-image-legacy-rk3399_21.08.0-trunk_arm64.deb
armbian-zsh_21.08.0-trunk_all.deb            linux-source-legacy-rk3399_21.08.0-trunk_all.deb
extra                                        linux-u-boot-clockworkpi-a06-legacy_21.08.0-trunk_arm64.deb
hirsute
s@aero:~/devterm-build$ 

So anyway, it sure looks to me that the DevTerm code on github is NOT the newest code for the current A06 image release.

1 Like

I run macOS and Windows on my workstations, so I intended to use docker to abstract things and standardise across platforms.

As far as I understood things, the DevTerm ships with a Hirsute Hippo (21.04) image and the image file available from the website is also Hirsute (21.08).

Never mind, I missed it’s the BRANCH setting that’s legacy vs current.

I’m not clear on the differences between the two.

Update, it might be building, but isn’t applying the patches.

Looks like the build is looking in the wrong userpatches dir:

[ o.k. ] Looking for user patches in [ userpatches/kernel/rk3399-legacy ]

If I copy userpatches/kernel/rockchip64-current to userpatches/kernel/rk3399-legacy, the applies fail.

[ o.k. ] * [l][c] helios64-add-board.patch 
[ o.k. ] * [l][c] helios64-remove-pcie-ep-gpios.patch 
[ o.k. ] * [l][c] increasing_DMA_block_memory_allocation_to_2048.patch 
[ warn ] * [u][c] kernel-001-a06-dts.patch [ failed ]
[ warn ] * [u][c] kernel-002-power.patch [ failed ]
[ warn ] * [u][c] kernel-003-audio.patch [ failed ]
[ warn ] * [u][c] kernel-004-panel.patch [ failed ]
[ warn ] * [u][c] kernel-005-backlight.patch [ failed ]
[ warn ] * [u][c] kernel-006-panel.patch [ failed ]
[ o.k. ] * [l][c] patch-4.4.192-193.patch 
[ o.k. ] * [l][c] patch-4.4.193-194.patch 
[ o.k. ] * [l][c] patch-4.4.194-195.patch 

So, presently, it looks like “current” is the right branch, but it’s not building via the docker method. The kernel patches aren’t even applying.

Back to the drawing board…

1 Like

Yesterday I put in a request for a screen recording of the full build process:

Hoping that gains some traction.

1 Like

Thanks for starting this. Obviously “legacy” branch isn’t the correct one. Unfortunately the current branch isn’t building for me with docker (it’s not even applying the kernel patches correctly).

I see they already started replying to your request. I’ll have to keep an eye on that.

Added my logs to your request: Ascii cinema for image builds · Issue #26 · clockworkpi/DevTerm · GitHub

1 Like

Thank you for providing your log!

It’ll be nice to get to the bottom of this.

1 Like

Hey, did you see the manjaro builds for Devterm? I tried out the XFCE, KDE, and the SWAY releases. They are 1000x better than the official release, especially the XFCE version. If you try SWAY, let me know and i’ll give you the fix to correct the screen rotation.

Anyway, looks like CUU is/was contributing to it’s build repo… I’m really not a fan of Arch, but it’s clean.

Click on the assets link…

2 Likes

Very nice find! I’ll give them a spin.

Build fixed. I sent a pull request to DevTerm repo:

1 Like