Simplifying the Boot process for all PUP use: Clearing it UP

What features/apps/bugfixes needed in a future Puppy
Message
Author
gcmartin

Simplifying the Boot process for all PUP use: Clearing it UP

#1 Post by gcmartin »

Bootable ISO files
An ISO is a file for transferring information to a CD/DVD media disc. It was created about the time just before USB and certainly long before USB sticks came onto the scene.

To boot an ISO, one needs to run a program which transfers the information contained within the ISO file onto a disc.

Another way which has been largely obscure is to have a Boot Manager present an ISO file to the PC system such that it “virtually looks
Attachments
menu.lst.png
SAMPLE Menu.lst accommodating known strategies
(54.55 KiB) Downloaded 1495 times
Last edited by gcmartin on Sun 17 Mar 2013, 22:05, edited 1 time in total.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#2 Post by 01micko »

I understand your concerns but I think your recommendations need revising.

I think a "wait and see" approach is best for now to see where secure boot and UEFI goes. Then something can and will be changed in the boot procedure of Puppy Linux. I am fully aware that kirk and jamesbond are blazing the trail in this area.

Cheers
Puppy Linux Blog - contact me for access

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#3 Post by James C »

Could you illuminate the Puppy community as to the list of major distros that use Grub4dos?

User avatar
James C
Posts: 6618
Joined: Thu 26 Mar 2009, 05:12
Location: Kentucky

#4 Post by James C »

01micko wrote: I think a "wait and see" approach is best for now to see where secure boot and UEFI goes.
Agreed. :)

gcmartin

#5 Post by gcmartin »

I am aware and I also agree. Maybe, a more suitable solution would be based upon their work and it would bring consistency to a common boot manager process; whether Live, Frugal, and Full. The thread is opened asking for some common boot manager approach across all boot methods.

I did not want to suggest that approach because of its "new-ness" and the fear that many in the community would reject.

Thanks everyone, so far.

trueriver
Posts: 30
Joined: Thu 07 Feb 2013, 15:29
Location: Manchester, England

#6 Post by trueriver »

James C wrote:Could you illuminate the Puppy community as to the list of major distros that use Grub4dos?
There are two answers to that: "none", or "most except Ubuntu". I'll explain those in reverse order.

Most distros use legacy grub (version 0.9something, it never quite reached 1.0). Grub4dos was designed to accept grub menu.lst files and produce the same effect. The compatibility is complete: every grub command is implemented and was tested to have the same effect,as of grub4dos v 0.4.4; the compatibility is one way: there are many grub4doa commands that simply do not exist in the original. With any distro still using legacy grub you can replace the boot loader with grub4dos, and your menu still works, and the automatic updating of your menu still works. In that sense many mainstream distros are compatible: Pretty much any of the mainstream distros that do not derive from Ubuntu.

But, if you ask "which of them ships with grub4dos for their hard disk instal?" Or if you mean "which of them uses the additional features of grub4dos" the answer is that Puppy has the biggest user base of grub4dos on internal hard drives.

Here's some further background.

The most common use of grub4dos is in creating bootable usb sticks, yumi for example, is a windows based tool for putting many .iso files on a single stock and having them all bootable. Some linux distros use it to create bootable live sticks, but puppy pioneered the use of it in a hard disk install.

Interestingly the extra features were added to make grub more compatible with Microsoft file systems and operating systems (things like being able to boot from NTFS were not in grub nor lilo, for example). You can drop the grub4dos files into the C: drive and add grub4dos into the windows boot menu. (The exact way to add menu items varies depends on the version of windows). The team that created it also added a lot of debugging features to enable you to get obscure combinations of windows and Linux working together. Puppy takes advantage of the support for windows file systems: as you know you can do a frugal Puppy instal onto a FAT partition (even onto your C: drive).

Hope that helps
River~~
Last edited by trueriver on Mon 18 Mar 2013, 09:49, edited 4 times in total.

trueriver
Posts: 30
Joined: Thu 07 Feb 2013, 15:29
Location: Manchester, England

Re: Simplifying the Boot process for all PUP use: Clearing it UP

