====== VMware Installation ======
There are a few things to note if you would like to install Tiny Core Linux into a [[http://www.vmware.com/|VMware Virtual Machine]].\\
Similar things apply when you use the [[https://www.virtualbox.org|VirtualBox]] virtualization software.
==== Key Points ====
VMware does not have a pre-defined Guest Operating System choice for Tiny Core Linux. Select the 'Guest operating system' as Linux. Use the appropriate Other-type version for the kernel used. Tiny Core Linux 9.x by default uses Linux kernel 4.14.10 32-bit so the appropriate choice is 'Other Linux 4.x or later kernel'. USB 3.0 is supported if the hardware exists. Select 'Accelerate 3D graphics' under the Display option to enable DRM.
==== Hard Drives ====
VMware products will create a SCSI virtual hard drive for a Linux VM when using the new VM wizard. This controller is not recognized by the Tiny Core Linux kernel. This will become evident when no hard drive is detected during installation. Depending on the VMware product and version there may or may not be a 'Virtual Device Node' setting available in the 'New Virtual Machine Wizard'. If this cannot be selected when the hard disk is created, it is necessary to delete it and create a new one before powering on the virtual machine. The procedure for this depends again on the product and version. For some, you must go to 'Edit virtual machine settings' from the Virtual Machine page/tab. For others, you can click the SCSI drive drop down, then remove then 'Add Hardware' and add a new hard disk. You may reuse the virtual disk file created earlier. If available, the easiest configuration is to use the SATA adapter, otherwise choose IDE.
==== Installation ====
Boot from the CorePlus ISO image, and select 'Boot Core with X/GUI + Installation Extension'. Once booted, select the TC-install icon at the right end of the icon bar, select 'Whole Disk' and 'sda'. Click through the 'Next' buttons and the 'Proceed' button. When the dialog displays 'Installation has completed' close the dialog, and reboot the VM using the Power icon at the left end of the icon bar. After the VM reboots, click the Power icon on the left again and select 'Exit to Prompt'. At the prompt type 'tce-load -iwl open-vm-tools-desktop'. After all the extensions have downloaded, edit /etc/sysconfig/tcedir/onboot.lst so that it appears as follows:
open-vm-tools-desktop.tcz
aterm.tcz
flwm_topside.tcz
wbar.tcz
Edit ~/.profile (before TERMTYPE statement) to add support for shared host folders:
[ $(which vmware-checkvm) ] && [ vmware-checkvm ] && [ -d /mnt/hgfs ] && vmhgfs-fuse /mnt/hgfs
Edit ~/.xsession (between mouse_config and ICONS) to add support for desktop resizing and copy/paste:
[ $(which vmware-checkvm) ] && [ vmware-checkvm ] && vmware-user &
Type 'backup' and answer 'Y' to save these changes. At this point the VM should be rebooted using 'sudo reboot'.
==== Suggested Settings ====
* RAM: 64 MB minimum if text only; for GUI consider at least 256MB
* Select 'Accelerate 3D graphics' under the Display option to enable DRM
* Network Adapter: Depending on the product and version the network adapter may either be a pcnet32 or vmxnet3
* Network Adapter Connection: NAT (an Internet connection is suggested; Bridged may also work but is host-configuration dependent)
* Virtual hard disk: SATA default is 8 GB
* The shared folders will be accessible to the 'tc' user only, not even root can access the /mnt/hgfs directory.
* The desktop wallpaper and wbar will not adjust automatically to window resizing. For best results set the wallpaper to one color, no gradient or logo, and wbar to be vertical in the upper left corner
* The default terminal 'aterm' graphics do not work well with the VMware driver. Use 'rxvt' instead
* Udev has been known to crash VM's. Set 'udev.children-max=24' in the kernel command line to prevent this
==== VMWare and Open VM Tools Capabilities Known to Work ====
* Automatic resizing of the desktop with the guest window including full screen support (reposition wbar to upper left of desktop)
* Multi-monitor full screen support including cycling through displays
* Automatic mouse grab and ungrab
* VMXnet3 network module in place of the PCNet32 module
* Access to host devices such as USB drives
* USB 3.0 is supported
* Host shared folder access using HGFS (mounted at /mnt/hgfs)
* Time synchronization with host
* Copy/paste between host/guest
* Sound (requires alsa and alsa-config extensions)
Because VMWare doesn't provide prebuilt binaries for TC, the automatic update feature can't work.