Page 1 of 1

How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Thu Jan 28, 2021 1:26 am
by mivison

Ok, here's what i would like to do. I have a Windows 10, Manjaro dual boot install on my desktop PC. I would like to add a frugal Puppy to it all and edit grub to see Puppy. Is this stupid? Is this do-able? Or is there a better way? If It can be done, it sound like fun!


Re: Adding Puppy manually to grub?

Posted: Thu Jan 28, 2021 2:25 am
by mivison

I think the post under this one might answer my question.


Re: Adding Puppy manually to grub?

Posted: Thu Jan 28, 2021 7:26 am
by foxpup
mivison wrote: Thu Jan 28, 2021 2:25 am

I think the post under this one might answer my question.

:-) Yes and it is fun.

From a running Puppy:
1. Do a frugal install.
Let's say you copy the kernel (vmlinuz), the init (initrd.gz) and the system (all .sfs files)
from the iso of Puppy to a directory /puppy on a partition.
The partition can be an existing partition or a newly created one. (gParted)
The partition can be fat or ext, preferably ext.
There can be other things in the partition, like data, Windows, Manjaro.
2. Add Puppy to the boot menu.
The boot menu is probably from grub from Manjaro.
You have the choice here.
You can add Puppy to the boot menu through the grub procedures for this in Manjaro.
I don't know how to do that. You will surely find it in the archwiki.
or
You can look for the boot menu in your system and add an entry for Puppy there manually.
But if Manjaro updates, this could be overwritten. I don't think grub2 will find the frugal install of Puppy.
The grub config file with the boot menu is probaby in the boot/esp partition or under /boot in Manjaro itself.

This is an example of the entry for a Puppy in grub:

Code: Select all

menuentry "Puppy " {
    search --no-floppy --file --set /puppy/vmlinuz
    linux /puppy/vmlinuz psubdir=/puppy pfix=fsck,fsckp
    initrd /puppy/initrd.gz
}

Re: Adding Puppy manually to grub?

Posted: Thu Jan 28, 2021 7:31 am
by Geek3579

What you are trying to do is very reasonable and doable if Manjaro runs GRUB2. BTW, I currently run my Bionicpup64 loaded as a frugal fileset in MX-Linux.

This post might also help configure the GRUB script: viewtopic.php?f=2&t=988


Re: Adding Puppy manually to grub?

Posted: Thu Jan 28, 2021 11:15 am
by mikewalsh
Geek3579 wrote: Thu Jan 28, 2021 7:31 am

What you are trying to do is very reasonable and doable if Manjaro runs GRUB2. BTW, I currently run my Bionicpup64 loaded as a frugal fileset in MX-Linux.

This post might also help configure the GRUB script: viewtopic.php?f=2&t=988

@Geek3579 :-

Thanks for that, mate. A most useful snippet of info.....which I'm certain will come in very handy (especially by those who are cheesed-off by the whole GRUB2 "update" business, and the unnecessary need to re-write things every time!)

Cheers.

Mike. ;)


Re: Adding Puppy manually to grub?

Posted: Thu Jan 28, 2021 3:15 pm
by mivison

THANKS !!!! I'll give this a try. Yes I am booting from the Manjaro GRUB2. This will save me from maybe hosing it all trying to install Pup alone with everything. HAHA . P.S. I'm keeping Windows because this is my gaming rig. Until I can customize Linux for gaming I'm keeping Win 10.


Re: How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Thu Jan 28, 2021 5:42 pm
by mikeslr

Just supplementing foxpup's instructions:

The hard part is being able to mount a Puppy's ISO. Look for Manjaro's instructions & applications. Of course, if you have any Puppy running from a USB-Key it's easy. Just boot into it and Left-click the ISO of the puppy you want. A window will open from which you can copy --drag & drop-- 'system' files into a folder wherever you want. Under puppy, just Right-Click an empty space, and from the Popup Menu select New>Directory and give it a unique name. I suggest a short one. The system files consist of vmlinuz, initrd(.?z), Puppy_Version_Number.sfs, zdrv_Puppy_Version_Number.sfs and any other ?drv_Puppy_Version_Number.sfses. And, of course, if the Puppy you want is the same as that on the USB-Key, you can just 'flinch' those files from the USB-Key. But don't 'flinch' a SaveFile/Folder while it's in use (generates errors): boot into the USB-Puppy using the pfix=ram command. Ask how if you need to.

