grub2-fll-fromiso

Started by eriefisher, 2026/05/25, 14:28:04

Previous topic - Next topic

eriefisher

Can grub2-fll-fromiso be used for iso's other than Siduction? If so, how?
I just tried to add an MX iso but it's not recognized. The Siduction iso's I have show up fine.
I AM CANADIAN!

Teriarch

#1
AFAIK grub2-fll-fromiso is not part of the siduction but rather part of the aptosid repository.
Anyway, can you post the name of your iso image (including full path) as
well as the content of /etc/default/grub2-fll-fromiso?

eriefisher

I can post what you ask if necessary but it works just fine. The problem is it only shows Siduction iso's.  I followed the section in the Siduction manual and like I said I got the expected results but it won't produce non-Siduction iso's in the menu.
# Defaults for grub2-fll-fromiso update-grub helper
# sourced by grub2's update-grub
# installed at /etc/default/grub2-fll-fromiso by the maintainer scripts

#
# This is a POSIX shell fragment
#

# specify where to look for the ISO
# default: /srv/ISO
#FLL_GRUB2_ISO_LOCATION="/srv/ISO"
FLL_GRUB2_ISO_LOCATION="/media/data/isos"

# array for defining ISO prefices --> siduction-*.iso, non-recursive
# default: "siduction- fullstory-"
FLL_GRUB2_ISO_PREFIX="siduction-"
#FLL_GRUB2_ISO_PREFIX="winux-"
#FLL_GRUB2_ISO_PREFIX="MX-"

# set default language
# default: en_US
#FLL_GRUB2_LANG="de_DE"
FLL_GRUB2_LANG="en_US"

# override the default timezone.
# default: UTC
#FLL_GRUB2_TZ="Europe/Berlin"
FLL_GRUB2_TZ="America/Toronto"

# additional cheatcodes
# default: quiet systemd.show_status=1 noeject
FLL_GRUB2_CHEATCODE="quiet systemd.show_status=1 noeject"
You'll see currently the MX- entry is commented out, on purpose. The path to all my iso's is /media/data/isos. I'm thinking there is something hard coded to Siduction only? 
I AM CANADIAN!

der_bud

Quote from: eriefisher on Yesterday at 00:34:08...  The path to all my iso's is /media/data/isos. ...
Is /media/data already mounted when grub menu is active? The isos should reside on an accessible path.
(Well, from the default path '/srv/ISO' I would also think it should work, but better test with an ISO in for example /boot/grub/ISO)
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

scholle1

Quote from: eriefisher on Yesterday at 00:34:08# array for defining ISO prefices --> siduction-*.iso, non-recursive
# default: "siduction- fullstory-"
FLL_GRUB2_ISO_PREFIX="siduction-"
#FLL_GRUB2_ISO_PREFIX="winux-"
#FLL_GRUB2_ISO_PREFIX="MX-"
You'll see currently the MX- entry is commented out, on purpose. The path to all my iso's is /media/data/isos. I'm thinking there is something hard coded to Siduction only? 
Yes it is 'hard' configured in
FLL_GRUB2_ISO_PREFIX="siduction-"Did you test the array notation shown in the previous line? For example
FLL_GRUB2_ISO_PREFIX="siduction- winux- MX-"
"Pax in terris" - Das ist mein großer, mein einzigster für diese Welt von Herzen kommender Wunsch.
"Friede auf Erden" und alles Weitere erscheint einfach.

Teriarch

#5
With scholle1's suggestions it works for me in both cases (mx- and siduction-). Just to be on the same page, I used
 
grub2-fll-fromiso_0.6.1_all.deb with md5sum 8fdebe850efea744b9a3a3a4b176f022
 
After an update-grub it created the following additional entry in /boot/grub.cfg:
 
