Philipp's picture

Hi,

is there a possibility to upgrade the TKLDev-Appliance from Version 16.x to latest 17?

Or do I have to create a new TKLDev and "import" the custom projects?

Regards

Philipp

Forum: 
Jeremy Davis's picture

Personally, I always launch a fresh one every time we do a major version update (i.e. v15.x, v16.x, v17.x, etc). In my case, it's as much to test it and make sure it works reliably as it is to use the newer build. But I also use mine lots and I like to have a clean slate every so often. I have all my build code stored on GitHub and/or a local Gitea server, so just import from there.

I haven't explicitly tested it, but as TurnKey is Debian under the hood, doing a Debian style "in place" upgrade should work too. Others have done that sort of upgrade on other appliances and reported success, but I don't recall anyone explicitly doing that with TKLDev.

There should be plenty of info available online (try googling something like "upgrade debian buster to bullseye") but the official docs are probably the best place to start.

Before you do anything though, make sure that you have a good backups of everything, just in case the upgrade goes pear shaped. I use TKLBAM for protecting my important data but in specific cases such as this, I recommend also creating a "snapshot" type image backup, so if the upgrade goes wrong, you can quickly "rewind" exactly back to where you were.

If you are running TKLDev as a VM, then taking a snapshot should be easy. If you're running on bare metal, then it's a bit trickier. If you installed with LVM, then you can take a snapshot with that. Even if you don't have that, you could create an image with a tool like Clonezilla.

Good luck and please let us know how you go.

Philipp's picture

Hi Jeremy,

my project is already located in our interal git repository. Just tried to build the iso with "make", but got an exception error:

root@ke-tkldev02 .../products/core# make
deck -D build/bootstrap
deck /turnkey/fab/bootstraps/bullseye build/bootstrap
fab-apply-overlay /turnkey/fab/common/overlays/bootstrap_apt build/bootstrap;
fab-chroot build/bootstrap "echo nameserver 8.8.8.8 > /etc/resolv.conf";
mount: /turnkey/fab/products/core/build/bootstrap/proc: mount point does not exist.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/chroot/__init__.py", line 128, in mount
    subprocess.run(command, check=True)
  File "/usr/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['mount', '-t', 'proc', 'proc-chroot', '/turnkey/fab/products/core/build/bootstrap/proc']' returned non-zero exit status 32.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/fab-chroot", line 606, in <module>
    cmd_chroot(args.chroot, args.script, args.env, args.args)
  File "/usr/bin/fab-chroot", line 171, in cmd_chroot
    chroot = Chroot(chroot_path, environ=environ)
  File "/usr/lib/python3/dist-packages/chroot/__init__.py", line 175, in __init__
    self.magicmounts = MagicMounts(self.profile, self.path)
  File "/usr/lib/python3/dist-packages/chroot/__init__.py", line 107, in __init__
    self.mount()
  File "/usr/lib/python3/dist-packages/chroot/__init__.py", line 131, in mount
    raise MountError(*e.args) from e
chroot.MountError: (32, ['mount', '-t', 'proc', 'proc-chroot', '/turnkey/fab/products/core/build/bootstrap/proc'])
make: *** [/usr/share/fab/product.mk:570: build/stamps/bootstrap] Error 1

Same error with my product.

Any idea?
 

Regards

Jeremy Davis's picture

I assume that this is on a new server?! Downloading the boot strap should be a part of the firstboot initialisation. But for some reason, it appears that you don't have a bootstrap?! Perhaps try re-running the initial setup:

tkldev-setup

Add new comment