Legacy grub entry needs absolute pathname or blocklist
PuppyThis forum is for the discussion of Puppy Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Legacy grub entry needs absolute pathname or blocklist
I am configuring two elderly laptops for a couple of grandsons reaching junior high. Brand new hard drives on both so no Windows of any sort. Have installed PcLinuxOS LXDE (Ubuntu and Mint won't run on the machines) and have configured the LXDE nicely. Trying to make an entry in the PCLinuxOS grub (legacy version) menu.lst to boot Puppy 5.1.1 in a hard drive install. Hard drive install of Puppy went nicely. All attempts to change grub so far have failed including all the examples I have found on Puppy linux websites (tried the main site first - no joy.)
I have the entry for Puppy appearing in the grub display on bootup but when clicked, it fails to boot Puppy and gives error message "Filename must be either an absolute pathname or blocklist."
The entry now in menu.lst is
title Puppy kernel (hd0,1) /puppy511/vmlinuz BOOT_IMAGE=vmlinuz root=UUID=bedce7de-efbc-40a9-bdf9-19774441f656
initrd (hd0,1) /puppy511/initrd.gz
This format matches the entries for PCLinuxOS but does not boot.
When I formatted the hard drive, I made an extended partition (sda1) for PCLinuxOS. The extended partition has logical partitions for root, home, and swap. I made a second Permanent partition (sda2) for Puppy.
I don't know where to go from here. Grub thinks I don't have an absolute path or blocklist but I don't know what I am missing.
Can anyone help? TIA.
Last edited by msnthrp; 10-31-2010 at 05:41 PM.
Reason: SOLVED: seen entry below.
If this is a true hard drive install and not a frugal install to a hard drive your menulst entry should be this:
Quote:
title puppy
root (hd0,1)
kernel /boot/vmlinuz root=/dev/sda2 ro vga=normal
Unless puppy 511 is different puppy doesn't use an initrd on a hard drive install. this assumming puppy is installed to the second partition of your first hard drive.
Last edited by colorpurple21859; 10-31-2010 at 10:02 AM.
Synopsis
Two older laptops to be configured for twin 11-year old boys. Experimented with what would run on the machines and chose to dual-boot PCLinuxOS LXDE and Puppy Linux 5.1.1. Reformatted two new hard drives into sda1 (extended partition) and a small sda2 (permanent partition, 2GB).
Subsequent weeping, wailing, and gnashing of teeth is omitted to allow family audiences. Had no significant problems installing PCLinuxOS LXDE into sda1. Made Frugal install of Puppy 5.1.1 into sda2. Tried numerous entries into the PCLinuxOS legacy grub menu.lst - none worked. Prowling around the sda2 files I found that frugal install does not provide the conventional /boot/grub directory that is needed as a location to which the menu.lst can go, at least in the version used in PCLinuxOS.
I reinstalled Puppy using the Full install and told it to install grub into the MBR with the files in /dev/sda2. This resulted in generating the missing /boot/grub/menu.lst. Rebooting into Puppy, I copied the entry for Puppy to be used later.
title Puppy Linux 5.1.1 on sda2
root (hd0,1)
kernel /boot/vmlinuz root=/dev/sda2
savedefault
boot
Rebooting into PCLinuxOS, the system froze - it did not like the Puppy grub. Using the PCLinuxOS live CD, I went to the Menu > More Applications > Configuration > LXDE Restore MBR program and restored the original PCLinuxOS MBR. This restore also found "Unknown Linux Distribution on sda2" so as root I changed the PCLinuxOS /boot/grub/menu.lst to "Puppy Linux 5.1.1 on sda2". Saved the file back to the hard drive.
Rebooted again (twice) and both PCLinuxOS and Puppy booted as chosen. SUCCESS!!
This worked for me. If you are using other Linux distributions and having trouble getting Puppy to dual-boot, try the full install method. I know that in Grub2 where you have to modify 40_custom and then run update-grub, grub2 does not pick up a Frugal install. In a few days, I will be installing a new distro on my main machine and may follow up on how to get a dual boot workng there. Should be interesting since I want to run Linux Mint 10, PC-BSD, and Puppy on the same machine with only Grub2 boot loader! Wish me luck.
things to watch out for......some puppy variants do not use inode 256 but 128.
What does that mean to you?
if you format a partitiion for say puppyx using inode 128 .....then make sure you use chainloader and install its grub or grub2 to its partition and not into MBR where you are already on inode 256.
Most distros use a mkfs command that is set to inode 256 by default but can may be able to set "whatever" puppy variant or another distro to 256 by this command
Code:
su (or sudo)
mkfs.ext3 -i 256 /dev/sdxn
where sdxn is your target partition
2) if you are wondering why I am so excited to mention this its because I failed to research a puppy variant and got burnt.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.