Here's a thought. Someone should try the Deblive Multi Installer to see how it actually works.
You can even run it from Puppy.
Moderator: Forum moderators
Here's a thought. Someone should try the Deblive Multi Installer to see how it actually works.
You can even run it from Puppy.
For info: All 'Dog' ISO's (and "Starter Kit" ISO) have in common that it includes "initrd1.xz" (inside "live" folder EDIT: Or in 'casper' folder for Ubuntudogs).
Don't UbuntuDogs have a "casper" folder, with "initrd1.xz" inside it.
@fredx181 thanks.
@rcrsn51 thanks.
I found it. I'll download and have a little play.
Strangely I found there the boot parameter to use for direct .iso booting, "iso-scan/filename=$isopath".
The example grub2 boot-entries are informative.
Later:
I also got 'deblive-multi-installer.tar.gz', looks very interesting.
I had the same thought. Got as far as downloading it. Then, with severe thunderstorms in the area, The Wife suggested turning off non-essential appliances, computer, tv, air conditioner. Decided to sit in the easy-chair by a window and read. Fell asleep instead. Just woke up and see that you guys have been busy.
Some interesting progress:
I downloaded 'deblive-multi-installer.tar.gz' and 'DebLive_Bullseye-amd64-6.iso'.
Extracted 'deblive-multi-installer'
With "Debian-Live Multi Installer->Install", I installed 'DebLive_Bullseye-amd64-6.iso'
Pasted the grub4dos boot entry into 'menu.lst'
With "Debian-Live Multi Installer->Convert", I converted 'menu.lst' to 'grub2.txt'
I then copied this boot entry into the appropriate 'grub.cfg'
re-booted the drive and selected "DebLive_Bullseye-amd64-6 on sdc3" on the grub2 boot menu.
Lo, it booted to the desktop.
This is a promising start.
Afer some sleep, I will try:
Use "f2StickPup" to install a Puppy on a usb stick. This produces 2 partitions, 1st is small fat32, and the 2nd is large linux (f2fs).
Follow the process above to install 'DebLive_Bullseye-amd64-6.iso' to the 2nd (f2fs) partition on the usb stick.
Then boot the usb stick, selecting the boot entry converted by "Debian-Live Multi Installer->Convert".
If there is a problem with f2fs, during this process, I will do it again with an ext4 2nd partition and install Puppy with "DiskPup".
FYI. The converted boot entry that worked:
Code: Select all
menuentry "DebLive_Bullseye-amd64-6 on sdc3" {
search --no-floppy --fs-uuid --set=root a83a265f-2683-4daf-88e8-83ff07aab8cc
linux /dl-bull64/live/vmlinuz1 edd=off noauto from=UUID:a83a265f-2683-4daf-88e8-83ff07aab8cc/dl-bull64 changes=UUID:a83a265f-2683-4daf-88e8-83ff07aab8cc/dl-bull64
initrd /dl-bull64/live/initrd1.xz
}
Instead of editing this boot entry directly into 'grub.cfg', I could have edited it into '/etc/grub.d/40_custom', so that it would remain, even after using "FrugalPup->Boot" to replace the 'grub.cfg' file.
I assume that "Debian-Live Multi Installer->Ubuntu" can install a UbuntuDog, right??
Test process:
1. Run 'deblive-multi-installer'.
2. "Install" 'DebLive_Bullseye-amd64-6.iso' to '/mnt/sdc2/frugals/dd-bull'
3. "Convert" '/mnt/sdc2/frugals/dd-bull/grubmenu.txt'
4. "Quit".
5. Edit '/mnt/sdc1/grub.cfg', inserting the contents of '/mnt/sdc2/frugals/dd-bull/grub2.txt'
6. Boot the usb stick
The process works with ext4 sdc2.
I temporarily edited 'deblive-multi-installer' so it would recognise an f2fs partition as suitable for "Install".
The test process worked, until step 6.
The "DebLive_Bullseye-amd64-6" boot failed during "initrd" processing.
It would appear that "DebLive_Bullseye-amd64-6" does not support booting on an f2fs partition.
Note1: Step 5. could be replaced by:
5. Append ''/mnt/sdc2/frugals/dd-bull/grub2.txt' to '/etc/grub.d/40_custom,
and run "FrugalPup->Boot" to replace the 'grub.cfg' on sdc1.
Note2: I'm working on a script that will scan a selected directory and it's immediate sub-directories for "grubmenu.txt" files.
It will then convert the grub4dos boot-entry, contained in the file, into a grub2 boot-entry and append it to '/etc/grub.d/40_custom'.
The result should be, that if a DebianDog/UbuntuDog is installed via @rcrsn51 's 'deblive-multi-installer', they can be integrated into a FrugalPup managed grub2.
In my experience, unjournaled ext4 is an OK alternative to f2fs on flash drives and is fully supported by gparted.
Yes, and to "unjournal" existing ext4 partition from command line for e.g. sdb1 :
tune2fs -O ^has_journal /dev/sdb1
edit: not sure if needed afterwards, anyway could do no harm:
e2fsck -f -y /dev/sdb1
Thanks for that info, I hope I will remenber that if I ever want to actually install a DebianDog or UbuntuDog on a usb stick.
For now I think I've pretty much done enough playing with a DebianDog on a usb stick, to establish that indeed 'deblive-multi-installer' is a working installer, and (perhaps more importantly for my current project), I now have the first draft of a script that can populate '/etc/grub.d/40_custom' using the output from 'deblive-multi-installer', i.e. the 'grubmenu.txt' file.
Having installed 'DebLive_Bullseye-amd64-6.iso' using 'deblive-multi-installer', then running my test script, I end up with,
Code: Select all
menuentry "DebLive_Bullseye-amd64-6 on sdc2" {
search --no-floppy --fs-uuid --set=root e723194e-0445-49ed-b690-7c6327dbc43d
linux /other/dd-bull/live/vmlinuz1 edd=off noauto from=UUID:e723194e-0445-49ed-b690-7c6327dbc43d/other/dd-bull changes=UUID:e723194e-0445-49ed-b690-7c6327dbc43d/other/dd-bull
initrd /other/dd-bull/live/initrd1.xz
}
in '/etc/grub.d/42_deblive'.
Using FrugalPup->Boot to replace the 'grub.cfg', means this "DebLive_Bullseye" boot entry is included in 'grub.cfg'.
When I then boot the usb stick "sdc", it boots to the desktop.
(sdc2 is an ext4 partition.)
But, if I run my next version of OtherInstalls to generate a DebianDog boot-entry to directly boot the .iso file, I get the following boot-entry:
Code: Select all
menuentry "DebLive_Bullseye-amd64-6.iso (sdb2)" {
insmod ext2
search --no-floppy --fs-uuid --set=root "0db94719-cdf1-44b7-9766-23db62fb85a5"
set isofile="/isos/DebLive_Bullseye-amd64-6.iso"
loopback loop $isofile
set root=(loop)
linux (loop)/live/vmlinuz1 boot=live iso-scan/filename=$isofile noeject noprompt splash --
initrd (loop)/live/initrd1.xz
}
when I select this boot-entry in grub2, it fails to boot.
The kernel and initrd load, but it complains that it's on an unsupported device, and I should copy 'live' to a HD.
(sdb2 is an ext4 partition, with plenty of space.)
Any suggestions as to why this could be failing?
Code: Select all
linux (loop)/live/vmlinuz1 boot=live iso-scan/filename=$isofile noeject noprompt splash --
Those options are for booting an Ubuntu-style OS. They mean nothing to a Porteus boot.
rcrsn51 wrote: ↑Thu Jun 10, 2021 11:48 amCode: Select all
linux (loop)/live/vmlinuz1 boot=live iso-scan/filename=$isofile noeject noprompt splash --
Those options are for booting an Ubuntu-style OS. They mean nothing to a Porteus boot.
I based this line on examples viewtopic.php?p=4587#p4587.
Please point me to an appropriate example.
Code: Select all
linux (loop)/live/vmlinuz1 edd=off noauto from=UUID:0db94719-cdf1-44b7-9766-23db62fb85a/$isofile
rcrsn51 wrote: ↑Thu Jun 10, 2021 1:52 pmCode: Select all
linux (loop)/live/vmlinuz1 edd=off noauto from=UUID:0db94719-cdf1-44b7-9766-23db62fb85a/$isofile
Thankyou, thankyou.
I'll definitely give that a go.
Code: Select all
menuentry "DebLive_Bullseye-amd64-6.iso" {
set isofile="/isos/DebLive_Bullseye-amd64-6.iso"
set uuid="0db94719-cdf1-44b7-9766-23db62fb85a5"
search --no-floppy --fs-uuid --set=root $uuid
loopback loop $isofile
set root=(loop)
linux (loop)/live/vmlinuz1 edd=off noauto copy2ram from=UUID:$uuid/$isofile
initrd (loop)/live/initrd1.xz
}
@rcrsn51,
Thankyou.
The linux line without "copy2ram" worked, booted to desktop.
But I will add the "copy2ram" and give it another go.
@rcrsn51,
Yes, as expected it booted to the desktop, with no mounted disks.
So, the next OtherInstalls will include support for directly booting .iso files from the Dog family.
I now have a new version of OtherInstall that seems to be able to boot DebianDog and UbuntuDog .iso files,
and detect and generate a boot-entry for a frugal install of DebianDog and UbuntuDog.
Well at least for my huge collection of test subjects, i.e. 'DebLive_Bullseye-amd64-6.iso', yes, just 1.
So I'm keen to get it out there so others might test it against a wider range.
But, there is just 1 thing that's bugging me.
When I generate a boot-entry from a DebianDog frugal install, I can't find a nice name anywhere in the install directory,
so I'm currrently using the name of the install directory, which on my 1 install is "dd-bull", which seems a bit pathetic for the title of a grub2 menu entry.
On Puppy I could just mount the 'puppy...sfs' file and look in '/etc/DISTRO_SPECS'.
Is there an equivalent for DebianDog?
gyrog wrote:But, there is just 1 thing that's bugging me.
When I generate a boot-entry from a DebianDog frugal install, I can't find a nice name anywhere in the install directory
....
On Puppy I could just mount the 'puppy...sfs' file and look in '/etc/DISTRO_SPECS'.
Is there an equivalent for DebianDog?
There is not, some version info showing though in e.g. /etc/debian_version, /etc/issue, /etc/issue.net, but not very useful I think.
So perhaps best to get the title from the ISO-name ?
Fred
Just one little problem, my script has just found an install directory, that's all I have to work with, I would be surprised to find the .iso file there.
I have attached 'OtherInstalls_7.sfs.gz', gunzip to produce 'OtherInstalls_7.sfs'.
This version adds DebianDog and UbuntuDog to supported .iso files, and to supported frugal installs.
It works for me for all my humungus list of DebianDog/UbuntuDog installs, 1. So I guess it's fair to say that it's had only minimal testing.
If it's a frugal install done using 'deblive-multi-installer' then the boot-entry will have a "pretty" title,
since OtherInstalls is just converting the grub4dos boot-entry in 'grubmenu.txt' in the install directory.
If 'grubmenu.txt' is not found, the boot-entry is directly generated by OtherInstall code.
This still produces a working boot-entry, but it's title is just the filename of the install directory, very ordinary.
Thankyou to all the folk who have contributed to this project. You have enabled me to kind of sort this thing out.
But a special thanks to @rcrsn51 since I "borrowed" some of his code.
I guess this project can never end, there will always be more non-Puppy OS's that could be included,
but being able to include the "Dog" family, is an important milestone.
I have attached 'OtherInstalls_8.sfs.gz', gunzip to produce 'OtherInstalls_8.sfs'.
Apparently the way 'OtherInstalls' and 'FrugalPup' use '/etc/grub.d/40_custom' is incompatible with grub2,
so installing grub2, mucks-up the 'grub.cfg' generated by 'FrugalPup'.
So, this version 8 of 'OtherInstalls' writes to '/var/local/otherinstalls.d/boot-entries' instead.
A new 'FrugalPup v34' will read files from the '/var/local/otherinstalls.d' directory.
I have attached 'OtherInstalls_9.sfs.gz', gunzip to produce 'OtherInstalls_9.sfs'.
This version adds support for loading a CPU microcode file called 'ucode.cpio' as the first "initrd" file, if it exists, for frugal installs.
It also remmoves the "All" button from the "partition" dialog.