How to boot frugal Puppies from a fat32 partition

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

How to boot frugal Puppies from a fat32 partition

#1 Post by gyro »

Why use fat32?
Because it's easy to do uefi booting on fat32.

The puppies are not installed on the fat32 partition, only the boot manager, i.e. grub2 or grub4dos. Yes, this does work for uefi boots.
So the fat32 boot partition can be quite small (64MiB), even with both grub2 and grub4dos installed it uses less than 5MiB.

The partition containing the Puppy frugal installs is identified by either it's UUID or label.
So it's safe to use an internal boot partition to boot puppies installed on a usb drive.
I recommend that you use labels on your partitions, just make sure that each one is unique.

Here is the grub2 boot entry for a typical frugal Puppy install on a HD:

Code: Select all

menuentry "Puppy xenialpup 7.5" {
    search --no-floppy --label --set  hdLin
    linux /puppy/xenial/vmlinuz pmedia=atahd pdrv=hdLin psubdir=/puppy/xenial pfix=fsckp,fsck TZ=AEST-10
    initrd /puppy/xenial/initrd.gz
}
And here's the grub4dos equivalent:

Code: Select all

title Puppy xenialpup 7.5
    find --set-root --ignore-floppies uuid () 22222222-2222-2222-2222-222222222222
    kernel /puppy/xenial/vmlinuz pmedia=atahd pdrv=hdLin psubdir=/puppy/xenial pfix=fsckp,fsck TZ=AEST-10
    initrd /puppy/xenial/initrd.gz
Notes on these entries:
1. The "init" script is informed of the exact location of the Puppy install using "pdrv=hdLin psubdir=/puppy/xenial".
If the partition has no label, the UUID can be used instead, e.g. "pdrv=22222222-2222-2222-2222-222222222222".
2. The "pfix=fsckp,fsck" provide maximum data integrity.
3. The "TZ=" parameter sets the time zone in "init". If it is used it should be set appropriately for your timezone.
4. Grub4dos always uses the UUID in the "find" statement.

Here is the grub2 boot entry for frugal Puppy install on an SSD with the savefolder on a HD:

Code: Select all

menuentry "Puppy xenialpup 7.5" {
    search --no-floppy --label --set  ssdLin
    linux /puppy/xenial/vmlinuz pmedia=atahd pdrv=ssdLin psubdir=/puppy/xenial psave=hdLin:/pupsaves/xenial/ pfix=fsckp,fsck,trim TZ=AEST-10
    initrd /puppy/xenial/initrd.gz
}
And here's the grub4dos equivalent:

Code: Select all

title Puppy xenialpup 7.5
    find --set-root --ignore-floppies uuid () 44444444-4444-4444-4444-444444444444
    kernel /puppy/xenial/vmlinuz pmedia=atahd pdrv=ssdLin psubdir=/puppy/xenial psave=hdLin:/pupsaves/xenial/ pfix=fsckp,fsck,trim TZ=AEST-10
    initrd /puppy/xenial/initrd.gz
Notes:
1. The location of the savefolder is defined by "psave=hdLin:/pupsaves/xenial/" because it is a different device.
The trailing "/" on the "psave=" parameter is significant.
If it were on a different partition on the same device it could have been specified as "psavemark=n", where <n> is the number of the partition, e.g. "psavemark=3" for sdc3.
2. The pfix paramater includes "trim" becasuse the install directory is on an SSD.

But how do I set this up?
I've been doing this for years by installing puppies in sub-directories and using "Grub4DosConfig" to setup my "menu.lst" file, and then manually editing "menu.lst".
Now, there is "FrugalPup" for both grub4dos and grub2(uefi).

Note of f2fs:
A couple of months ago I tested a frugal install of Puppy to an f2fs partition, it didn't work.
Grub2 (uefi boot) failed to find the f2fs partition when defined with either a label or UUID, so I abandoned the idea.
Fortunately Puppy can store it's savefolder on a parition other than the install partition, this save partition can be f2fs.

Grub4DosConfig = http://www.murga-linux.com/puppy/viewtopic.php?t=51697
FrugalPup = http://www.murga-linux.com/puppy/viewtopic.php?t=114340

HD = "hard drive", a typical mechanical computer drive with moving parts.
SSD = "solid state drive", a modern computer drive with no moving parts.

Edit1: The folk below are not dreaming, the examples used to mistakenly refer to "mio_initrd.gz", I have edited them to refer to "initrd.gz".

Edit2: The f2fs limitation of grub2 is supposed to be fixed in it's source. So this should eventually be fixed.

gyro
Last edited by gyro on Fri 08 Mar 2019, 21:53, edited 3 times in total.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#2 Post by bigpup »

What is mio_initrd.gz?

The initrd in Xenialpup 7.5 is initrd.gz.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

User avatar
perdido
Posts: 1528
Joined: Mon 09 Dec 2013, 16:29
Location: ¿Altair IV , Just north of Eeyore Junction.?

#3 Post by perdido »

bigpup wrote:What is mio_initrd.gz?

The initrd in Xenialpup 7.5 is initrd.gz.
Hola bigpup,

¿Es possible que "mio" es un ejemplo por su version de puppy solamente?
Mio es el mismo como "my" en ingles.

Could be just an example using mio to represent "my" because mio means "my" in spanish (if gyro used spanish) :)

.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#4 Post by bigpup »

OK.
Thanks for the info.
Just want to make sure that name for initrd is correctly stated in the example.

About Grub2 and f2fs format support.

Have you seen this?
https://www.phoronix.com/scan.php?page= ... ports-F2FS
So, maybe need to get the latest version of Grub2 or can update it with this code change :idea:
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#5 Post by gyro »

What is mio_initrd.gz?

Sorry, it's a local thing.
The example should use "initrd.gz"
I will change it now.

Later: Though it actually refers to an initrd.gz that contains an "mio" version of "init", and hopefully will make sense soon, in a different topic.
The "mio" actually stands for "Minimal Init Overlay", as distinct from "mia", "Minimal Init Aufs".

gyro
Last edited by gyro on Sat 09 Mar 2019, 22:59, edited 2 times in total.

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#6 Post by gyro »

bigpup wrote:Have you seen this?
https://www.phoronix.com/scan.php?page= ... ports-F2FS
So, maybe need to get the latest version of Grub2 or can update it with this code change :idea:
No I was not aware of that, so thanks for the heads up.

Although in my projects I borrow the grub2 uefi file "boot64.efi" from elsewhere, So I will have to investigate an appropriate source.

gyro

Post Reply