Grub: booting an old Puppy 4.20 on Grub 2 - hidden Grub commands

For discussions about programming, and for programming questions and advice


Moderator: Forum moderators

Post Reply
Eastler_Dart
Posts: 80
Joined: Wed Aug 05, 2020 3:34 am
Has thanked: 1 time
Been thanked: 8 times

Grub: booting an old Puppy 4.20 on Grub 2 - hidden Grub commands

Post by Eastler_Dart »

Hello all :-)

on my Lappy are many Puppies, also an old one, I think it's name was Puppy 4.20,
installed as fullinstall on a own Partition.

after that I also installed PrecisePuppy, which was the one I worked with.
Online Banking wants a 64-bit OS, so there comes Tahr-Puppy,
only used for banking.
After that I had a look at Barrys Easy-Os, but because I had done lot works
on PrecisePuppy I kept that for all day use.
Next comes Upup-EF, as a newest possible Puppy in 32-bit
and the step to 64-bit can't be stopped, FossaPup is also here.

All went good. With the graphical Legacy-Grub I was able to boot all of them.

A little time ago I had to have a fully new SVG-Editor, to get a old SVG-Document
(lots of Things there in) readable/changed to the actual newer SVG-Form.
Thats why I have installed UbuntuSid, and that was only possible with
changing my grub to grub2.

The automated Grubinstall had build a bootmenu with all the entries
from the legacy grub. All my puppies are bootable with the exception
of the old Puppy 4.20.

Today I stumbled in the GrubShell and saw the command
legacy_configfile :-)
ok, in the shell i load the two modules:
insmod part_msdos
insmod ext2

then set the root var to the partition of the old puppy 4.20
set root='hd0,msdos3'
with that the old menufile is loadable, so I started
legacy_configfile /boot/grub/menu.lst
UPS :-) Grub 2 had read, translated the old menu.lst in grub2-form
AND SHOWS THAT MENU
stepping to the 4.20-Bootline and hit enter
Kernel loaded, starts to work, but I see a lot of Errors most something
like 'readonly'.
Ok, had to reboot the machine, go again in grub-shell and load the old menu.lst.
Now i step to the menuline of 4.20 and hit e (for edit)
there I saw more unknown commands, but no one gave me a hint,
how to get rid of the 'readonly' problem.
Some Internetsearches are showing, that these legacy.... commands
are in less use, found only one tip, which sounds hopefull.
Add at the end of the kernel-commandline a 'rw'.
So I added that in the edit-modus, with Esc back to the (old) menu
hit enter and . . . Puppy 4.20 boots perfectly to the desktop.

MY PROBLEM:
I wrote the commandlines from the Consoleloaded old menu
into the Grub2 grub.cfg Menü, and there it doesn't work :-(
The Kernel gots loaded, starts to work and results in kernel-panic

Here the working lines, when they are in the legacy_configfile menü
AND NOT WORKING when they are in a normal menuline definition
in grub.cfg:

Code: Select all

menuentry 'puppy 4.2 Kernel 2.6.25.16DEas  (full /dev/sda3)' --class linux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-8ae0fce3-705a-4558-afea-8a2512d98cb8' {
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos3'
	set legacy_hdbias='0'
    legacy_kernel '/boot/vmlinuz' 'root=/dev/sda3' 'ahci=on' 'uhci=on' 'ehci=on' 'noacpi' 'rw'
}

It seems, that Grub2 reacts in a other form, when an old menu is loaded with legacy_configfile,

the old menu.lst (for grub 0.97) is:

Code: Select all