#7 Post by trueriver »

gcmartin wrote:...

Here’s Why
I think the ONLY reason we may be continuing to use current methods of ISO build is because of 2 reasons;
  • No one has shown how to create an ISO using GRUB4DOS.
  • There is no example(s) available to show how to take an existing ISO and use either ISOmaster, or GROWISOFS or ISOFS... to change or build a bootable ISO from an existing ISO.
I can think of a third possible reason: that the different boot tools are better at the different jobs.

In isolinux it is absurdly easy to add text that displays when you press F2, F3, etc. this can be done in grub4dos but is harder work. Conversely, mapping drives (or falling a while petition as easyboot does) is straightforward in grub4dos, but either impossible or complicated in isolinux.

So it is worth my while to learn both, so I can choose the better tool for what I want to do each time.

But then, I would say that: I am a geek. I find it easy and enjoyable to learn new languages,new systems. Other people will place more value than I do on having a single interface to learn.

You are right: the discussion needs to happen. The outcome might be to focus on only one boot tool. But, do consider it possible that the third possible outcome might also be a decision that there are good reasons to continue the current policy of having more than one.

It is like I learnt to ride a bicycle, and I learnt to drive a car. It is more useful to have both skills than just one of them. Some people own one of each.

River~~

Apols for typos: sent from my phone
Edit: some of the typos ;)

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#8 Post by amigo »

First of all, there is no universal bootloader which works for all arches, so any ports to ARM, MIPS or other architectures will still be using something different from x86 releases.

And, for x86, as trueriver stated, some bootloaders are better than others at different things/times. The problem goes back to what happens when a machines' BIOS tries to find some executable code at the start of *some* disk. The specific problem is: *what is executable code*. The BIOS will only over execution to a device when it judges that there is executable code there. Executable code can be one of many different things -a bootloader, a raw kernel, a boot manager or pre-boot-loader. The disk type is also a factor here since it will determine the offsets into the device where things will be looked for.
A floppy is the most bootable thing there ever was -they contain no partition table so executable code starts in the first sector of the disk. A floppy has no MBR. A hard disk or flash/sdc/etc will usually have a partition table in the MBR, but not always. Interestingly, CD or ISO image is treated like a large floppy(using the El Torito standard). A hard drive can also be set up to look like a floppy -some bootable USB drives are setup like this? Why? Because it makes them bootable according to the judgement of various machines BIOS.

isolinux/syslinux bootcode is usually recognized by more machines than other iso-bootables -this is why most bootable CD systems use it. But, it is not the most flexible of the bootloaders -that's why some other bootloader is generally used for disk installations. syslinux/isolinux is on a par with lilo as far as flexibility. legacy grub is more versatile than either. grub2 and grub4dos are still more flexible.

isohybrid does the same thing that the makebootfat tool does -that is, they modify certain bytes of the bootcode so that the drive can be recognized as being bootable by more machines. How is this done? isohybrid modifes an iso image -remember that it looks like a large floppy drive where executale code begins right at the beggining of the drive/image. isohybrid add a partition table at the right place, so that, if written to a hard drive, it looks like a normal MBR with executable code at the start and a partition table starting after byte 446.

makebootfat does something similar, but even more comprehensive to make USB devices bootable on more machines.
Machines which can be booted from a USB device recognize three kinds of drives: USB floppy, USB hard drive and USB ZIP drive. Most machines will only boot one or two of these types -of course most old machines will not boot at all from USB. makebootfat modifies the bootcode so that the USB drive looks like all three types of drives, a floppy/HD/ZIP.

A bootable ZIP drive has a partition table with at least one entry -but it is the *fourth* partition and should be marked bootable. A hadr drive has a partition table with at least one entry -and the boot flag doesn't normally matter(except to windows botloader). And a floppy has no partition table -but the BIOS os not looking at that to 'see' that t is a floppy.

The most bootable image looks like a floppy(or large floppy), a hard drive (because it has a partition table), and a ZIP drive because the 'first' partition is partition four. In the case of a floppy or ZIP drive, the image or drive is more bootable if it contains a FAT filesystem.

This is still a rather simplified explanation.

