VirtualBox
If you are a Windows user, have you ever wondered how difficult it is to work with or experiment with tinycore?
This is bacause 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 Sun 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
The tutorial here will be focused on getting you up and running the simplest way.
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).
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/sdato delete & recreate partition 2, thenmkfs.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=800x600x24so 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
- Finally, we edit boot.ini (WinXp) or use bcdedit (Vista) or EasyBCD
to create a record in Windows Bootloader to allow us to boot into grub when in the "Choose your operating System" Screen. Read this link
to find out how.
- 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.