Tiny Core Linux (TCL) is a minimal Linux operating system focusing on providing a base system using BusyBox and FLTK, developed by Robert Shingledecker.The distribution is notable for its size (11 to 16 MB) and minimalism, with additional functionality provided by extensions. Tiny Core Linux is free and open source software and is licensed under the GNU General Public License version 2. - Wikipedia
In Unetlab, Linux OS just have an option to deploy in live cd nowadays. So I try a little enhancement to deploy tinycore in virtual hardware. From unetlab a virtual hardware just proposed for windows OS. So after learn from many references, I try to make trick how to build linux qemu and identify in Unetlab, as Windows qemu
The Core Project is a highly modular based system with community build extensions.
It starts with a recent Linux kernel, vmlinuz, and our root filesystem and start-up scripts packaged with a basic set of kernel modules in core.gz. Core (11MB) is simply the kernel + core.gz - this is the foundation for user created desktops, servers, or appliances. TinyCore is Core + Xvesa.tcz + Xprogs.tcz + aterm.tcz + fltk-1.3.tcz + flwm.tcz + wbar.tcz
TinyCore becomes simply an example of what the Core Project can produce, an 16MB FLTK/FLWM desktop.
CorePlus ofers a simple way to get started using the Core philosophy with its included community packaged extensions enabling easy embedded frugal or pendrive installation of the user's choice of supported desktop, while maintaining the Core principal of mounted extensions with full package management.
It is not a complete desktop nor is all hardware completely supported. It represents only the core needed to boot into a very minimal X desktop typically with wired internet access.
The user has complete control over which applications and/or additional hardware to have supported, be it for a desktop, a netbook, an appliance, or server, selectable by the user by installing additional applications from online repositories, or easily compiling most anything you desire using tools provided. source : tinycorelinux.net
The latest version is 7.0. But I try to build the 5.2 in here. To know how to build in your Virtualbox, you may refer to this link : https://github.com/achyarnuandi/Micro-Core/wiki
How to Deploy
- Upload to unetlab server
- Tar the ova file
tar xf ../tmp/TinyCore-1.0.ovaverify:
root@achyarnurandidotnet:/tmp# ls -la total 18040 drwxr-xr-x 2 root root 4096 Apr 28 16:28 . drwxr-xr-x 24 root root 4096 Apr 27 19:03 .. -rw-r--r-- 1 root root 9229824 Apr 28 16:12 TinyCore-1.0.ova -rw------- 1 root root 9214976 Apr 28 16:12 TinyCore-disk1.vmdk -rw------- 1 root root 13355 Apr 28 16:12 TinyCore.ovf root@achyarnurandidotnet:/tmp#
- Convert vmdk file to qcow2 file
/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 TinyCore-disk1.vmdk hda.qcow2verify:
root@achyarnurandidotnet:/tmp# ls -la total 28412 drwxr-xr-x 2 root root 4096 Apr 28 16:31 . drwxr-xr-x 24 root root 4096 Apr 27 19:03 .. -rw-r--r-- 1 root root 10682368 Apr 28 16:31 hda.qcow2 -rw-r--r-- 1 root root 9229824 Apr 28 16:12 TinyCore-1.0.ova -rw------- 1 root root 9214976 Apr 28 16:12 TinyCore-disk1.vmdk -rw------- 1 root root 13355 Apr 28 16:12 TinyCore.ovf root@achyarnurandidotnet:/tmp#
- This part is tricky, because unetlab just proposed for windows host and linux live cd (not linux host), maybe soon for linux host. It's the trick, I create file with word Win-7-xyz, where the xyz refer to my linux host (in this case I try tinycore)
root@achyarnurandidotnet:/tmp# ls /opt/unetlab/addons/qemu/ -l total 16 drwxr-xr-x 2 root root 4096 Apr 27 09:34 timos-12.0.R6 drwxr-xr-x 2 root root 4096 Apr 27 09:36 vmx-14.1.R1 drwxr-xr-x 2 root root 4096 Apr 28 16:38 win-7-Tinycore-1 drwxr-xr-x 2 root root 4096 Apr 27 09:37 xrv-k9-5.2.2 root@achyarnurandidotnet:/tmp#
- Move the hda.qcow2 file to folder /opt/unetlab/addons/qemu/win-7-Tinycore-1
mv hda.qcow2 /opt/unetlab/addons/qemu/win-7-Tinycore-1verify:
root@achyarnurandidotnet:/tmp# ls /opt/unetlab/addons/qemu/win-7-Tinycore-1/ -l total 10372 -rw-r--r-- 1 root root 10682368 Apr 28 16:31 hda.qcow2 root@achyarnurandidotnet:/tmp#
- Clean then fix permissions
rm -rf tmp /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
- Try to running node,
click more action, then click start all nodes
- Double Click the node, the VNC player will appear like below
So Finally, You can use tinycore for testing propose as a server. I do same with centos. so I can make unify LAB for several use case :)