# Start der GLOBAL-SEKTION von GRUB
timeout 15  # wenn 15 Sekunden nix gedrueckt wird, autom. starten
color light-gray/blue black/light-gray # Farben, fuer Grub im Textmodus
gfxmenu /boot/grub/message                # message = aus themes-OpenSUSE
default 13 # (5=BUMP 6=DSO-Puppy) beim Automatischen Start den ersten Eintrag (0) starten
# Ende der GLOBAL-SEKTION von GRUB
#############################################################
# 0))) Andere bootbare Partitionskonfiguration beginnt
  title Windows Arbeiten (sda1)
  hide (hd0,1)
  unhide (hd0,0)
  rootnoverify (hd0,0)
  makeactive
  chainloader +1
# Andere bootbare Partitionskonfiguration endet
#############################################################
# 2))) Linux bootbare Partition beginnt:
  title PuppyDEas008pre1 (sda3/full)
  root (hd0,2)
  kernel /boot/vmlinuz root=/dev/sda3 ahci=on uhci=on ehci=on noacpi
# Linux bootbare Partition endet
#############################################################
# 3))) Linux bootbare Partition beginnt:
  title PrecDEasK3-5.7.1 BUMP ALL (sda3/PrecDEasBumpALLES)
  root (hd0,2)
  kernel /PrecDEasBumpALLES/vmlinuz PSUBDIR=PrecDEasBumpALLES
  initrd /PrecDEasBumpALLES/initrd.gz
# Linux bootbare Partition endet
#############################################################

The menupoint is 2))) ... PuppyDEas008pre1 in that menu

do someone have Ideas ?

Thanks for your reading

User avatar
wiak
Posts: 3671
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 57 times
Been thanked: 1028 times
Contact:

Re: booting an old Puppy 4.20 on Grub 2 - hidden Grub commands

Post by wiak »

You don't seem to have line to load the initrd.gz for 4.20

EDIT: ah, it's full install...

I don't know about full install. I imagined you would somehow have to have told it where init is. For example, on the kernel line: init=/sbin/init (or wherever it is), but then again you say the old stanza worked so I guess I'm wrong...

Okay, checked a bit more and I have no idea! Seems init should have been found (especially since was in your previous setup): https://www.oreilly.com/library/view/li ... 16s03.html

That all assumes you are using Puppy Linux huge kernel that has all media drivers built in.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

Trapster
Posts: 149
Joined: Sat Aug 01, 2020 7:44 pm
Has thanked: 1 time
Been thanked: 40 times

Re: booting an old Puppy 4.20 on Grub 2 - hidden Grub commands

Post by Trapster »

This is what I use to boot my full install of puppy 4.10.
This has been my media server since 4.10 came out.

Code: Select all

title Linux (on /dev/sda1)
  root (hd0,0)
  kernel /boot/vmlinuz root=/dev/sda1 ro vga=normal puppy pfix=fsck -p /dev/sda1

Code: Select all

# uname -a
Linux linux_server 2.6.25.16 #1 Tue Aug 26 10:45:53 GMT-8 2008 i686 GNU/Linux
# cat /etc/puppyversion
410
# 
Eastler_Dart
Posts: 80
Joined: Wed Aug 05, 2020 3:34 am
Has thanked: 1 time
Been thanked: 8 times

Re: booting an old Puppy 4.20 on Grub 2 - hidden Grub commands

Post by Eastler_Dart »

many thanks for your answers.

At the moment I had only little time.
Tried to load additional modules, all which seem to belong to 'reading disks'
but no success, whether in normal menu comandlist nor in comandlist with the legacy_* commands.

But I have written down the detailed Error message :D

kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,13)

Because I have no idea, how to read or save lists, longer than my Monitor (IN THE GRUB-SHELL)
I'm not really able to take a look at the Environment / the setted Vars to see differences
between booting the commands in Grub2-menublock (which goes to kernel panic)
and booting with same commands via Grubconsole, which successes after load the old menu.lst with command legacy_configfile.

It must be something, which tells grub how to read the hd0,msdos3 partition
and which is only set after loading a old menu.lst with legacy_configfile.

p.s. tried now also with set root=hd0,3 instead of root=hd0,msdos3, no succes

great thanks for your reading

Post Reply

Return to “Programming”