TKLDEV Setup and Note taking
TKLDEV is the build system for TurnkeyLinux applications. It is very capable and somewhat easy to work with.
I am wanting to build some more capabilities into TKLDEV and so today I have started again with the process of working with it and shold be able to proceed with modifying it.
To do so, I installed from the TurnkeyLinux Hub, a TKLDEV Micro instance. As the name holds, it is a pretty small build. 1 GB ram, 10gb of HD space. Cost is not low: About $12 per month, but it can be killed pretty easily and built again.
First Task:
Working through the lack of documentation with TurnkeyLinux.
This can be quite problematic. However, if you read, and reread, forum entries, look at github documentation, and test and try things, things can work out.
- On Github: TKLDEV Doc - optimized builds
- In the Forums: BuildTasks Discussion:
There are several steps required for actually getting BuildTasks to start working.
- Get VMWare's OVF Tool working
- Login to VmWare
- IE: my.vmware.com
- Download the tool to your computer
- https://my.vmware.com/group/vmware/details?downloadGroup=OVFTOOL430&productId=742
- This link above is for version 4.30 of OVFTOOL (2019). You may want a newer version which you can get to at:
- https://www.vmware.com/support/developer/ovf/
- Then choose your release and choose the related link (hard to see on the page) https://code.vmware.com/tool/ovf
- https://my.vmware.com/group/vmware/details?downloadGroup=OVFTOOL430&productId=742
- Login via FileZilla to your TKLDEV appliance
- Ideally you will have a "downloads" or similar folder for files
upload your OVF Bundle File to that directory.
- Ideally you will have a "downloads" or similar folder for files
- In Shell, be sure the file has chroot 755 permissions
chmod 755 VMware-ovftool-(VERSION.and.control.name).bundle - Run the install code on your TKLDEV server inside SSH (use the correct syntax)
./VMware-ovftool-(VERSION.and.control.name).bundle - Run the Program
- Go through multiple pages of "licensing code" (Accept All)
- accept the Terms at the very bottom of the licensing agreement
- Then Create a Config Folder and Copy the Contents as outlined here:
- https://github.com/turnkeylinux-apps/tkldev/blob/master/docs/advanced/optimized-builds.rst
Configuration & Setup -
-
cd buildtasks/ mkdir config cp config.example/* config/.
-
run bin/vm-setup
-
- Login to VmWare
- Interpret the correct Syntax inorder to get various BT-s working
- Hint: actually type "./" where instructed to do so.
- ie: "./bt-iso" or "./bt-vm"
Issues:
Verification of ISO's (work through this)
Note that if there isn't already a Core ISO and matching hash file in /mnt/isos buildtasks will download it from the TurnKey mirror.
When that's finished, you should find an official Core TurnKey ISO (and matching hash file) in /mnt/isos/ and a Core container build in /mnt/builds/container/
Turnkey Mirrors are sometimes downloaded rather than ISO simply generated (see note 2 lines above)
Building from your own ISO
cd buildtasks/
./bt-iso new-app
Once that runs, simply run the relevant bt script. Don't forget to install the relevant dependencies.
./bt-vm new-app-14.2-jessie-amd64
ToDo's:
- Get Git Working
- Make Variations to build scripts
- Practice, Practice Practice
- Get Shortlist of "New App Setup"
Turnkey Mirror Links
Assorted Links of note:
- https://www.turnkeylinux.org/updates/tkldev
- https://hub.turnkeylinux.org/servers/
- https://www.turnkeylinux.org/blog/14.0-optimized-builds-pt2-proxmox-opennode-docker
- https://github.com/turnkeylinux-apps
- https://www.turnkeylinux.org/updates/tkldev
- https://github.com/turnkeylinux-apps/tkldev/blob/master/docs/advanced/optimized-builds.rst
- https://github.com/turnkeylinux/buildtasks
- https://github.com/turnkeylinux/buildtasks/blob/master/docs/setup
- https://github.com/turnkeylinux/buildtasks/tree/master/config.example
- https://www.turnkeylinux.org/forum/support/tue-20190305-0939/how-are-turnkey-ova-produced
- https://www.turnkeylinux.org/forum/general/fri-20190125-1345/moving-gitlab-appliance-upstream-omnibus-package
- https://my.vmware.com/group/vmware/details?downloadGroup=OVFTOOL430&productId=742
- https://www.virtual-odyssey.com/2017/11/26/install-vmware-ovftool-ubuntu/
- https://www.gitmemory.com/JedMeister
Issues at hand:
- Cloning
- Making New Code
- Using the new code
- Integrating into the repository or simply using the repository as a base, but using local changes
Update Note 10-22-2019
- I have gone through the OVFTOOLS notations above to be clear as to process.
FKIT has made a good video here: https://www.youtube.com/watch?v=vseorvzwu-k - I have started forking my own repositories and working on new builds. Doing one for Joomla3 right now. Forking TKLDEV and Buildtasks and bringing them in to see if they work with few changes. First MAKE is running now.
- Did also upgrade my Putty Application to 64BIT and current.
- Waiting for the build as we speak. Takes a while on a small server.
- Once build it is important to look into the /mnt folder for names created, but also to understand the bt-vm command above for the first build.