User avatar
Q5sys
Posts: 1105
Joined: Thu 11 Dec 2008, 19:49
Contact:

#9 Post by Q5sys »

01micko wrote:I understand your concerns but I think your recommendations need revising.

I think a "wait and see" approach is best for now to see where secure boot and UEFI goes. Then something can and will be changed in the boot procedure of Puppy Linux. I am fully aware that kirk and jamesbond are blazing the trail in this area.

Cheers

+1.
i was thinking the same thing when reading the inital post... but you beat me to it. lol

gcmartin

#10 Post by gcmartin »

@Amigo, @ trueriver, and @01Micko, all bring good light to this discussion. They share understanding, operation, and what may be coming down the pipeline that could be enormously useful.

For, now, though, it may NOT be too early to at least begin to demonstrate methods, using today's current development, some means that can be employed now, until, the future "jells". The technologies in use, today, in Puppyland are mature, stable, and understood.

@Q5sys, believes that the work he already is engaged in can also offer a path, but, again, that is still early on technology without a clear demonstration yet of how to employed it across the board and how stable it is as much Liinux development is ongoing.

In review of Puppy Linux, let's look at what we have:
  • ISO built using a boot-manager.
  • Frugal and full system tools which employ a completely different boot manager.
  • Multi-Pup, a tool for generating an ISO that can boot many different Puppy distros using the same boot manager as Frugal and Full.
  • Easy2Boot, a tool for generating a boot-manager to boot multiple PUPs from a single media
  • ISObooter, yet another tool for generating a boot-manager to boot multiple PUPs from a single media
My view is that the maturity of GRUB/GRUB4DOS when isolinux was first used was NOT at level of what it is at today. Today, we have a mature GRUB4DOS, which does NOT do things in the same fashion as isolinux, but, does give us a means to launch an isolinux boot-manager distro such that the f1/F2/F3/Fn keys can provide interrupts for helpful information.

I wholeheartedly agree with @Amigo (I'm sure most of you do too) in his statement that "there is no universal bootloader ...". As we understand that, we could review whether we can tailor use of GRUB4DOS for both initial ISO as well as its current use for Frugal and Full Puppy use.

Here to help

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#11 Post by amigo »

I agree that it would be nice to use *any* grub rather than isolinux for LiveCD's. The problem is that grub-based iso's are just not as bootable as isolinux ones. The syslinux bootcode is more dependable.

User avatar
Q5sys
Posts: 1105
Joined: Thu 11 Dec 2008, 19:49
Contact:

#12 Post by Q5sys »

gcmartin wrote:@Q5sys, believes that the work he already is engaged in can also offer a path, but, again, that is still early on technology without a clear demonstration yet of how to employed it across the board and how stable it is as much Liinux development is ongoing.
I'm not engaged in any work on the bootloading front. Actually quite the opposite. I usually avoid bootloader stuff because I simply dont know much about them. I've never in the past messed around with Bootloaders and comparing them before. I just use what I know works and what I have never had much problem with. Until I hear of one that people are having more successful with, I dont tempt fate.

That being said however... I have heard alot of chatter recently about Das U-Boot And, I'd like to test it out with Puppy. But there are two problems. 1) I'm not that knowledgeable about Bootloarders and, 2) I've got so many other things on my plate currently that it keeps getting pushed back further and further.

gcmartin

#13 Post by gcmartin »

Q5sys wrote:Slackbones v1.2 is UEFI and SecureBoot capable thanks to JamesBond.
When I saw this from you, @Q5sys, I felt you were tesing and maybe working on this very good booting technology. Thus, the comment.

Here to help

User avatar
Q5sys
Posts: 1105
Joined: Thu 11 Dec 2008, 19:49
Contact:

#14 Post by Q5sys »

gcmartin wrote:
Q5sys wrote:Slackbones v1.2 is UEFI and SecureBoot capable thanks to JamesBond.
When I saw this from you, @Q5sys, I felt you were tesing and maybe working on this very good booting technology. Thus, the comment.

Here to help
I am developing Slackbones yes, but the UEFI component comes from Jamesbond and Kirk.
Proper credit goes to where its due. :)

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#15 Post by Iguleder »

