[rant]I soemtimes really wonder about the value of search engines when people just search around, find some phrases, create within 1-2 hours several posts linking to some of the search results, but apparently not finding the time to switch on their brain to actually trying to UNDERSTAND what the stuff means. Littering a thread here with not one but half a dozen statements of their limited understanding (or their unwillingness to change this) is certainly a surefire way to annoy users like myself that are attempting to provide some help to others. IMHO this approach does not provide any useful information, but is likely to increase the confusion for others. So switching on ones brain first before posting might be better.
[/rant]That said, here is my take on the 'loopback' feature of GRUB2:
(1) Booting a Linux system like TC via GRUB2 requires to create in a GRUB2 configuration file a stanza that contains details about the kernel file (plus the boot codes) and the initrd file. For the former the '
linux file ...' command is used, whilst the latter requires the use of the '
initrd file' command.
(2) The crucial aspect to understand the subject in question (at least IMHO) is how those two files are to be specified for these GRUB2 commands. This usual case is to use a notation like
(hd0,1)/boot/bzImage, which contains in this example a device name and a file name and refers to the '/boot/bzImage' file on the first partition (i.e. '1') of the first disk (i.e. 'hd0'). Alternatively the 'root' variable can be used (e.g. via
set root=(hd0,1)) to define the device for all subsequent file specifications. This would then allow to use something like
linux /boot/bzImage ... instead of
linux (hd0,1)/boot/bzImage ....(3) What the 'loopback' command allows for is to specify kernel and initrd files that are "inside" an ISO file (which itself is stored somewhere e.g. a hard disk), without the requirement to extract those files firstly out of the ISO image. It achieves this by creating a new device (in the following called 'loop0', but pretty much any other name would go as well). So assuming one has the 'tinycore_3.8.3.iso' file stored in the '/temp/my-iso-files' directory on the third partition of the second hard disk (to make things a little bit more "interesting") the required GRUB2 command would be
loopback loop0 (hd1,3)/temp/my-iso-files/tinycore_3.8.3.isoOne could then use either '(loop0)/boot/bzImage' to refer to the kernel file or use first
set root=(loop0) and afterwards '/boot/bzImage' to achieve the same outcome.
So, the use of the 'loopback' command of GRUB2 is not putting a limitation on which distributions are "supported". As far as I can tell all those that can be booted straight from a CD-ROM (e.g. TC) could be used via 'loopback' as well. It does OTOH require that any additional boot codes that these CD-ROMs are using (e.g. via the 'append' or 'kernel' command in a configuration file like 'isolinux.cfg' or that are given on a session-by-session basis at the 'boot:' prompt of ISOLINUX) will need to be appended to the 'linux' command of the GRUB2 boot stanza (i.e. in the GRUB2 configuration file 'grub.cfg').
I consider more generic questions of how to install GRUB2 on a given system not at all to be a subject of this tread (or any other in this TC related forum here). IMHO helping to create a GRUB2 boot stanza for TC is within the limits of this forum, putting GRUB2 "somewhere" on a system which is likely to have a multitude of different OS and their respective boot loaders is "out of scope". My aim here is primarily to put an end to the "whining", and creation of "half-truth" as a consequence of lack of understanding.
BTW, with so many (potentially confusing) article floating around it does make sense to actually read the proper
manual page, as it spells out all the details and notations. At least it does not do a half-arsed job in providing only a subset of the whole picture.