30.11.2015 23:16, Emilio Lazo Zaia пишет:
Did you consider using syslinux loopback driver? This way ISO would
appear as ISO (or at least non-partitioned device) to GRUB. It may
work ...
I don't know how loopback on syslinux works. I guess is like the GRUB
loopback module, i.e. make a device from a file and boot from it. I'll
try it...
Sorry, it is memdisk
http://www.syslinux.org/wiki/index.php/MEMDISK
I have another idea: Make another -small and auxiliary- GRUB partition
in the same USB drive and chainload it from syslinux's master partition.
It worked in the sense of that I have the GRUB prompt/menu from the
"auxiliary" new partition.
What I thought is changing root=, prefix= to the Kaspersky partition (or
SG2D if applies) and execute GRUB2's configfile directive to the main
grub.cfg on that media. It didn't worked because of some 'unknown
symbols' in the case of Kaspersky... Kaspersky includes other self-made
GRUB modules (e.g. a module for displaying the EULA text) and these
files were compiled against the version of GRUB included in their CD,
naturally.
Yes. GRUB modules must match GRUB run-time (which is compiled into
single kernel.img).
The core.img on that CD can be extracted to be concatenated with
boot.img to be able to boot the same version of GRUB included in
Kaspersky disk but from the helper partition? I mean installing on the
32MB helper partition the version of GRUB2 included on the Kaspersky CD.
In that case I'll be able to change root and prefix variables pointing
to the Kaspersky partition and loading the correct grub.cfg with
'configfile'.
That way we can get rid of El Torito code, which don't understand
partitioned devices, if I am right, and we'll not have unknown symbols
because both GRUBs will be the same.
No, you misunderstand. The problem is not boot block, but core.img
itself - it lacks partition driver(s) and so is not able to access
partitions. It simply does not see them.
It is theoretically possible to decompose core.img (actually,
eltorito.img in this case) and add more drivers and adjust prefix as
needed and pack back into single executable. But I would try memdisk
first :)