### BEGIN /etc/grub.d/60_fll-fromiso ###
submenu "siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso" {
menuentry "Boot: siduction.amd64 kde " --class=siduction.amd64 "$title" {# set arguments above with the editor
        insmod iso9660
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd1,gpt6'  4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        else
          search --no-floppy --fs-uuid --set=root 4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        fi
        loopback loop /srv/iso/siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso
        linux (loop)/boot/vmlinuz-$2 fromhd=UUID=4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63 fromiso=/srv/iso/siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso lang=de_DE tz=Europe/Be
rlin
        initrd (loop)/boot/initrd.img-7.0.7-1-siduction-amd64
}
}
submenu "mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso" {
menuentry "Boot: siduction.amd64 kde " --class=siduction.amd64 "$title" {# set arguments above with the editor
        insmod iso9660
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd1,gpt6'  4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        else
          search --no-floppy --fs-uuid --set=root 4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        fi
        loopback loop /srv/iso/mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso
        linux (loop)/boot/vmlinuz-$2 fromhd=UUID=4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63 fromiso=/srv/iso/mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso lang=de_DE tz=Europe/Berlin
        initrd (loop)/boot/initrd.img-7.0.7-1-siduction-amd64
}
}
### END /etc/grub.d/60_fll-fromiso ###
 
The only reason for failure I can think of is a missing or somehow malformed bootloader
during the check of your mx- file. If so can you point us to the download location of your
mx- file?

PS.: I also checked siduction version grub2-fll-fromiso_0.3.12_all.deb (md5sum
     d693f83fdc29849325d8fd2bcd738ff9) with same result.
 
 

eriefisher

Quote from: scholle1 on Yesterday at 12:11:34
Quote from: eriefisher on Yesterday at 00:34:08# array for defining ISO prefices --> siduction-*.iso, non-recursive
# default: "siduction- fullstory-"
FLL_GRUB2_ISO_PREFIX="siduction-"
#FLL_GRUB2_ISO_PREFIX="winux-"
#FLL_GRUB2_ISO_PREFIX="MX-"
You'll see currently the MX- entry is commented out, on purpose. The path to all my iso's is /media/data/isos. I'm thinking there is something hard coded to Siduction only?
Yes it is 'hard' configured in
FLL_GRUB2_ISO_PREFIX="siduction-"Did you test the array notation shown in the previous line? For example
FLL_GRUB2_ISO_PREFIX="siduction- winux- MX-"
I will try it all on one line as you show it there. As you can see I just created a new line for MX which didn't work.
I AM CANADIAN!

eriefisher

Quote from: der_bud on Yesterday at 11:14:44
Quote from: eriefisher on Yesterday at 00:34:08...  The path to all my iso's is /media/data/isos. ...
Is /media/data already mounted when grub menu is active? The isos should reside on an accessible path.
(Well, from the default path '/srv/ISO' I would also think it should work, but better test with an ISO in for example /boot/grub/ISO)
Mounted? I'm not sure but grub see's the Siduction iso's in that directory without issue. I think the problem is I need to create a config file for other menu entries. Like I said, I'm just following the Siduction manual and I assume it's previously set up to boot Siduction but not another iso. Which is fine, I can work with that.
I AM CANADIAN!

eriefisher

Quote from: Teriarch on Yesterday at 12:34:11With scholle1's suggestions it works for me in both cases (mx- and siduction-). Just to be on the same page, I used
 
grub2-fll-fromiso_0.6.1_all.deb with md5sum 8fdebe850efea744b9a3a3a4b176f022
 
After an update-grub it created the following additional entry in /boot/grub.cfg:
 
