Has anyone dual booted Puppy + Ubuntu with GRUB2?

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#31 Post by mikeb »

Looks neat shinobar...perhaps post this in the 'additional software' section too

regards

mike

mawebb88
Posts: 246
Joined: Sun 13 Jul 2008, 09:54
Location: France nr Lyon

GRUB2 and pfic=ram kernel panick

#32 Post by mawebb88 »

Hi

I have both 412 and 431 booting fine with Ubuntu 9.10/GRUB2. But then I tried adding pfix=ram:

Code: Select all

#
menuentry "Puppy-412 in RAM" {
    set root=(hd1,1)
    linux /puppy412/vmlinuz psubdir=puppy412 pfix=ram
    initrd /puppy412/initrd.gz
}
#
and reboot selecting this item I get kernel panic!

Anyone seen similar problems or any idea of a work around?

Rgds Mike

Fishback
Posts: 56
Joined: Sun 24 May 2009, 06:08

#33 Post by Fishback »

I'll add my experience with Karmic and Grub 2. Much of this has been stated previously in this thread, but perhaps one more voice will help someone else.

On my old laptop, I dual-boot Ubuntu and Puppy. (Why? Even though I prefer Puppy, it's problematic on this old hardware, and also because establishing and maintaining a wireless connection with Puppy is VERY problematic.) I recently installed Ubuntu Karmic 9.10 from scratch, which included Grub 2. It was supposed to pull in the settings from Grub 1 - - which it did, except for my Puppy frugal installation. So, I had to do a fair amount of research, along with lots of trial and error to get Grub 2 to properly list and start my frugal Puppy. Info from this thread and other places helped me get my puppy back.

Here's the skinny on updating & modifying Grub 2 via Karmic:
1. It does not use the configuration file 'menu.lst' from Grub 1. Instead, it stores the menu items and configuration info in grub.cfg, in the '/boot/grub' folder.
2. The grub.cfg file is not meant to be manually modified. You update it via the terminal by executing the following command - 'sudo update-grub'. You can, of course, update grub.cfg manually, but your manual entries will be erased at the next Ubuntu update.
3. To update grub.cfg, you add your script(s) to the file '/etc/grub.d/40_custom'. After saving the file, you then execute 'sudo update-grub', which modifies grub.cfg by looking for additional major operating systems on your computer, and by adding the information you entered into the file '40_custom'.

After installing Karmic, it was clear that to get my puppy install back I had to add the menu entry info from my old menu.lst file (which the Grub 2 install left intact) into the file '40_custom'. Unfortunately, the syntax has changed in Grub 2, along with how and where you make changes to the menu selections. Also, partition numbering now starts at 1 instead of 0. Here's a comparison of my the menu data for grub 1 and grub 2.

Grub 1
title Puppy Linux 4.30 (retro)- Frugal Install
rootnoverify (hd0,4)
kernel /puppy430/vmlinuz pmedia=idehd psubdir=puppy430 nosmp pfix=fsck
initrd /puppy430/initrd.gz
Grub 2
menuentry "Puppy Linux 4.30 (retro)- Frugal Install" {
set root=(hd0,5)
linux /puppy430/vmlinuz pmedia=idehd psubdir=puppy430 nosmp pfix=fsck
initrd /puppy430/initrd.gz
}
Note the changes:
1. 'title' has become 'menuentry'
2. title text needs to be in quotation marks
3. 'rootnoverify' has become 'set root='
4. partition numbering now starts at 1 instead of 0
5. 'kernel' has become 'linux'
6. You now need to have brackets setting off all of the menu entry settings except the menuentry heading.

SO, the Grub 2 developers changed pretty much everything about grub, much of it seemingly for no reason other than to be different. This is what happens when you let software developers loose with no supervision. Because they understand the code so well, I've seen time and time again that software developers make programs overly and unnecessarily complex for the other people who will use it.

The code may be extremely functional - even brilliant. But folks, we're talking about a bootloader here and as it stands now it's a POS. How in the world can you expect the average person to understand how to modify their boot menu? And what appears in this thread only scratches the surface - there are many pages of Grub 2 'user information' on the web. Someone new to bootloaders will likely quickly give up and return to the warm folds of Microsoft.

If you have patience and a strong cup of coffee at the ready, here's Ubuntu's community documentation for Grub 2. https://help.ubuntu.com/community/Grub2

One final note: Grub 2 takes twice as much time to load, compared to Grub 1. After turning my laptop on, there are several seconds of non-activity before Grub 2 decides to load. The first couple of times I booted I thought it had hung. That's progress fer ya.

Likely, I'll revert to Grub 1 in the next few days. And I really, really hope that Puppy doesn't come armed with Grub 2 until it's ready for prime time, and the masses.
Last edited by Fishback on Mon 16 Nov 2009, 04:20, edited 1 time in total.

User avatar
alienjeff
Posts: 2265
Joined: Sat 08 Jul 2006, 20:19
Location: Winsted, CT - USA

#34 Post by alienjeff »

To paraphrase an American PSA (public service announcement): friends don't let friends install Ubuntu.

Reference: http://www.youtube.com/watch?v=MsSIpDK16c4
[size=84][i]hangout:[/i] ##b0rked on irc.freenode.net
[i]diversion:[/i] [url]http://alienjeff.net[/url] - visit The Fringe
[i]quote:[/i] "The foundation of authority is based upon the consent of the people." - Thomas Hooker[/size]

Fishback
Posts: 56
Joined: Sun 24 May 2009, 06:08

#35 Post by Fishback »

Ubuntu is fine. It's the choice of the Ubuntu community to distribute Grub 2 with their latest release that makes no sense.

ICPUG
Posts: 1308
Joined: Mon 25 Jul 2005, 00:09
Location: UK

#36 Post by ICPUG »

Thanks for the info on Grub2 Fishback.

I knew they were going to change numbering to start from 1 rather than 0, I thought to make it more logical for the non programmers.

From your notes, (e.g. hd0,5), it seems disk numbering still starts from 0 but partitions start from 1! How does that help anybody?

Grub4Dos is the best, (in my opinion), but if Ubuntu starts using Grub2 we have to start thinking about it - if only to give the right instructions for dual booting Puppy with Ubuntu.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#37 Post by mikeb »

Grub4Dos is the best, (in my opinion), but if Ubuntu starts using Grub2 we have to start thinking about it - if only to give the right instructions for dual booting Puppy with Ubuntu.
Easy...suggest using grub4dos...already has ext4 and 256 inode support

mike

davesurrey
Posts: 1198
Joined: Tue 05 Aug 2008, 18:12
Location: UK

#38 Post by davesurrey »

I have no problems with what Fishback wrote, especially as I wrote very much the same earlier on this thread, :-) please see http://www.murga-linux.com/puppy/viewto ... 423#356423

