I know no-one has made a post in the last few days, but in case you haven't got it working I thought I'd chip in.
nodiscc wrote:Is there a way to do something similar, but that works?...
I've never seen a Linux-based ISO work from being chainloaded, that tends to be a Windows/DOS thing. Instead, find where the kernel and initrd files are (usually
linux or
vmlinuz for the kernel, and
initrd.gz for initrd) and place them after the
root (hd32) line:
Code: Select all
title 1) Slax\n Slax Core 6.1.2
map /ubcd/custom/slax_ubcd.iso (0xff) || map --mem /ubcd/custom/slax_ubcd.iso (0xff)
map --hook
root (0xff)
kernel /boot/vmlinuz from=/ubcd/custom/slax_ubcd.iso ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4
initrd /boot/initrd.gz
However, a huge amount of Linux distros won't boot just with kernel and initrd locations, you have to pass boot parameters to them on kernel line. Different versions of Linux (ie Debian, Ubuntu, Knoppix) require different boot parameters, and stripped versions, such as the Debian version of GPartEd, sometimes require and support different parameters to the full versions. Slax has a little feature I like very much, that is the
from= parameter, that lets you pass the location of the ISO to the emulated ISO, as once loaded the "live" system cannot use the Grub4Dos mapping and so cannot locate additional files needed to boot properly. Not all Linux use this though, and some might use a different command for it (ie,
boot_from=).
If you search through this forum, the one at
Boot-Land and at
911CD you should be able to find people who have already got working code posted for the systems you're using, should you struggle to get it working yourself.