### BEGIN /etc/grub.d/60_fll-fromiso ###
submenu "siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso" {
menuentry "Boot: siduction.amd64 kde " --class=siduction.amd64 "$title" {# set arguments above with the editor
        insmod iso9660
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd1,gpt6'  4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        else
          search --no-floppy --fs-uuid --set=root 4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        fi
        loopback loop /srv/iso/siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso
        linux (loop)/boot/vmlinuz-$2 fromhd=UUID=4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63 fromiso=/srv/iso/siduction-2026.1.0-Big_Crime-kde-amd64-202605151306.iso lang=de_DE tz=Europe/Be
rlin
        initrd (loop)/boot/initrd.img-7.0.7-1-siduction-amd64
}
}
submenu "mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso" {
menuentry "Boot: siduction.amd64 kde " --class=siduction.amd64 "$title" {# set arguments above with the editor
        insmod iso9660
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd1,gpt6'  4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        else
          search --no-floppy --fs-uuid --set=root 4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63
        fi
        loopback loop /srv/iso/mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso
        linux (loop)/boot/vmlinuz-$2 fromhd=UUID=4ef9dea2-cfd6-4a1e-ad54-ba53b078cf63 fromiso=/srv/iso/mx-2026.1.0-Big_Crime-kde-amd64-202605151306.iso lang=de_DE tz=Europe/Berlin
        initrd (loop)/boot/initrd.img-7.0.7-1-siduction-amd64
}
}
### END /etc/grub.d/60_fll-fromiso ###
 
The only reason for failure I can think of is a missing or somehow malformed bootloader
during the check of your mx- file. If so can you point us to the download location of your
mx- file?

PS.: I also checked siduction version grub2-fll-fromiso_0.3.12_all.deb (md5sum
    d693f83fdc29849325d8fd2bcd738ff9) with same result.
 
 
Looks like the new entry is just a renamed previous entry but the same iso?
I AM CANADIAN!

Teriarch

#9
> Looks like the new entry is just a renamed previous entry but the same iso?
 
And that's all that is needed to check the functionality of grub2-fll-fromiso.
Here is the course of action:
 
update-grub is a frontend to grub-mkconfig and its only purpose is the creation
of /boot/grub/grub.cfg, which is used at boottime by either mbr or efi bootloader grub
to start module normal, which in turn searches for grub.cfg (using a hardcoded prefix)
to present you with the boot menu.
 
grub2-fll-fromiso consists of a configuration file /etc/default/grub2-fll-fromiso
used by shell script /etc/grub.d/60_fll-fromiso invoked when grub-mkconfig scans
and executes all shell scripts within /etc/grub.d. If it finds an iso file in accordance
with the configuration it creates an enty in /boot/grub/grub.cfg provided the iso file
contains a valid bootloader, kernel and initrd, hence my question regarding your mx- file.
 
der_bud had a valid point though when asking about the mounted iso directories. During the scan
they must be seen by grub-mkconfig in order to be present in grub.cfg.
 
HTH
 

eriefisher

As I mentioned earlier, the script works fine, for Siduction iso's. I am following the instructions from the manual, designed for Siduction. There is no mention of adding other non Siduction iso's. After some other research it seems I need to create the conf file so that the menu will reflect a non Siduction iso. I have seen now what is required and how to get it but this is with straight up grub2. So this is the confusion. Either way I need to create the config for the menu entry.
Quoteder_bud had a valid point though when asking about the mounted iso directories. During the scan
they must be seen by grub-mkconfig in order to be present in grub.cfg.
The location is not a problem it seems. The two Siduction iso's are found, added to the menu and boot fine. The MX and other iso's are in the same directory. /media/data/isos.
I suppose the Siduction manual entry for grub2-fll-fromiso should be edited to reflect that as is it only works with Siduction iso's.
Thank for the input everybody.
I AM CANADIAN!

Teriarch

When /etc/grub.d/60_fll-fromiso is executed by grub-mkconfig it scans for kernels /boot/vmlinuz*
in the iso file at line 88. Unfortunately the kernels of MX- images are contained in directory /antiX
of the MX- iso image, hence it fails to detect the kernels (It could easily be fixed, though).

eriefisher

I was thinking it might be something like that but wasn't sure and had not looked into it....yet. Thanks for the clarity.
I AM CANADIAN!