TinyCore 15 x64 Virtual Machine – very small VM for testing

I recently made a post about building a new TinyCore 15 virtual machine for testing. As with past VM builds of this distribution, I used the x86 CorePlus ISO image. I had someone ask me why I didn’t use the x86 Pure 64 version instead. I didn’t have a good reason, only that many years ago I had struggled to get it working, but didn’t remember any of the details on what problem I encountered. This post will cover steps very similar to the previous article, but building the x86-64 port in a virtual machine.

The Virtual Machine

When creating the virtual machine, I used the following options:

  • Compatible with: ESXi 6.7 U2 and later (vmx-15)
  • Operating System: Linux / Other 4.x or later Linux (64-bit)
  • 1 vCPU
  • 1 GB RAM
  • 1 GB disk (thin provisioned)
  • Expand Video card > Total video memory = 8MB (when using GUI, for CLI only I left it at the default 4MB)
  • VM Options tab > Boot Options > Firmware = BIOS

These are the same options used in the x32 version of this article, with the exception of the ‘operating system’ selected in step 2.

The Install

  • Power on VM
  • Open Remote Console (the one that launches VMRC or VMware Workstation, not the web console)
  • Attach to a local TinyCorePure64 ISO image (specifically I used this ISO: http://tinycorelinux.net/15.x/x86_64/release/TinyCorePure64-current.iso)
  • CTRL+ALT+INS to reboot
  • Select Boot TinyCorePure64 (default)
  • Select Apps > Click the Apps button (top left) > ‘Cloud (Remote)’ > Browse
  • Find the Remote Extension tc-install-GUI.tcz
  • Change the toggle in bottom left to ‘Download + Load’ and click Go. A window with progress should appear, this will take a minute to complete.
  • Click the installation button on the task bar. Select Frugal > Whole Disk > sda > install boot loader > ext4
  • Install Extensions from this TCE/CDE Directory, left as default /mnt/sr0/cde
  • Proceed
  • When the display says “installation has completed”, Exit > Shutdown.
  • Power On VM (this will ensure that the CD is no longer connected and boot into the install)
  • The VM likely boots to the error failed in waitforX and leaves you at a tc@box:~$ command prompt.


In the previous article, I created a bit of automation to build a TinyCore appliance to set hostname, include my CA certificate, install open-vm-tools, install Firefox if using a GUI. For this x86-64 version, I’m going to use that same script.

After following the above instructions to install, we should be at a failed in waitforX console. Running the script which installs open-vm-tools will resolve this issue. The previous article outlines the script, its placement on a web server, and some other ancillary files. Assuming those dependencies are already in place, we only need to run:

wget http://www.example.com/build/buildscript2.txt
mv buildscript2.txt buildscript2.sh
chmod +x buildscript2.sh
./buildscript2.sh tc-150x64-gui

The above commands will set the hostname to tc-150x64-gui, and since gui is part of the name, will also install graphical components open-vm-tools-desktop as well as Firefox. Our internal CA will also be trusted at the command prompt and in Firefox. Once the script is complete, we can sudo reboot and confirm everything boots up. When we launch Firefox we’ll be able to see that it is the 64-bit version (from Help > About Firefox).

For a CLI version of this VM, I also made changes to /mnt/sda1/tce/onboot.lst to only include ca-certificates.tcz, curl.tcz, pcre.tcz, and open-vm-tools.tcz. I saved these changes by running backup and then rebooting again to confirm success. After exporting these to OVA files, I now have a folder with a variety of VMs that can be quickly deployed as needed.

This entry was posted in Virtualization. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


Notify me of followup comments via e-mail. You can also subscribe without commenting.