GRUB4DOS

Forum member shinobar recently posted to the forum about the GRUB4DOS package used in the Japanese edition of Puppy:

Japanese Puppy: http://openlab.jp/puppylinux/index.html.en
GRUB4DOS PET package: http://shino.pos.to/linux/puppy/

I think that I read awhile back that the GRUB in pup 431 has a problem with number of inodes for ext4. Forum member CatDude has researched this and come up with a replacement, which also has a graphical boot interface:
http://www.murga-linux.com/puppy/viewtopic.php?t=49873

Both of these are very interesting. I decided to test shinobar's GRUB4DOS 0.4.4v1.4.1. It has a nice simple GUI and all seemed to go well, but when I booted all I got was this message:

GRUB Loading stage1.5

...then it hung.

The GRUB4DOS GUI offered to install to the MBR of sda, and I accepted the default. But, my PC has mixed SATA and IDE drives, and that is the problem. What Linux sees as sda (SATA), GRUB4DOS looks at the other one first (the IDE drive) -- and I previously had GRUB on the MBR of the IDE drive.

The solution was to choose sdb MBR to install GRUB4DOS.

I think that a solution to this problem would be for the GRUB4DOS installer to detect mixed IDE and SATA drives and default to install on the IDE drive. However, I don't know how to auto-detect that anymore -- on older kernels it was easy, as IDE drives had 'hd' naming, SATA drives were 'sd'.

I intend to modify the Puppy Universal Installer to work with shinobar's GRUB4DOS installer, so I could put in a warning.

I unplugged the IDE drive, then when I installed GRUB4DOS to sda, it booted ok. The problem is just that search-order, IDE found first.

One other point to note: I read somewhere that although GRUB4DOS will recognise ext4 partitions, it should not be installed to an ext4 partition. Which I take to mean, if installed to MBR of say sda, with 'menu.lst' and 'grldr' in sda1, then sda1 must not be ext4.


Posted on 11 Dec 2009, 8:24


Comments:

Posted on 11 Dec 2009, 11:04 by jameshch
I love grub4dos ...
... in fact, I have been using it for about a year now. It works beautifully. I like having a boot loader which consists only of 2 parts - the mbr and the actual boot loader (grldr), which, if you install on a harddisk, is not even visible (it's installed in the reserved area of the harddisk).

It even makes a fine replacement for syslinux, isolinux, and the likes on USB and CD drive. Very fine piece of work, indeed.

And very fitting for puppy, you don't have to worry any /boot directory - all you have to do is edit menu.lst (which can be anywhere).

I only have one concern - the project seems abandoned. Last update is March 2009, and the version of GRUB used as the base is 0.97 - way back in 2005.

I do hope that when GRUB2 is mature, someone will update GRUB4DOS with it. Otherwise GRUB4DOS will all the new features of GRUB, such as booting with different inode, booting on ext4 and btrfs, etc etc ...


Posted on 11 Dec 2009, 15:37 by Raffy
SATA and IDE mix
(Posted something about grub4dos in your latest Universal installer post. Sorry, did not see this earlier.)

Yes, I remember now the classic problem of mixed SATA and IDE drives. I guess that when the CD drive is an IDE, the problem shows up.


Posted on 11 Dec 2009, 19:51 by shinobar
ext4 fs on sda1
Hi Barry, thanks to your interest.

My PC also has IDE/SATA mixed. The grub4dos recognized SATA 1st in my case.
Think it depends on the BIOS.

As for ext4 fs on sda1, grub4dos fails.
My Grub4DosConfig v1.4x uses grub 1st in this case and chains grub to grub4dos so that any of vfat/ntfs/ext2/ext3/ext4 are allowed.

thanks.


Posted on 11 Dec 2009, 20:06 by Gilbert
Drive Order
The problem is that the BIOS has its' own way of listing the drives -grub doesn't have access to that info, and neither does the kernel. In fact the grub 'utility' or program may not see things the same way as the stage1 sees it. I haven't heard *yet* of a way to find out what the BIOS 'thinks' of the drives -it contains machine code which orders the drives each time the machine is booted.