Skip to content

Releases: guysoft/CustomPiOS

CustomPiOS 2.0.0

Choose a tag to compare

@guysoft guysoft released this 14 Jul 08:56

This is the seventh release of CustomPiOS and the first v2 release. It is the result of the CustomPiOS V2 effort that started after 1.5.0, the last v1 version.

This release makes CustomPiOS board aware, so it can build images for a growing list of ARM boards and not just the Raspberry Pi. It also adds remote and meta modules, automatic base image downloads, a move to the GitHub Container Registry, Debian Trixie groundwork, and a shared end-to-end testing framework that downstream distros can reuse in their own CI.

Thats a lot for a single release after two years of development.

A note for maintainers and distro authors on how to use the new v2 features:

  • Boards are now first class. The list of supported boards and their base images lives in src/images.yml. When building inside the CustomPiOS Docker container you can pick a board with build -b <board> (for example build -b raspberrypiarm64), list all known boards with build -b list, and download that board's current base image automatically with build -d -b <board>. If you build outside that wrapper, set BASE_BOARD in your distro src/config, variant, or src/config.local and CustomPiOS will derive BASE_ARCH and the image path from it.
  • Remote modules let several distros share one module without copying it. They are declared in src/modules_remote.yml and pulled at build time, see the remote module support commit.
  • Meta modules pick board specific sub-modules automatically. A module can ship a meta script (see src/modules/base/meta and src/modules/network/meta) that returns extra modules based on BASE_BOARD, so the right armbian/orange sub-modules get injected for the board you are building, see meta modules support.
  • The Docker image moved from Docker Hub to ghcr.io, use ghcr.io/guysoft/custompios:devel (or a branch tag) in your distro Dockerfile, see #252.
  • There is now a shared end-to-end testing framework in src/distro_testing/ and a reusable e2e-test.yml workflow. A distro calls the workflow with its image artifact and distro name, ships a testing/Dockerfile that copies the shared QEMU/SSH helpers, and adds its own testing/tests/test_*.sh and optional testing/hooks/ scripts. The framework boots the image in QEMU, waits for SSH, runs the tests, and captures a screenshot. See src/distro_testing/README.md for the full setup.

Updates:

  • There is now a unit test suite, run it with make test, and it runs on all branches in CI #245 63aaabf 98277d1
  • The readme has a tests section 693157e and LEDPotato was added to the list of distributions using CustomPiOS 528d29e

Chagngelog

  • CustomPiOS v2 - support for meta modules and remote modules #221 #214, see the maintainer note above. Remote module support 3bbea66, meta modules support c9a0914, auto download images by base board and python package 9e27240
  • Move to the ghcr.io docker container registry #252 1027bcb
  • Support librecomputer Le Potato AML-S905X-CC Debian image #233 e922881, including auto downloading the latest raspbian image 2a3807b, keyring fixes 0a39a13 and usage statistics 7d4e97c
  • Mount /sys directory to allow building of arm64 images #238 e29a331 (thanks @sharpn), and mount /proc and /sys read only db54c95
  • Fix aarch/arm64 architecture issues #240 #251 16ccb1f
  • Fix logic so arm-on-arm doesn't need qemu static, and add more escape hatches for qemu-*-static #261 cd42f5b 75347d1 (thanks @jxmx)
  • Source config.local before generate_board_config.py for correct BASE_BOARD, related #262 883cc9f and add variant config pre-seeding for BASE_BOARD in src/build 406a4cc
  • Config file can override BASE_BOARD from cli 5735722
  • Default to base board raspberrypiarmhf if not defined, for example in CustomPiOS v1 c505f18 cee120a, and fix CustomPiOS v1 image path detection b3f2c79
  • Use image folder for raspberrypiarm64 images 23fcc0c
  • Handle images with "debain" in their name 5ac52ff
  • fix: set BASE_ARCH to armhf for Banana Pi BPI-M2 ZERO #248 c43d417 (thanks @meteyou)
  • fix: update armbian image urls form bullseye to bookworm #250 29355dc (thanks @meteyou)
  • Handle lack of policykit-1 in Debian Trixie, replace with polkitd and pkexec #260 3e583a5 d772273
  • Upgrade libconfig9 to libconfig11 for Debian Trixie, fixes #263 and is part of #260 79b77a4
  • Fix deprecated IPQoS sshd flag, fixes #259 and #260 6827c72
  • Build on tags and update branch list 820695c
  • Remove unused git imports from generate_board_config.py, fixes CI #272 b8319cf

common.sh

  • Extract setup_qemu_static() and add test coverage for QEMU binary copy logic #270 ed30ce7
  • Fix chroot_correct_qemu execution 19a8738

Module changes

  • base - Make the base module board aware, with per board image paths and BASE_BOARD/BASE_OS defaults, part of #221
  • base - Meta module that injects armbian/orange sub modules for matching boards c9a0914
  • base - Trixie compatibility: polkitd/pkexec packages, apt_update_skip, lepotato keyring and SSH on debian boards, IPQoS throughput 3e583a5 d772273 6827c72
  • network - Meta module that adds armbian_net/orange_net by board c9a0914
  • network - Move wpa_supplicant things into the conditional block #242 https://github.com/guy...
Read more

CustomPiOS 1.5.0

Choose a tag to compare

@guysoft guysoft released this 25 Oct 17:29

This is the sixth release of CustomPiOS and last v1 version. Before CustomPiOS V2 release.

Updates:

Chagngelog

common.sh

  • Shorthand fuction set_config_var to modify /boot/config.txt #121 (thanks @amrsoll)
  • Skip apt update if Cache not older than 1 Hour #146 (thanks @KwadFan)

Module changes

New modules

Thanks

