Wednesday, September 11, 2019

Generate JDK11 TCZ for Tiny Core Linux

Tiny Core does not provide an official JDK build for Tiny Core 10. The java-installer.tcz available for Tiny Core 10 does not work with OpenJDK 11 (This is the case for all the previous versions of Tiny Core also).  You can use the Docker scripts in the following Github repository to generate a jdk11.tcz from OpenJDK11 binaries.

1) Clone the hpmtissera/tinycore-jdk11-tcz repository from Github

https://github.com/hpmtissera/tinycore-jdk11-tcz.git

 2) Download required OpenJDK11 tar.gz file from https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases and copy it inside tinycore-jdk11-tcz folder.

ex. OpenJDK11U-jdk_aarch64_linux_11.0.4_11.tar.gz

3) Run build.sh script

./build.sh

4) The script will generate a file named jdk11.tcz.

Monday, September 2, 2019

Use Redhat VDO in Tiny Core Linux

Virtual Data Optimizer (VDO) is a compression/deduplication layer developed by Redhat. (https://www.redhat.com/en/blog/look-vdo-new-linux-compression-layer)

To use VDO in Tiny Core we need to install both KVDO and VDO TCZs. KVDO contains the kernel modules. 

Tiny Core does not have an official KVDO or VDO TCZs. KVDO does not work with the default Tiny Core 10.x distribution. It is necessary to build a Tiny Core Kernel with custom configurations. 

The build.sh script in https://github.com/hpmtissera/tinycore-kernel-build.git can be used to build Tiny Core Kernel with suitable configurations for VDO. After the build is completed generated vmlinuz64, corepure64 and other kernel components copied to the kernel-artifacts folder should be used instead of the defaults from http://tinycorelinux.net/10.x/x86_64/release/.

To build KVDO use the build.sh script in https://github.com/hpmtissera/kvdo-tinycore.gitYou can use the build.sh script in https://github.com/hpmtissera/vdo-tinycore to build Redhat VDO.  

By default, these scripts will build TCZs for Tiny Core:10.0-x86_64 (Kernel: 4.19.10-tinycore64).

Also, note that you need to use "depmod" command to load kernel modules after installing KVDO TCZ.
A TCZ for Python Yaml module is included in vdo-tinycore. This python3.6-yaml.tcz and python3.6.tcz
are required dependecies for vdo.tcz. (Please note that there can be few other trivial dependencies)

Sunday, August 25, 2019

Use ZFS in Tiny Core Linux

ZFS is a combined file system and logical volume manager designed by Sun Microsystems. ZFS is scalable, and includes extensive protection against data corruption, support for high storage capacities, efficient data compression, integration of the concepts of filesystem and volume managementsnapshots and copy-on-write clones, continuous integrity checking and automatic repair, RAID-Z, native NFSv4 ACLs, and can be very precisely configured. (From Wikipedia)

Tiny Core Linux does not offer an official ZFS tcz. You can use the script in https://github.com/hpmtissera/zfs-tinycore to build a ZFS TCZ file for Tiny Core. By default it will build Tiny Core:10.0-x86_64 (Kernel: 4.19.10-tinycore64). But you can change the base image version (https://github.com/hpmtissera/zfs-tinycore/blob/master/Dockerfile#L1) and kernel version (https://github.com/hpmtissera/zfs-tinycore/blob/master/Dockerfile#L29) in the Dockerfile to build ZFS for the required version.