Page 2 of 7

Posted: Sat 31 Oct 2009, 16:33
by mikeb
@Mike Just future compatibility with other distributions. See https://wiki.ubuntu.com/Grub2 for additional information.
ah ok....I use grub4dos whose latest version has such support it seems...just wanted to get picture of the changes thanks

regards

mike

Posted: Sat 31 Oct 2009, 17:26
by davesurrey
Jim1911,

My /etc/grub.d/41_puppy file is

Code: Select all

#!/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 431 frugal on sdb5" {
set root=(hd1,5)
linux   /puppy431/vmlinuz  root=/dev/ram0 psubdir=puppy431
initrd  /puppy431/initrd.gz
}
EOF
Note the #! bin/sh and the exec tail lines at the start. Does yours have this?

Dave

Posted: Sat 31 Oct 2009, 17:36
by DaveS
mikeb wrote:So what exactly does grub 2 deliver to justify the changes with respect to puppy?

mike
Mike, I think I am right in saying one needs Grub 2 for ext4 support, which is absent in Grub 1

Posted: Sat 31 Oct 2009, 17:55
by mikeb
Mike, I think I am right in saying one needs Grub 2 for ext4 support, which is absent in Grub 1
sounds right plus 256 indode support...grub4dos covers these but keeping the same menu.lst format....perhaps it will change in time to match grub2 who knows

mike

Posted: Sat 31 Oct 2009, 18:04
by Jim1911
@DaveS Mike, I think I am right in saying one needs Grub 2 for ext4 support, which is absent in Grub 1

I am using Grub 1 and it supports a number of ext4 partitions without any problems.

Jim

Posted: Sat 31 Oct 2009, 19:31
by davesurrey
DaveS wrote
Mike, I think I am right in saying one needs Grub 2 for ext4 support, which is absent in Grub 1
Jim1911 wrote
I am using Grub 1 and it supports a number of ext4 partitions without any problems.
AIUI both are sort of correct. As mikeb has said before what is now becoming know as Grub-1 or Grub legacy hasn't been officially supported for a while. Until recently grub (versions 0.9X) didn't support ext4 (and most puppies use this version of grub.) But there have been (unofficial?) patches to grub to allow use of ext4. I understand Puppy 431 uses this.

I have been more than happy using Grub Legacy, until this week, for multi-booting but if I have to jump to another system I think it's a good time to do it now using Ubuntu 9.10

Apart from official support for ext4, and of course the fact that it's being actively developed, it does seem to be better at detecting other distros and for those who want it (not me) it will allow nice and pretty boot-splash screens.

But just as with Grub legacy, it didn't recognise any puppy nor TinyCore Linux.

I'd have a look at Grub4dos but I'm unsure of one thing. Can I use it on a pc that doesn't have any trace of MS ie no Dos or Windows installed at all? mikeb perhaps you could kindly confirm? But there again I might only be holding off grub-2 for a while as perhaps grub4dos will be "embracing" the grub2 way soon?

Cheers
Dave

Posted: Sat 31 Oct 2009, 21:12
by mikeb
I'd have a look at Grub4dos but I'm unsure of one thing. Can I use it on a pc that doesn't have any trace of MS ie no Dos or Windows installed at all? mikeb perhaps you could kindly confirm? But there again I might only be holding off grub-2 for a while as perhaps grub4dos will be "embracing" the grub2 way soon?


in the grub4dos package there is bootlace.com

bootlace.com /dev/sda (it can be run from dos too!)

will write to the mbr so that grldr is booted so basically running just like normal grub (but on more file system types)..this is how I use it now and use chainloader for windows (bootsector is unaffected or chainload ntldr directly)

so ...bootlace, grldr to (any) partition root, make yer menu.lst...done

mike

grub4dos and ext4

Posted: Sun 01 Nov 2009, 01:00
by shinobar
mikeb wrote:so ...bootlace, grldr to (any) partition root, make yer menu.lst...done
my experience, grldr to an ext4 partition fails.
if the grldr on any other (ntfs/vfat/ext2/etx3) partiton, it can boot up Linux or Windows from any partion including ext4.

Posted: Sun 01 Nov 2009, 01:08
by mikeb
my experience, grldr to an ext4 partition fails.
if the grldr on any other (ntfs/vfat/etx3/ext3) partiton, it can boot up Linux or Windows from any partion including ext4.
thanks for the tip...I expect that will get incorporated soon. It's main target is multiboot with windows arrangements so to be expected.

mike

grub4dos-0.4.4.v1.4

Posted: Mon 02 Nov 2009, 08:05
by shinobar
get and try grub4dos-0.4.4.v1.3.pet or grub4dos-0.4.4.v1.4.pet(2Nov updated) from here.
install on Puppy 4.3x.

it supports ntfs/vfat/ext2/ext3 and even ext4.
if you like to dual boot Puppy + Ubuntu 9.10, follow the next step.
  1. install ubuntu (can be ext4 file system).
  2. boot up Puppy 4.3x from live CD.
  3. install grub4dos-0.4.4.v1.3.pet.
  4. create a folder at the top layer of any partition, say '/mnt/sda1/puppy'.
  5. copy all contents of the live CD to the new folder.
  6. Menu > System > Grub4DosConfig
  7. Replay 'OK' to all dialog.
  8. Eject CD and reboot computor.
multiboot with Windows (9x/2000/XP/Vista/2008/7) also quite easy.

Posted: Mon 02 Nov 2009, 13:27
by mikeb
Looks neat shinobar...perhaps post this in the 'additional software' section too

regards

mike

GRUB2 and pfic=ram kernel panick

Posted: Tue 03 Nov 2009, 20:46
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

Posted: Mon 16 Nov 2009, 03:04
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.

Posted: Mon 16 Nov 2009, 03:07
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

Posted: Mon 16 Nov 2009, 03:45
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.

Posted: Tue 17 Nov 2009, 13:21
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.

Posted: Tue 17 Nov 2009, 13:29
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

Posted: Tue 17 Nov 2009, 14:08
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

File name

Posted: Tue 17 Nov 2009, 14:45
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

Posted: Tue 17 Nov 2009, 23:55
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.