But Fishback has chosen to add the grub stanza to the 40_custom file, which is a sort of template, whereas I believe the Grub folk suggest adding a new config file eg 41_puppy. If you do this then you need to add an important step in making it executable. See my previous post.

Also apparently some grub2 versions need grub-makeconfig rather than update-grub.

I could be wrong as the documentation is far from good but I've not come unstuck yet. (famous last words).

HTH
Dave

Jim1911
Posts: 2460
Joined: Mon 19 May 2008, 20:39
Location: Texas, USA

File name

#39 Post by Jim1911 »

But Fishback has chosen to add the grub stanza to the 40_custom file, which is a sort of template, whereas I believe the Grub folk suggest adding a new config file eg 41_puppy.
Other names may be more appropriate especially if you want your puppy to show up at the top of your menu.

From ubuntu's grub2 instructions.
#When "update-grub" is executed, Grub 2 will read /etc/default/grub and the files in contained in the /etc/grub.d folder. This combination will set the visual parameters of the grub menu (/etc/default/grub) and search for linux kernels, other operating systems, and items designated in user-created scripts in /etc/grub.d. The script files in /etc/grub.d perform the following tasks:
* 10_linux searches for installed linux kernels.
* 30_os-prober searches for other operating systems.
* 40_custom and any other user-created files in the /etc/grub.d folder add menu items designated in the script files created by users.
# The name of the file determines the order in the menu. 30_os-prober entries will be placed before 40_custom entries, which will be placed before any higher-numbered entries.
Since "update-grub" reads the above files in order, if the name is 41_puppy, your puppy files will be placed at the bottom of your menu. If you want to get higher on the menu, your new custom file should be named something lower than 10_linux, ie 07_puppy.



