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!
How to add Puppy to grub2 with Windows 10 and Manjaro?
Moderator: Forum moderators
- 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: Adding Puppy manually to grub?
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?
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
- 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: Adding Puppy manually to grub?
Geek3579 wrote: ↑Thu Jan 28, 2021 7:31 amWhat 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?
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.
- mikeslr
- Posts: 2963
- Joined: Mon Jul 13, 2020 11:08 pm
- Has thanked: 178 times
- Been thanked: 918 times
Re: How to add Puppy to grub2 with Windows 10 and Manjaro?
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.
- 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: How to add Puppy to grub2 with Windows 10 and Manjaro?
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. )
-
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.
- mikeslr
- Posts: 2963
- Joined: Mon Jul 13, 2020 11:08 pm
- Has thanked: 178 times
- Been thanked: 918 times
Re: How to add Puppy to grub2 with Windows 10 and Manjaro?
Great job, foxpup.
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?
@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.
- 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: How to add Puppy to grub2 with Windows 10 and Manjaro?
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.