Your Grub2 config file can use any boot command such as pfix=ram (boot without using the SaveFile/Folder). Being able to do that can be a handy tool. You may want to consider having two Puppy entries, one using the pfix=ram argument. See the bottom of this post for an example of adding boot commands. viewtopic.php?p=16154#p16154

I'm pretty certain that when grub2 updates the listing for Puppy will be lost. So I suggest that you copy Puppy's menuentry to your Documents folder to make reinstating easy.


Re: How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Thu Jan 28, 2021 7:06 pm
by foxpup
mikeslr wrote: Thu Jan 28, 2021 5:42 pm

The hard part is being able to mount a Puppy's ISO. Look for Manjaro's instructions & applications.

From the command line it should always work to loop mount an iso, something like this:

Code: Select all

mkdir /mnt/pupiso
mount -o loop /path/to/Puppy.iso /mnt/pupiso

Afterwards unmount:

Code: Select all

umount /mnt/pupiso/
rm -r /mnt/pupiso

(You may need sudo, but not in Puppy. :-) )

-

foxpup wrote: Thu Jan 28, 2021 7:26 am

You can add Puppy to the boot menu through the grub procedures for this in Manjaro.
I don't know how to do that. You will surely find it in the archwiki.

I've looked it up:
https://wiki.archlinux.org/index.php/GR ... d_grub.cfg
Working in Manjaro:

You can add additional custom menu entries by editing /etc/grub.d/40_custom and re-generating /boot/grub/grub.cfg. Or you can create /boot/grub/custom.cfg and add them there. Changes to /boot/grub/custom.cfg do not require re-running grub-mkconfig, since /etc/grub.d/41_custom adds the necessary source statement to the generated configuration file.

Since Manjaro is a rolling release, it updates frequently, and grub2 will probably not detect Puppy's frugal install automatically, this is the better way to add Puppy to Manjaro's grub2.


Re: How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Fri Jan 29, 2021 4:00 pm
by mikeslr

Great job, foxpup. :thumbup:

I think the Forum now has a recipe, sufficiently detailed, that even newbies can follow. Even 'old timers' like me may have learned some new tricks. :)

I can only think of adding one cautionary note. I'd suggest that before anyone attempts to install any Puppy to a hard-drive it be tested first via deployment to a USB-Key. Each Puppy is a 'labor-of-love' by some fan, tested by a few others, none of whom have either the time or equipment to establish that that Puppy is likely to fully function under each of the myriad possible computer hardware combinations.

Although mentioned with reference to Puppies --this is after-all the Puppy Linux Forum-- testing before installing to a hard-drive just makes sense. I've had highly recommended 'Major Distributions' fail to generate sound or, more disconcertingly, not recognize my laptop's key-board.


Re: How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Fri Jan 29, 2021 6:14 pm
by mivison

@foxpup
Works awesome!!!!! I did just what you said. Thanks!!!!
By the way, Manjaro was able to open the pup iso file so I could place all the needed files in a directory.


Re: How to add Puppy to grub2 with Windows 10 and Manjaro?

Posted: Sat Jan 30, 2021 11:06 am
by foxpup

:thumbup2: :D

mikeslr wrote: Fri Jan 29, 2021 4:00 pm

I think the Forum now has a recipe, sufficiently detailed, that even newbies can follow.

I think it is good to remember the prerequisites for this recipe.

- You already have a working grub2.
Not mentionned here:
- If windows is on the machine, windows' annoyances that block the harddrive are off, like hibernate or quick start (?) or ...
This will probably be allright if you already have another unix/linux booting on the machine.
- Secure boot is off (or Puppy's key is enrolled).
Manjaro does not support secure boot, so I was pretty sure Secure boot was disabled here.

Other distros do support Secure boot.
If Secure boot is on, then almost all of them will have their grub demanding a signed kernel.
You could enroll Puppy's key then or switch off Secure boot.
If, for some reason, you cannot disable secure boot, you have to enroll Puppy's key
... or use another grub ;-) (Another cup of tea ;-) )

By the way, I do not consider Secure boot safe, so I myself prefer to have it OFF.
Secure boot is way to complex to be safe.
Consider this:
Arch, beeing one of the most bleeding edge linuxes, does not support Secure boot,
Since the boothole vulnerability Fedora 33 disables secure boot by default.