After a huge amount of searching and investigating I have at last managed to conquer this problem.
Yes the answer is out there somewhere, but you have to know what you're asking for and it helps if you understand the Grub terminology, Puppy terminology and also Ubuntu/Mint terminology.
The experts can do this with ease, I'm sure; but for new linux users, and those who want to start experimenting after a few years with one distro I intend this to be the one page answer.
I am not going to pretend I'm any sort of expert on other linux stuff as I'm learning all the time, but I think I have found the easiest way to tackle this particular problem here.
First of all – The problem
Many Linux distros still use Grub Legacy and will probably continue to do so, however, the most popular – Ubuntu and Mint have moved to Grub2 and consequently instructions on setting up frugal installs and Grub from Puppy distros don't work. (You cannot just follow Grub Bootloader Config (in System) instructions and hope to get your new distro working, as it is based on Grub Legacy and this is not properly compatible with Grub2.)
So here is the way to do it so that your frugal install Puppy will appear in Ubuntu's/Mint's Grub2 menu (and boot up too).
I will make the assumption that
a. you already have a recent version of Ubuntu/Mint running on your PC or laptop.
b. you have already prepared a partition (fat32, ext2 or ext3) for your frugal install and you know the partition's label.
1. Boot up your PC with your live Puppy CD/USB.
a) Either use Puppy Universal Installer (in Setup) or manually copy the necessary files to your new puppy partition (instructions for this can be found fairly easily).
b) Ignore the final suggestion that you use Grub Bootloader Config.
c) Check that the relevant files have been copied to your new puppy partition.
2. Log out and reboot into Ubuntu/Mint
a) Open up the Terminal
b) Type:
Code: Select all
sudo gedit
d) Use gedit to open the 40_custom file (File system/etc/grub.d/40_custom).
e) Add in a second line under - '#!/bin/sh' – This will provide visual notification in Grub2 that the '40_custom' file is being read.
Code: Select all
echo "Adding 40_custom menu entries." >&2
g) Now type:
Code: Select all
menuentry "Puppy 431 frugal on sda6" {
set root=(hd0,6)
linux /puppy431/vmlinuz psubdir=puppy431
initrd /puppy431/initrd.gz
}
EOF
1. Open Terminal
2. Type:
Code: Select all
sudo nautilus
Code: Select all
sudo pcmanfm
4. Right click on '40_custom' file
5. Left click on 'Permissions'
6. Check 'Make executable' button
7. Close your file manager.
i) Update Grub
1. Open Terminal
2. Type:
Code: Select all
sudo update-grub
j) Reboot and you should be presented with a choice of OS on the newly updated Grub menu.
If you would rather have Puppy as your default – once you have added the script to '40_custom' – Go to File/Save As and change the name of your file to '07_custom'. This will place Puppy before the default Ubuntu/Mint entry. Ensure that you make this new file 'Executable' otherwise Grub won't see it.
Best of luck!