Jim
Last edited by Jim1911 on Wed 18 Nov 2009, 02:25, edited 2 times in total.

Fishback
Posts: 56
Joined: Sun 24 May 2009, 06:08

#40 Post by Fishback »

Both ICPUG and mikeb suggest using grub4dos. I haven't used grub4dos but I accept that it's a much better alternative to Grub 2. Unfortunately, Grub 2 is offered as part of the Karmic install. So, dual-boot Puppy users who install Karmic from scratch will be faced with an immediate decision on whether to install or update to Grub 2. If Grub 1 is already installed, you do have the choice of keeping it or upgrading. But the newest version of a software app is always better, right? Grub 2 may be an upcoming major headache for the Puppy community.

Davesurry pointed out that I modified the 40_custom file. Initially, I created a new script file (copied over the header info and made it executable) but for some reason the contents of that file were not pulled into grub.cfg. The constant rebooting on my old laptop was wearing thin, so that's when I decided to modify the 40_custom file. It worked and I never looked back. This problem could have been due to some undocumented need for a specific naming convention, or something else. But my experience indicates this may be another major Grub 2 issue that will appear in the Puppy forums.

davesurrey
Posts: 1198
Joined: Tue 05 Aug 2008, 18:12
Location: UK

#41 Post by davesurrey »

Fishback wrote:
Davesurry pointed out that I modified the 40_custom file. Initially, I created a new script file (copied over the header info and made it executable) but for some reason the contents of that file were not pulled into grub.cfg.
How did you make it executable?
I used

Code: Select all

 sudo chmod +x /etc/grub.d/41_puppy
assuming your new file was 41_puppy. Change as appropriate.

Can you show us your original (non 40_custom ) file so we can see what might be wrong. What were the first 2 lines of the file?

Thanks
Dave

Fishback
Posts: 56
Joined: Sun 24 May 2009, 06:08

#42 Post by Fishback »

The file I created was named 40_puppy and it had the exact same contents as 40_custom. I deleted 40_puppy but here's the full contents of 40_custom:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Puppy Linux 4.30 (retro)- Frugal Install" {
set root=(hd0,5)
linux /puppy430/vmlinuz pmedia=idehd psubdir=puppy430 nosmp pfix=fsck
initrd /puppy430/initrd.gz
}
I used the same command that you did to make the file executable, with the file name changed of course. I also made the file executable via the file's properies.

davesurrey
Posts: 1198
Joined: Tue 05 Aug 2008, 18:12
Location: UK

#43 Post by davesurrey »

Thanks Fishbank,
I still feel this whole thing is a bit of trail and error, especially as Grub2 is still in Beta !!!

So, have you tried eliminating

Code: Select all

nosmp pfix=fsck 
from the stanza?
Also try adding EOF at the last line of the script.
Then update-grub again.

I had a lot of trouble until I really simplified the script.



Dave

jeditalian
Posts: 45
Joined: Wed 18 Nov 2009, 07:20

#44 Post by jeditalian »

i didnt check how old this thread is, but since its dealing with 9.10 and 4.3.1, it cant be very old.
when you fixed your grub.cfg, did you have to go through setup every time you booted puppy? because i did. and having to go through setup every time means half the time i will end up with an invisible mouse cursor. but at least you got puppy and koala to cooperate. i couldnt figure it out because i couldnt edit the grub.cfg, until i discovered "gksudo nautilus".
i'm new to every live distro except knoppix, and i never installed knoppix to hd because i didnt know about synaptic package manager, and the equivalent of ubuntu software center, which is exactly what i needed to make a hd install worthwhile. i like puppy linux so much that i am considering (after backing up some files, or at least moving them to a separate partition) wiping my hard drive and installing puppy first, if that will defeat the karmic koala grub situation. i was happy with the boot selection that my bios provided. i know grub is better, with command prompt option and all, but with the old way, new installations would just show up on the boot select prompt. i didnt know the TMP/whatever that tells me what to put in my nonexistent menu.lst file was not going to the TMP directory on the partition that i installed puppy to, so i will have to do the live cd thing again tomorrow and save the file to see if what i put in my grub is the reason that it isnt using the puppy save file, making me gothru setup everytime i want to boot puppy.
i thought knoppix was fast.. puppy is awesome! ubuntu is slower than both of them, even when ubuntu is running off the hard drive and the other two are running live. ubuntu live is the slowest thing i've ever seen. you would think i was running on my old commodore 64lol
hey can we upgrade a c64 and run puppy? lol jk, i didnt mean to write a novel here, but i did.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#45 Post by mikeb »