I say it's time to drop all x86 boot loaders except Syslinux, since it can boot from FAT16/32 (syslinux), ext2/3/4/btrfs (extlinux) and ISO images (isolinux). This covers all sorts of device Puppy currently boots from - no need for Grub4Dos or other, poorly-maintained hacks.

Regarding x86_64, the situation is more complicated because of introduction of UEFI in machines built since Q2 2012. I think we should wait until all major distros figure this out and develop one, easy to deploy and mature solution that works for everyone.

I see no reason to use a 32-bit OS under a machine with UEFI (because all new UEFI hardware is x86_64), so using one boot loader for each architecture sounds like a good plan to me.

Besides this, I think the whole concept of "full", "frugal", "boot floppy", etc' mess should be sorted out. Puppy should have one installer which doesn't mention any technical terms - just installs the right boot loader (e.g detects whether it's a BIOS or UEFI machine) and applies boot codes needed to make Puppy behave the user wants it to (e.g if the user picked "I want it to behave like any other operating system", it's a "full" installation).

2c
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#16 Post by linuxcbon »

And what about choice and freedom and diversity ? You want dictatorship ? Apply it to yourselves, not to the others.

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#17 Post by Iguleder »

You can always replace the boot loader the installer installed for you, exactly the same way some replace the pre-installed JWM and ROX-Filer with KDE.

Also, this suggestion is not very weird. Pretty much all distributions force you to use a certain boot loader. For instance, the Ubuntu installer doesn't ask you which boot loader you'd like to use - this is true for pretty much all distros. Most just use GRUB Legacy or GRUB; no questions.

Furthermore, if you have only one mature and stable boot loader (I guess that's the direction where UEFI support is going these days), chances you're going to consider switching to another are very low.

Finally, let's be honest: most people don't know what a boot loader is, anyway, so they won't be dissatisfied and won't feel restricted if the developers of their operating system, as professionals, rather than inexperienced end-users, pick the best boot loader and "force" them to use it.

Three well-explained points for one boot loader per architecture, TAKE THAT! :lol:
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
Q5sys
Posts: 1105
Joined: Thu 11 Dec 2008, 19:49
Contact:

#18 Post by Q5sys »

Iguleder wrote:You can always replace the boot loader the installer installed for you, exactly the same way some replace the pre-installed JWM and ROX-Filer with KDE.

Also, this suggestion is not very weird. Pretty much all distributions force you to use a certain boot loader. For instance, the Ubuntu installer doesn't ask you which boot loader you'd like to use - this is true for pretty much all distros. Most just use GRUB Legacy or GRUB; no questions.

Furthermore, if you have only one mature and stable boot loader (I guess that's the direction where UEFI support is going these days), chances you're going to consider switching to another are very low.

Finally, let's be honest: most people don't know what a boot loader is, anyway, so they won't be dissatisfied and won't feel restricted if the developers of their operating system, as professionals, rather than inexperienced end-users, pick the best boot loader and "force" them to use it.

Three well-explained points for one boot loader per architecture, TAKE THAT! :lol:
Straight and to the point as always Iguleder. Something I've always appreciated about your posts. Since you know WAY more about this stuff that I do... have you ever tried Das U-Boot at all? Or have you heard anything one way or the other about it?

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#19 Post by Iguleder »

Never used it myself.

I use extlinux everywhere, with ext4. It starts faster than GRUB under my machines - I don't need a boot menu, so it fits well.

extlinux is by far my favourite boot loader for x86 - I don't see any reason to use GRUB when there's extlinux combined with its VESA boot menu module. Lighter, easier to configure, smaller and easier to install on flash drives, memory cards, etc'.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
Sky Aisling
Posts: 1368
Joined: Sat 27 Jun 2009, 23:02
Location: Port Townsend, WA. USA

Simplifying the Boot process for all PUP use: Clearing it UP

#20 Post by Sky Aisling »

Hello All, Puppy boot options?
Attachments
RubberBoots.jpg
(50.92 KiB) Downloaded 409 times

Post Reply