grub2 minimal configuration entry THIS IS UNRELIABLE
Posted: Thu 27 Nov 2014, 17:32
EDIT: sorry folks- the wind changed direction, or something, and it stopped working.
EDIT2: Silly me- I'd been trying some other ideas, and forgotten the final "update-grub". Working again now.
EDIT3: DON'T DO IT. This is unreliable, Grub needs more than this.
I run Mint 17, Debian 7.7, and Slacko 5.7 on my Thinkpad T60 laptop.
The bootloader is GRUB2, residing in Mint ('cos that's the latest long term support version, and will stay for years). The grub2 autofind function is a bit snooty, and refuses to find Puppy- so an entry in /etc/grub.d/40_custom has to be created.
I read lots of topics in lots of forums, and lots of grub2 configuration manuals, but could not understand most of what they said had to go into the configuration file- mainly because they were all different.
Eventually, I realised that all grub2 needs to be told is where to find the vmlinuz and initrd.gz files. Everything else was either default values or it could work it out.
My Puppy is a frugal install. Initially, I had all files installed directly into the partition.
Puppy is on the first and only hard drive, in partition 6. To edit /etc/grub.d/40_custom you can either use the distro where it resides, but you have to use sudo or become root. It's easier to use Puppy to mount the (in my case Mint) partition, and then edit /etc/grub.d/40_custom file using Puppy.
Note that when you edit this file you must not touch what is there already- just add your own lines below that. So here's my first go:
menuentry "Slacko" {
linux (hd0,6)/vmlinuz
initrd (hd0,6)/initrd.gz
}
Simple, isn't it? That really is (in my case!) all the information that is needed.
After doing this and saving the file, you need to boot your major distro, and open a root terminal, and do:
#update-grub
then reboot, and you should see Puppy at the bottom of the menu list. Click on that, and Puppy should boot.
If you want to put several Puppies in sub-folders, the entry becomes:
menuentry "Slacko57" {
linux (hd0,6)/slacko57/vmlinuz
initrd (hd0,6)/slacko57/initrd.gz
}
for a Slacko in a folder named slacko57.
Gerry
EDIT2: Silly me- I'd been trying some other ideas, and forgotten the final "update-grub". Working again now.
EDIT3: DON'T DO IT. This is unreliable, Grub needs more than this.
I run Mint 17, Debian 7.7, and Slacko 5.7 on my Thinkpad T60 laptop.
The bootloader is GRUB2, residing in Mint ('cos that's the latest long term support version, and will stay for years). The grub2 autofind function is a bit snooty, and refuses to find Puppy- so an entry in /etc/grub.d/40_custom has to be created.
I read lots of topics in lots of forums, and lots of grub2 configuration manuals, but could not understand most of what they said had to go into the configuration file- mainly because they were all different.
Eventually, I realised that all grub2 needs to be told is where to find the vmlinuz and initrd.gz files. Everything else was either default values or it could work it out.
My Puppy is a frugal install. Initially, I had all files installed directly into the partition.
Puppy is on the first and only hard drive, in partition 6. To edit /etc/grub.d/40_custom you can either use the distro where it resides, but you have to use sudo or become root. It's easier to use Puppy to mount the (in my case Mint) partition, and then edit /etc/grub.d/40_custom file using Puppy.
Note that when you edit this file you must not touch what is there already- just add your own lines below that. So here's my first go:
menuentry "Slacko" {
linux (hd0,6)/vmlinuz
initrd (hd0,6)/initrd.gz
}
Simple, isn't it? That really is (in my case!) all the information that is needed.
After doing this and saving the file, you need to boot your major distro, and open a root terminal, and do:
#update-grub
then reboot, and you should see Puppy at the bottom of the menu list. Click on that, and Puppy should boot.
If you want to put several Puppies in sub-folders, the entry becomes:
menuentry "Slacko57" {
linux (hd0,6)/slacko57/vmlinuz
initrd (hd0,6)/slacko57/initrd.gz
}
for a Slacko in a folder named slacko57.
Gerry