Funny how the discussions on this subject now resemble the problems encountered when dual booting with windows. So has ubuntu become the new challenge for linux to offer an alternative too...constantly endeavouring to monopolise the market? :D
For anyone wishing to try grub4dos with the latest and greatest ubuntu..
bootlace.com /dev/blah
installs the bootloader and menu.lst format is as grub 1

mike

davesurrey
Posts: 1198
Joined: Tue 05 Aug 2008, 18:12
Location: UK

#46 Post by davesurrey »

mikeb

An interesting observation but one that I see no evidence to support.

FWIW
As far as booting is concerned (ie this thread) grub2 is not ubuntu and ubuntu is not grub2. They just happen to be one of the first to use grub2. Personally I don't like it (grub2, although still in beta) as it stands today but folk often resist change. But the facts, as far as this very small sample called "me" is concerned, say that I have never had a windows nor ubuntu boot problem but have had many with Puppy. Installing Debian Lenny and Fedora 12 today I found that grub2 picked them up automatically. No sweat.

I'm keeping an open mind on it.

Dave

User avatar
DaveS
Posts: 3685
Joined: Thu 09 Oct 2008, 16:01
Location: UK

#47 Post by DaveS »

davesurrey wrote:mikeb

An interesting observation but one that I see no evidence to support.

FWIW
As far as booting is concerned (ie this thread) grub2 is not ubuntu and ubuntu is not grub2. They just happen to be one of the first to use grub2. Personally I don't like it (grub2, although still in beta) as it stands today but folk often resist change. But the facts, as far as this very small sample called "me" is concerned, say that I have never had a windows nor ubuntu boot problem but have had many with Puppy. Installing Debian Lenny and Fedora 12 today I found that grub2 picked them up automatically. No sweat.

I'm keeping an open mind on it.

Dave
Dave...... I suspect Grub2 would pick up a full Puppy install. I suspect it is the frugal system that poses the problem. It would after all, just look like any ordinary folder to an install program, not a whole operating system?
Spup Frugal HD and USB
Root forever!

davesurrey
Posts: 1198
Joined: Tue 05 Aug 2008, 18:12
Location: UK

#48 Post by davesurrey »

Hi DaveS
That's an interesting thought which has got my (rapidly reducing) grey matter into gear.
Grub2 has picked up all my distros except puppy frugals and tinycore. Although to be honest it picked up Slitaz but it didn't work.

Also I never got grub 0.97 to pick up any puppy successfully.

I'll do a puppy full install to check this out.

Thanks
Dave

EDIT:
I tried a full install of Puppy 431 and Grub2 picked it up. More than I have ever managed before. Good news. Thanks for the tip DaveS.

User avatar
alienjeff
Posts: 2265
Joined: Sat 08 Jul 2006, 20:19
Location: Winsted, CT - USA

#49 Post by alienjeff »

Image
[size=84][i]hangout:[/i] ##b0rked on irc.freenode.net
[i]diversion:[/i] [url]http://alienjeff.net[/url] - visit The Fringe
[i]quote:[/i] "The foundation of authority is based upon the consent of the people." - Thomas Hooker[/size]

User avatar
Rink
Posts: 1
Joined: Wed 06 May 2009, 12:45
Location: Port Elizabeth
Contact:

#50 Post by Rink »

Actually, they revamped Grub to Grub2 to add support for the newer file systems which Grub was having trouble with.

The problem is that they made it a lot less intuitive, with any changes to grub.conf liable to be overwritten.

As regards the motivational poster showing Ubuntu users as crybabies, my own experience is that the sudo implementation is in place to protect the system against mistakes by newbies which could damage the system, and it's a very worthwhile precaution.

Ubuntu has succeeded where a lot of distros have failed in weaning a very large set of users away from Microsoft, and for that they should be applauded.

And they've done that by protecting their users from what is going on 'under the hood' as much as possible.

With regard to the Grub impasse, I'm using grub4dos but I am finding Karmic doesn't start up and bombs out to Busybox; it would seem that I need to provide it with boot parameters, but these are not apparent from my grub.cfg file.

Post Reply