Adding ISO to Grub Boot
Grub is a boot loader that allows you to boot into different versions of Linux. This article will guide you through adding Tiny Core to a Grub Boot menu. To do this we will create a bootable ISO. For this tutorial we will be working from a local Ubuntu 16 virtual machine.
Pre-requisits:
- Root access to Ubuntu 16
The first step is to download the ISO file from the Tiny Core website. The easiest way to do this is to create a directory in your home directory called iso and use wget to download the iso into this folder:
cd
mkdir iso
cd iso
wget https://distro.ibiblio.org/tinycorelinux/9.x/x86/release/TinyCore-current.iso
Now we need to mount our ISO file to a directory at /mnt/tmp
sudo mkdir /mnt && mkdir /mnt/tmp
sudo mount -o loop -t iso9660 TinyCore-current.iso /mnt/tmp
Once the ISO is mounted make a directory at /tc. Copy the mounted ISO to our new /tc directory
sudo mkdir /tc
cp -r /mnt/tmp/* /tc/
Now we are going to edit the Grub auto loader file that is located at /etc/grub.d/40_custom.
NOTE: Use caution when editing this file and pay attention to the comments explaining how to edit the file and the notice about not changing the 'exec tail' line.
Add the following to the end of the /etc/grub.d/40_custom file:
menuentry "Tiny Core 32" {
set root='(hd0,1)'
linux /tc/boot/vmlinuz
initrd /tc/boot/core.gz
}
Any time you update Grub configuration files you must update refresh Grub
update-grub
Now reboot your system with reboot to see a loader screen with an option to select Tiny Core. If no boot menu appears during startup, press and hold the left shift key during boot to show a boot menu.
The actual booting of Tiny Core does not work! The menu item exists but for some reason cannot load kernal. Please leave suggestions in comments below.