How to rebuild an older Puppy to boot in UEFI computer?
Moderator: Forum moderators
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
How to rebuild an older Puppy to boot in UEFI computer?
Now then; I can only assume this is the best place to put this. I'm not experienced in the way some of you are, so therefore I'll ask my question.
Which is this:-
I used to enjoy running all sorts of Puppies on my old Compaq tower. 2004, so it was way pre- all this UEFI crap. With this new HP Pavilion desktop, I can't run anything prior to Tahrpup - 6.06, the version that had the efi.img added. If I attempt to boot any Pup that doesn't have this, I get the message "Vesa BIOS extensions not detected. Dropping out to initial RAM console..."
Right. So; let me ask all you re-mastering & Pup-building experts out there; Is there a way to rebuild an older Puppy to make use of this efi.img/whatever else is required.....or am I on a hiding to nothing?
I loved my UPup Raring by pemasu. I thoroughly enjoyed playing around with Racy & Wary. Darry's re-built 431 "Phoenix" was a constant source of delight. None of these will boot any longer, which really hacks me off...
No, I don't wish to run a VM. I always have issues with the damn things, and TBH I no longer have the time to mess around with them. What I'm looking for is a way that I can use to get these older Puppies running again on modern UEFI hardware, so I can set 'em up and just boot into them as normal...
Don't get me wrong. The modern Pups are very special in their own way, and I enjoy them just as much.....but I simply want to run old & new Pups alongside each other on this fast, powerful modern hardware.
Level with me, guys. Can it be done..?
Any sensible advice will be very much appreciated, please. TIA.
Mike.
Re: A question, guys....
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: A question, guys....
That would be the logical thing to do, wouldn't it?
It's how the kennels are running at the moment. Despite the newer Pups being capable of running in a UEFI environment, you still have to use "Legacy" mode on this HP to get them to boot at all.....
Conversely, if I wanted to run mainstream distros on here, with all their UEFI "shims", systemd, and the rest of the crap that goes with it, they won't boot unless you're IN UEFI mode.....because they're built to expect it.
And this is why I posed the question, y'see. The "classic" Slacko 570 from Micko won't run on here.....but Sailor's re-spin, Slacko 571, will.....and guess what? Yup, it uses that efi.img thing.
But I know full well there's more to it than just sticking the efi.img with everything else. Something, somewhere, tells the system to make use of it, and what to do with it.....and I'm betting it's in the initrd.gz somewhere, 'cos that's where all the boot instructions, etc., are.....
I need to know
a) If it's possible, and
b) Where to look.....
Top & bottom of the matter, it boils down to this; I don't want to have to keep going into the BIOS every time to boot. Simple as that. There must be a way round this....somewhere.
Mike.
-
- Posts: 357
- Joined: Mon Jul 13, 2020 6:14 pm
- Location: Germany, NRW
- Has thanked: 18 times
- Been thanked: 126 times
Re: A question, guys....
I'm not an expert, but since you mention Slacko 570 i recall having the same issue with it on an 2015 Lenovo Laptop.
I don't recall the messages, when it dropped out to console.
Some time later i wanted to change the kernel of Slacko 570 on an other (non-UEFI) machine. So i stripped out the 3.10.32 manually and squashed Slacko 570 without Kernel, added my 3.16.<something> - compiled in woof-ce-testing/kernel-kit - and it dropped me out on the non-UEFI machine too. IIRC the message was different from yours. Nevertheless i didn't give up. Something pointed to a problem with initrd.gz.
That was in my early days running Puppy Linux, so i didn't know anything about initrd.
As a self-taught Puppy user i did what i always did in such a case: read, try to understand and learn by doing (best thing about Puppy Linux is it's patience; you can't break it...)
I edited the initrd from Slacko 632 (DISTRO_SPECS) and Slacko 570 booted even on aforementioned UEFI Laptop (of course in Legacy mode).
So i'm not that sure if this is related to UEFI/efi.img.
Or maybe it was just an accident...
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
You may be right, mate. I was hoping not to have to go through all that again - I'm talking here about pre-modular Puppies - but we've currently not got access to jrb's thread about kernel-swaps with these older versions.
Further research appears to show that kernel-booting is dictated by the EFI.img/UEFI stuff.....and it has to be a kernel that's compiled to recognise such, since older kernels simply didn't know about UEFI.
Question:- What's the boot-order with Puppy? Is the initial ram-disk/aufs-layering all set up prior to the kernel booting.....or is it the other way round? Using jrb's Pup-build tools to open up the initrd.gz, and reading through the init script, it appears to be almost exclusively to do with setting-up & 'layering' the various pup_ro layers along with the save-file/folder.....there's certainly no mention of "efi.img" anywhere in those 1400+ lines.
Mike.
Re: How to rebuild an older Puppy to boot in UEFI computer?
BTW - If you want to go this way I can upload my edited initrd (nice things like additional drives added and enabled).
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
Thanks for the kind offer.......but the issue I have here is that no 3-series kernel will recognise the audio chip on this desktop. Not surprising, really, since the thing didn't even exist when these kernels were compiled.
I know for a fact that DPup Stretch's k4.1.48 works fine, but I have concerns about shoe-horning a kernel that new into some of those much older Pups.....
This is why I was specifically asking if anyone knew exactly what parts of the "process" need changing (if any).
Mike.
Re: How to rebuild an older Puppy to boot in UEFI computer?
The other thing is that a (newer) kernel swop will only work with a series 3 and higher kernel old puppy. So it should work with Racy for example but not with Wary. Basically pre-series 3 kernel puppys are non-uefi compliant. I don't have a uefi machine so a good test for you would be to do the Tahr606 kernel swop with Racy and see if it works.
Can you still run an old Puppy when enabling legacy boot on the new machine? If so, that will be the best option to explore old puppys now and then without going the kernel swop route (which may only work with a few older puppys anyway).
- foxpup
- Posts: 186
- Joined: Fri Jul 24, 2020 1:23 pm
- Location: Europe near the Northsea
- Has thanked: 75 times
- Been thanked: 32 times
Re: A question, guys....
Really?
That is not my experience.
I can still legacy boot any Puppy with grub4dos, and Debian Buster and Slackware as well.
Problem is, in an UEFI machine, when I turn on CSM/ or 'legacy boot support' or whatever it is called,
I still do not have legacy boot installation, like grub4dos, on my HDD(SSD).
And I cannot put it there because the HDD is gpt, so no mbr and legacy boot needs mbr.
I should reformat HDD to msdos.
So I use grub2 on an esp/boot partition on the HDD and do UEFI boot.
I can do legacy boot from pendrive with grub4dos though,
and the OS on HDD of course.
And as stated first, grub4dos boots anything I throw at it, except modern windows.
-
- Posts: 3837
- Joined: Fri Jul 24, 2020 10:59 pm
- Has thanked: 1632 times
- Been thanked: 525 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
- Use Ventoy
- Publish here your results
- rockedge
- Site Admin
- Posts: 6550
- Joined: Mon Dec 02, 2019 1:38 am
- Location: Connecticut,U.S.A.
- Has thanked: 2752 times
- Been thanked: 2627 times
- Contact:
Re: How to rebuild an older Puppy to boot in UEFI computer?
Great tip! Thanks for that and I'll be testing it out later today.
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
Ventoy..... Hm. Looks very similar to Bill's well-known "ISObooter", IMO. Appears to use the same concept, anyway.
I'm curious as to whether this could be successfully employed with Puppy in a "frugal" HDD scenario.....
Mike.
-
- Posts: 718
- Joined: Thu Jul 16, 2020 2:16 am
- Location: CALABARZON, PH
- Has thanked: 3 times
- Been thanked: 173 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
1. Xvesa and Xorg vesa drivers won't work on UEFI because of BIOS 10H interrupt doesn't exist on UEFI. You must force to run Xorg using fbdev driver.
2. Its puppy installer and old grub don't ever work for internal storage installation because it's designed for MBR not GPT. The solution was to use it's installer but don't run the grub setup. Instead use ReFind to configure dual booting. If the computer supports EFI file registration then register the ReFind efi file and set it as first priority on UEFI boot sequence (Don't forget to configure refind first).
Optional changes
Modify its package manager if possible. PPM must always update these cache files upon add/remove packages:
* gdk-pixbuf
* pango
* gio-modules
* gconv
* icon-cache
* mime
* xdg-desktop
* kernel modules
* glib-schemas
* gtk im modules
* fontconfig
-
- Posts: 3837
- Joined: Fri Jul 24, 2020 10:59 pm
- Has thanked: 1632 times
- Been thanked: 525 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
It instructs a how to on booting an ISO directly without making a DVD/Frugal/Full Puppy install.
It is, now, here
- greengeek
- Posts: 1384
- Joined: Thu Jul 16, 2020 11:06 pm
- Has thanked: 535 times
- Been thanked: 192 times
Re: A question, guys....
Hi Mike, did you get any clarity about what is different between these two otherwise similar pups?
We're they different kernels?
- bigpup
- Moderator
- Posts: 6996
- Joined: Tue Jul 14, 2020 11:19 pm
- Location: Earth, South Eastern U.S.
- Has thanked: 913 times
- Been thanked: 1528 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
A lot of changes have been made from the early days of UEFI.
In the early days the legacy boot mode was really a 100% working old style bios.
Now the option is to enable CSM that basically buts it into a legacy bios mode, but it is not coded for true legacy bios designed very old OS's.
So what UEFI version the computer has can affect how it will boot.
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: A question, guys....
Hi, Ian.
To answer your question directly, yes, they were different kernels.....but only insofar as they were different 3-series kernels.
Let me provide some background here.
I've had to do a certain amount of "FrankenPuppy" work to get many Pups fully functional on here. When I took delivery of this new HP Pavilion desktop, it had Windows 10 installed with the usual GPT partition scheme - the only way Win 10 will boot/run. The very first thing I did was to wipe out all traces of Windows 10 with extreme prejudice, and to re-format as MBR with a number of Ext3 partitions, along with a primary FAT32 boot partition (UEFI expects this, even if you want to run in 'legacy' mode).
I boot my Pups using the format posted about by Bill (rcrsn51) in his thread on the Debian Dog 'starter' kit over on the old forum, an example entry of which is as follows:-
Code: Select all
title Quirky64-lite (sda2/Quirky7_64_lite)
find --set-root uuid () 0ee0f8be-07f3-4e5b-b3c3-2554fae39a3e
kernel /Quirky7_64_lite/vmlinuz pdrv=0ee0f8be-07f3-4e5b-b3c3-2554fae39a3e psubdir=/Quirky7_64_lite pmedia=atahd pfix=fsck
initrd /Quirky7_64_lite/initrd.gz
-------------------------------------------------------
Anything running a 3-series kernel will not give me audio.....at all. Reason being that all 3-series kernels were compiled before the audio chip in use here even existed; how could they be expected to know about it?
So, the one "older" 32-bit Puppy I run - Slacko 5.7.1, from Sailor Enceladus - has had its 3-series kernel replaced with the k4.1.48 kernel from radky's DPup Stretch.....easy enough to do, given that 571 was built with the newer Woof-CE build process, meaning that you've got a zdrv. Just rename that, and replace it along with its associated vmlinuz, and your kernel is upgraded.
BarryK's 64-bit Quirky April 701 - the lightweight spin of which I run from jrb - also uses a 3-series kernel. In this case, I've borrowed the k4.9.58 kernel from Phil B's Xenialpup64, which is a long-term LTS release. This is now my "daily driver", much of the time.
I've also pressed k4.9.58 into service for Bionicpup64 and josejp2424's DPup Buster 64. Despite these both coming with newer kernels, it's cured serious issues both had; Bionicpup64 with constant network dropouts, and DPup Buster64 with a host of niggling minor items. k4.9.58 is an extremely stable build, and just works with all my hardware, without issue.
---------------------------------------------------------
Much mention has been made of disabling CSM in the UEFI. CSM doesn't appear to even exist in this particular HP version of UEFI, so I have no idea as to whether it would have done anything anyway. The whole thing is running in "legacy" mode, with the MyCrudSoft-mandated FastBoot/SecureBoot crap turned OFF.
---------------------------------------------------------
And THAT is the current "state of play", as far as booting older Pups is concerned. According to mistfire's reply further back in this thread, the 'Vesa BIOS extensions" older Puppies are looking for can't function with UEFI, given that a critical interrupt handler required for this doesn't exist in the UEFI specifications. So, I really don't know where to go from here.....and in recent weeks I simply haven't had the time to faff around with it anyway.
Ventoy, which Clarity mentioned, DOES work.....but I want to do much more than simply boot a bog-standard ISO as it comes from its developer. My Pups are very heavily customized, and it's pointless if I can't use a save-file/folder. (And before you say it, no; I don't want to go down the 're-master' route. It's a lot of messing-around, and I just don't have the time to spare to do a proper job of it. Nice idea in theory, but no cigar this time around, I'm afraid.)
Mike.
Re: How to rebuild an older Puppy to boot in UEFI computer?
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
In the normal course of things, Nic, yes. But NOT using Ventoy. Not for me, anyroad.....and not for want of trying pretty well every option I can think of.
Mike.
- mikewalsh
- Moderator
- Posts: 6163
- Joined: Tue Dec 03, 2019 1:40 pm
- Location: King's Lynn, UK
- Has thanked: 795 times
- Been thanked: 1982 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
You're kind of automatically assuming that as soon as I mention UEFI, I MUST be running it as GPT.....yes?mistfire wrote: ↑Sun Aug 02, 2020 1:31 am Rebuild older puppy to boot on UEFI? There is some changes to be made.
1. Xvesa and Xorg vesa drivers won't work on UEFI because of BIOS 10H interrupt doesn't exist on UEFI. You must force to run Xorg using fbdev driver.
2. Its puppy installer and old grub don't ever work for internal storage installation because it's designed for MBR not GPT. The solution was to use it's installer but don't run the grub setup. Instead use ReFind to configure dual booting. If the computer supports EFI file registration then register the ReFind efi file and set it as first priority on UEFI boot sequence (Don't forget to configure refind first).
Uh-uh. WAY off the mark, I'm afraid.
This has a UEFI-equipped motherboard, sure. But to all intents & purposes I'm running it as a "legacy" MBR machine, since wiping Windoze 10 off the main drive and reformatting to MBR was the very first thing I did after I got it.....
I have rather moved away from the original subject of this post, I'm sorry to say.....but I guess your comment about the UEFI interrupt handler is probably what's making life awkward for me. I can't argue with you about it, because I simply don't know any different!
Mike.
ventoy and Puppy ? / Re: How to rebuild an older Puppy to boot in UEFI computer?
I am curious also ... did someone look into it ??
It would be great if Ventoy could recognize puppy "frugal files" and boot puppy from these ...
(it would make my usb key more usefull as Ventoy allows to boot from all the ISO files I put on it, for example to install Windows or Linux ...)
Anybody has looked into it ?
(it would also be interesting to have persistence when starting a puppy ISO from Ventoy (but a little less interesting ) ... maybe with some boot options ??
... apparently some other distros support that (example : https://ostechnix.com/create-persistent ... -in-linux/ ) ... but I don't know if their "persistence" system is better than puppy's ?? )
Re: ventoy and Puppy ? / Re: How to rebuild an older Puppy to boot in UEFI computer?
maybe a system that would trick Ventoy into believing that these frugal files make an ISO file ?
Re: ventoy and Puppy ? / Re: How to rebuild an older Puppy to boot in UEFI computer?
I think it s probably possible when looking at the boot options in puppy, where options tell where the puppy persistent storage is ... but it's hard to guess these options ...
-
- Posts: 3837
- Joined: Fri Jul 24, 2020 10:59 pm
- Has thanked: 1632 times
- Been thanked: 525 times
Re: How to rebuild an older Puppy to boot in UEFI computer?
This provides a workable solutions to having the ability to boot all ISOs using Ventoy along with the SuperGrub2 (SG2D) ISO.
SuperGrub2 adds a dimension to Ventoy that ventoy struggles with.
Steps
Create a root folder on your Ventoy Partition #1 that is named "/boot-isos"
Place ALL ISOs into that single folder. Ventoy will find them
Place the SuperGrub2 ISO in that folder as well
Boot the Ventoy USB
You will see something similar to my Ventoy partition #1
Scenario upon Ventoy USB boot
Ventoy will find all ISOs in the /boot-isos folder (great for keeping all your ISOs in a single folder). For any ISOs that do NOT boot when selected from the Ventoy list, select the SuperGrub2 ISO from the list, then hit the Enter key at the SuperGrub2 menu, followed by the "End" key to get to the bottom of the list that SG2D presents.
SuperGrub2 will list ALL ISOs found in folder(s), named "/boot-isos" on your system's connected devices.
SG2D will boot any ISOs that the user selects INCLUDING ALL 2020 WoofCE PUPs, Fatdog and @Fredx181's DOGs!
We benefit from not have any need to "explode/expand" any ISO to get a Puppy desktop along with ALL of the PUPs abilities (same as if one had booted a Pup frugal). Nothing is lost by NOT doing a frugal explosion while no disk space is used excepting the original ISO file(s). AND, this is important, the frugal attack vector is removed producing a safer OS operation and management.
Enjoy!