Boot TempleOS with Grub2 - Slapparoo/TempleOS-EE GitHub Wiki

Boot TempleOS with Grub2

GRUB loader screen shot

Setup a dual boot so you can have TempleOS installed on a partition and Linux on another, this works on both physical hardware and inside a Virtual Machine.

On the physical/virtual disk you can have one or two FAT32 partitions where TempleOS is installed and other partitions for Linux etc.

When TempleOS is installed it creates a Bootable partition very similar to DOS, windows 95, 98 and several other OS's so booting using Grub is a simple configuration.

Grub does not recognise TempleOS so the menuitems need to be manually added to Grub.

I have only done this in Ubuntu but it should be similar for all Linux based systems using Grub2

Summary

the process outline is thus:


Perform an install on linux with following disk partions
3 disk partitions (probably 4 one swap) in virtualBox allocate around 14Gb Disk space
partition 1 FAT32 400Mb (tosc)
partition 2 FAT32 400Mb (tosd)
partition 3 EXT4  ~12Gb (linux)
partition 4 SWAP  some space

Edit /etc/defaults/grub
Edit /etc/grub.d/40_custom
run update-grub

Configure Grub2

First of all edit the grub defaults so the menu shows at startup

Edit /etc/defaults/grub change the following lines:

#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10

Edit /etc/grub.d/40_custom

40_custom is where custom menu entries are added to grub. Add menu entries for the number of TempleOS partitions you have installed. The key part is getting the partition correct in Grub the partitions a 1 based as opposed to 0 based, so if TempleOS is installed on the first partition on the first harddrive the entry will be root=(hd0,1), the second partition on the first drive will be root=(hd0,2).

For the senario below TempleOS is installed on c drive and d drive which are the 1st and second partitions on the harddrive

Add the following lines which will create 2 menu entries:

menuentry "TempleOS C" {
  set root=(hd0,1)
  chainloader +1
}

menuentry "TempleOS D" {
  set root=(hd0,2)
  chainloader +1
}

run sudo update-grub