Thank you to all contributes, mentioned and the one that I have surely missed. CustomPiOS has grown a lot as you can see from the previous release, and I hope to add even more functionality with the upcoming CustomPiOS v2. Hopefully everything should be backwards compatible and the transition would be seamless.

CustomPiOS 1.4.0

Choose a tag to compare

@guysoft guysoft released this 04 Nov 12:54

This is the fith release of CustomPiOS

This is the first release tag to support building arm64 builds for Raspberry Pi OS using the raspios_lite_arm64 variant.

Chagngelog

  • New raspios_lite_arm64 variant for Raspberry Pi OS builds
  • Add Ubuntu image support using export BASE_DISTRO=ubuntu in config (Fixes photoprism/photoprism#109) fb4b810
  • Add support to build on raspbian with the arm_64bit=1 0a2da75/commit/372654e138b046697045f1ba265d6bd65986348e )
  • Add support for other default users in dist generator is base module $BASE_USER variable
  • Fixes #66 Implement a mechanism for disabling image compression using export BASE_RELEASE_COMPRESS=no
  • Handle distro located in a nonexec path
  • You can now build from docker running sudo docker exec <container> build eddb08f
  • Better cleaning #65 (thanks @daniel Dunn )
  • Update qemu_boot.sh to use buster kernel
  • Also add qemu_boot64.sh`` to run 64 bit kernel
  • Workaround for rfkill not unblocking on boot RPi-Distro/pi-gen#385
  • make_custom_pi_os now also works in docker
  • Various fixes

Module changes

  • Major changes to the docker module, has now a docker-compose automatic boot control option where you place docker-compose file in /boot/docker-compose and it will autoamtically start and update them on boot, see for example [MtigOS docker setup[(https://github.com/guysoft/MtigOS/tree/devel/src/modules/mtigos/filesystem/boot/docker-compose)
  • Extend docker module, add docker-compose support, usermod support and Ubuntu 64bit
  • Fixes to the kernel module and compile config for RaspsberryPi 4
  • Add module to automatically mount removable devices to /media auto-mount-removable.
  • More fixes to admin-toolkit module (thanks again @asdf1nit )
  • Added new RaspberryPi 4 revision to GUI module GPU acceleration (thanks asdf1nit https://github.com/guysoft/CustomPiOS

CustomPiOS 1.3.0

Choose a tag to compare

@guysoft guysoft released this 17 Nov 11:13

This is the fourth release of CustomPiOS

This is the first release tag to support both an arm32v7 build architecture using the Docker image build method. Also It supports building images for the RaspberryPi 4 Raspbian distro. Armbian build has gone though some improvements.

Chagngelog

  • Handle multi-arch docker image support! - Docker image ships now both as amd64 and arm32v7. So you can run CustomPiOS builds from an arm device, such as a RaspberryPi. This is the first release tag to support both arches.
  • Added usage-statistics module
  • Behaviour change - Build variant now overloads distro config (bc7a246)
  • Add repo_recursive_var option to gitclone command.
  • Build variant now stored in /etc/dist_variant
  • Kernel build improvements
  • Add Debian Buster build support
  • Added cockpit module #54 - Thanks @asdf1nit !
  • Armbian build fixes (guysoft/OctoPi#599) - Thanks Lino77 !

Rapi4 build support:

  • GPU now script adapted to support Raspberrypi 4 (8876409)
  • Add support to Raspberrypi 4 kernel (5e1dbc0)

I am now taking donations!

If you use CustomPiOS note that I am a sole developer developing it at my free time. If my work has helped your project or profession please consider making a donation. Since I put the button I got the funding to move to a new OctoPi build server, the old one being 12+ years old.

donate url
Donate here

CustomPiOS 1.2.0

Choose a tag to compare

@guysoft guysoft released this 24 May 13:56

This is the third release of CustomPiOS

This release mainly is out to fix loopback device issues on docker, that were confirmed on Ubuntu 19.04 as the host machine.

Chagngelog

  • Fix Ubuntu 19.04, fails at losetup #46
  • Update to qemu_boot.sh to kernel-qemu-4.14.79-stretch
  • Add repo_recursive_var option to gitclone command.

Thanks to @WheresWaldo and @RyanBalfanz for reporting and testing out the fix for #46

CustomPiOS 1.1.0

Choose a tag to compare

@guysoft guysoft released this 24 Jan 14:50
aeff3fa

This is the second release of CustomPiOS

I am releasing because this is the first release with Docker support. The images is available at Docker Hub, and each new release should be avilable as a container. So you can use this method to easliy build against static versions of CustomPiOS.

Moreover several really nice features have been added, and it seems to be the right time.

Chagngelog

updates to modules

  • New docker module - now not only you can build CustomPiOS builds from docker, you can also have docker
    shipped with your RaspberryPi builds, thanks @maitredede!
  • New mysql module - gives you a running mysql mariadb database out of the box.
  • gui module - Fix regex bug in enabling compositing 010cacd, thanks @TheLastProject !
  • base module - add memsplit, timezone, locales, keyboard configuration , thanks @maitredede again!
  • ffmpeg module - Add Hardware accelerated FFmpeg encoding/decoding, thanks @tgerring !
  • Minor bug fixes (thanks @jofemodo for #37 )

Thanks everyone who contributed to this release, you make me happy, this is how FOSS should be 😃

CustomPiOS 1.0.0

Choose a tag to compare

@guysoft guysoft released this 30 Apr 12:32

This is the first release of CustomPiOS and leaving of beta.

We didn't have versions until now because I was not sure how CusotmPiOS will look.

Now that both OctoPi, FullPageOS and others are releasing I thought its time to organise.

There is a master branch for stable released, and a devel branch for changes.

If you are using CustomPiOS branch just checkout the master of devel branch.
You might need to do

git fetch origin
git checkout master

or

git checkout devel

for newer stuff.