This is an old revision of the document!
Table of Contents
If you are a Windows user, have you ever wondered how difficult it would be to work with or experiment with tinycore?
This is because many people would find it inconvenient to boot into tinycore every time they need to make a small change, cook up a package, or simply experiment.
I have a great suggestion that would ease your pains. You can actually boot tinycore within a virtual machine like Oracle VirtualBox. This will allow you to boot TinyCore as a “window” within your existing OS, and even works on Windows!
There are 3 ways of doing this, of which the last one I like best. The last one is a Hybrid Boot setup, allowing booting TinyCore from a disk partition after the BIOS, and also within Windows itself as a VirtualBox VM instance reading from the same disk partition.
Note: This tutorial emphasizes on Safety. There is very very little chance of corrupting your hard-drive or existing Operating System. For example, VBoxManage commands restricts write to only the new partition.
Windows Host Os
Method 1: VBox Boot from Mounted Tinycore ISO
Download the ISO of your choice (TinyCore, CorePlus, or Core). Start VirtualBox, click on New, which will start the New Virtual Machine Wizard, and click Next. Enter a VM name, and select OS Type Linux version Linux 2.6. Select how much memory you want to use, remembering that TinyCore caches everything in memory, so the more memory, the better. The next step allows you to create a virtual hard disk. If you will want to install TinyCore to disk, go ahead and create one. The default minimum of 8 gigabytes is fine. Otherwise, uncheck the checkbox, and click Next. At the last screen, click Create. You will be sent back to the VirtualBox main screen. Select your new VM, and click on Start, this will start the First Run Wizard. Click Next and at the Select Installation Media screen, click on the directory browsing icon, and navigate to the location of the ISO you downloaded earlier. Select the ISO, click Next and click Start. The new VM should boot, and you should see the TinyCore boot prompt.
Method 2: VBox Boot from Tinycore Virtual Disk
The tutorial here will be slightly more complicated as you would need to initialize a .vdi virtual-disk file, then perform installation of Tinycore on the virtual disk.
Method 3: VBox Boot from Tinycore Virtual Physical Parition
The tutorial here will be slightly more tedious, but not more complicated, exploiting a lesser known feature that allows VBox to boot from a physical partition residing on your disk.
This produces a Hybrid Boot setup where you can boot Tinycore within Windows and also normally from BIOS (to gain the best performance). Paragon Ext2Browser (read & write) is used to allow you to copy files in and out of Tinycore (from within Windows).
::STEPS:: Part A
- EUSEAS Partition Manager Home (freeware) is used to shrink the existing NTFS partition by a meager 2GB. Other partition managers like gparted can be used. Then, a new unformatted partition is created in the free space.
- The VBox Partition Pointer file (.vmdk) is created with
VBoxManage internalcommands createrawvmdk -filename PhysicalDrive0-Partition2.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 2 -mbr C:\grub.mbr -register
(grub.mbr here is an empty “notepad” file we created.) (Win Vista: console/cmd with Administrator access is required for this step) Read more on VBoxManage
Part B Note: This part requires understanding of the Official TC Install Guide. All steps are exactly the same as the official install guide, except you are doing it from Windows through the VM. The partition does not need the bootable flag, thus you can skip the whole part regarding cfdisk. For beginners, it would be good to follow along the nice screenshots in the official guide.
- We then boot Tinycore in VirtualBox from the Mounted Tinycore ISO. (Win Vista: Start VirtualBox as Administrator)
- And do ^fdisk /dev/sda^ to delete & recreate partition 2, then
mkfs.ext3 /dev/sda2
- Grub extension is first installed from the Appbrowser. Boot files are then copied from /mnt/hdc/boot to /mnt/sda2/boot. Grub special files also. The /mnt/sda2/boot/grub/menu.lst is created. You can also add the xvesa option to the kernel option of grub to set the desktop resolution
kernel /boot/bzImage quiet xvesa=800x600x24
so when it runs in a window it fits on the screen. The vga option only affects the terminal. - Grub is initialized with root (hd0,1) and setup (hd0,2) and setup (hd0).
- Lastly, the grub MBR is extracted with
dd if=/dev/sda2 of=/home/tc/grub.mbr bs=512 count=1
.
Part C
- Paragon Ext2Browser is installed giving us access to the ext3 partition we created from within Windows. We copy out the /home/tc/grub.mbr to C:/grub.mbr
- Shiretoko, Xfe, Xfw extensions are installed to give the common user some ease.
Help needed
- It would be nice if someone can create an automated (tce.installed) batch script for Part B, package it up a an extension (which has a dep on grub extension), and submit it to the online repository. This would make Tinycore more accessible to the masses out there.
- The tutorial above need more detailed elaboration, which I hope anyone who tries the tutorial can help complete.
- People with ingenious ideas of how Portable VirtualBox can be used to deliver a USB flash disk that boots TC. The TC can be from a hidden ext3 partition on the USB flash disk, not necessarily from a file.
- Method 3 can also be adapted to the case that you already have an existing Tinycore installed in a partition, but now would like to boot it in VirtualBox on Windows.