Core v16.0 RC (Release Candidate) is on the way...

Update 2020-05-04: We've finally published our first batch of 10 v16.0 appliances. Please see the full announcement for details.

Update 2020-03-10: v16.0rc1 ISOs of both Core and TKLDev are now available.

We don't yet have a downloadable ISO of any v16.0 appliances yet, but a release candidate ISO of Core shouldn't be to far away (fingers crossed, next week). For those who are particularly keen, it's possible to create a test build of the Core v16.0RC1 right now, on the existing v15.0 TKLDev!

[update 2020-03-03] I've made a few tweaks and improvements. I've updated the relevant parts below, and added an "Updates" section further down.

I could (should?) perhaps be waiting to post a proper announcement blog post when I actually have download links for you?! When I actually (and finally) have a published TurnKey Linux Core v16.0RC1 ISO to share... But I still want to do some last minute testing and have some final tasks before we're ready. So to satisfy the community members who are chomping at the bit to have a play with v16.0, rather than having to wait for us to publish it, I thought it might be useful to share some info. I've made some modifications to buildcode on v15.0 TKLDev, so that v16.0RC ISOs can be built really easily. Actually, seeing as I somewhat prematurely merged all the code into the master branches of many of the repos, perhaps even easier than the old v15.x ones?! :)

Deep apologies to anyone trying to build v15.x builds on TKLDev. FWIW, if you are still wanting to work on v15.x builds for some reason, please let me know and it should be possible to still make that work. Although, in almost all scenarios, I suggest that working with v16.x is the way to go moving forward.

So without further ado, here's how to build a v16.0RC1 Core ISO:

Set up TKLDev

If you already have TKLDev setup, then all you should need to do is pull the latest commits for buildtasks and the bt-iso script (as per below) should take care of the rest (including pulling the latest commits for core, common and other stuff). Hopefully you understand what I mean and can sort that yourselves. If not, please ask in the comments or start a new thread in the forums and I'll be more than happy to explain.

If you don't already have TKLDev installed, then please start off by downloading the relevant build from the TKLDev appliance page (personally I recommend the ISO, but that's up to you). Then install it to a new VM (e.g. on VIrtualBox or similar). If you're not sure how to do that, please consult the VirtualBox tutorial (this should generally apply to other Virtual Machine hosts, but some specifics may be different). The tutorial is actually for Core, but the process for other appliances, including TKLDev is essentially the same. As part of the set up process, TKLDev should download a few bits and pieces, including cloning a few of our repos from GitHub. Please let that run it's course. It shouldn't take too long. I suggest also installing the security updates, which will also mean a reboot.

Once you are greeted by the Configuration Console screen (if you install security updates, after a reboot) then you are good to get started with your v16.0RC1 Core build. Even if you want to try your hand at other appliances, it's probably best to build core first as it's the smallest, most simple appliance. And building it via bt-iso will build the bootstrap and set up a few other components.

Building Core v16RC1

It should be as simple as this:

# enter buildtasks directory
cd /turnkey/buildtasks

# make sure that you have the latest commits
# this is assuming you haven't made any changes to default
# also, you can rtun this any time to pull the latest commits
git pull origin master

# create config dir (the defaults will be fine)
cp -r config.example config

# Until I push packages to the 'buster main' TurnKey repo, you'll need to enable 'buster-testing'
export TKL_TESTING=y
# no longer required as I've now pushed packages to the 'buster main' repo

# Strictly speaking, this shouldn't be necessary because of the tweaks I've made to bt-iso, but for good measure
export RELEASE=debian/buster

# Now run the build
./bt-iso core

And then sit back and wait... Assuming that you're internet connection is ok and you have enough free space, then this should result in successfully building an ISO. The last few lines of output should look similar to this:

gpg: key 76231C20425E9772: public key "TurnKey GNU/Linux Buster Images (GPG signing key for TurnKey Linux Buster Images) " imported
gpg: Total number processed: 1
gpg:               imported: 1
INFO [generate-signature]: writing hash file
mount: /dev/loop0 is write-protected, mounting read-only
deck -D build/root.patched
deck -D build/
deck -D build/bootstrap
rm -rf build/root.spec build/cdroot build/product.iso build/log build/stamps

And if you have a look in /mnt/isos, you should see something like this:

root@tkldev /turnkey/buildtasks# ls -lah /mnt/isos/
total 314M
drwxr-xr-x 3 root root 4.0K Feb 27 05:23 .
drwxr-xr-x 4 root root 4.0K Jun 28  2018 ..
-rw-r--r-- 1 root root  23K Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.changelog
-rw-r--r-- 1 root root 314M Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.iso
-rw-r--r-- 1 root root  470 Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.iso.buildenv
-rw-r--r-- 1 root root 2.0K Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.iso.hash
-rw-r--r-- 1 root root 8.8K Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.manifest
drwxr-xr-x 2 root root 4.0K Feb 27 05:23 turnkey-core-16.0rc1-buster-amd64.tklbam


I've just tweaked some of the info above as I've now pushed the new packages to 'buster main". Also if you had previously built an ISO and found that the installer wasn't working properly. Apologies about that. I discovered that too and have now fixed it in buildtasks ('bt-iso'). So make sure that you have the latest commits there, like this:

cd /turnkey/buildtasks
git pull origin master

I'm on the final stretch now to do the "proper" build so we can publish v16.0rc1! I'm pretty excited and somewhat relieved too. It's been a long haul and we're a fair bit behind schedule, but hopefully not too much longer now until we have a published v16.0rc1 of Core (and I'll do a TKLDev too!). Then soon after that, we can start publishing v16.0 stable appliances! Yay! :)

Give us some feedback!

If you have any troubles getting that working, then please let me know via the comments below. If you hit any bugs in Core, then also please let me know ASAP (hopefully I can fix them prior to the RC1 release?!).

Also, if you want to test out some other appliances, then that should work too. Although you may need to make some tweaks for v16.0. So long as you have already successfully built v16.x Core, and you set 'export RELEASE=debian/buster' (and for now, 'export TKL_TESTING=y') then you should be able to build within the particularly appliance's products directory, via 'make'.

Before working on new appliances, please double check that there aren't already outstanding Pull Requests that just haven't been merged yet?! If you want to work on a particular appliance, please also let us know so that we can minimise any risk of "doubling up".

If you need any pointers or have any further ideas, then please share the love...! :)

Add new comment