Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Problem

I'm creating a bootable iso from a YUMI USB drive to burn on DVD's for friends. More info here.

I took the grldr and menu.lst from a bootable XBoot iso, but now I'm trying to figure out a way to get from the menu.lst to the syslinux.cfg menu?

Is this completely nonsensical? Am I on the right lines / how might I be able to do this?

As a little test I have the following in my menu.lst:

### MENU START
label Syslinux Menu
kernel vesamenu.c32
append /multiboot/syslinux.cfg 
MENU SEPARATOR  
### MENU END

But I end up at a grub4dos command prompt rather than my syslinux.cfg menu! No real idea what I'm doing in all honesty, just trial and error and would love a bit of guidance!

share|improve this question
    
Posting your working menu.lst would be helpful. The Arch Wiki has a good section on configuring syslinux. –  jasonwryan Sep 20 '12 at 19:01
    
actually, thats all I have in the edited menu.lst - but the original XBoot menu.lst had all the distro configs in it, kind of like whats inside my syslinux.cfg. I'll post the xboot version up anyways if it helps - thanks for the reply. –  Kiada Sep 20 '12 at 19:06
add comment

1 Answer

That's a courageous concern.

Precisely because I wanted that as well, I have turned towards using GRUB4DOS (perhaps if I was familiar with GRUB 2.0 I wouldn't have needed that). GRUB4DOS is very flexible. If you have it installed on your menu.lst partition, you would reach any syslinux or extlinux partition by:

  • copying grub.exe to the root of the menu.lst partition,
  • copying grldr to the root of the menu.lst partition as well, and to the directory where your menu.lst file resides,
  • looking at what filename on the menu.lst partition root is not on the root of any other partition (say, a file such as the one named "version" on a HD-installed SystemRescueCD),
  • running syslinux (or sysresccd-usbstick syslinux , or if that is the case extlinux --install [extlinux finds the target partition itself]) on your target partition, and
  • adding an entry like the following two (which I use both) to your menu.lst file:

(a) To reach a syslinux-ed FAT32 SystemRescueCD primary partition (I have not tried on logical partitions still)->

title Boot SRCD
kernel /grub.exe --config-file="find --set-root /version; \
       map ()+1 (fd0); map --hook; root (fd0); chainloader +1; boot"

(This must be on exactly two lines, the \ line-break is just to make it readable here.)

(b) To reach a neighbouring extlinux-ed EXT3 Slax primary partition (id.) ->

title Boot Slax
kernel /grub.exe --config-file="find --set-root /leame.txt; \
       map ()+1 (fd0); map --hook; root (fd0); chainloader +1; boot"

As you will understand at first glance, (1) the procedure is remarkably similar: only the "exclusive" partition filenames differ; and (2) what it does is make GRUB4DOS, by giving it a handy "on-line" configuration file whose contents is what goes between the double quotes, identify the target partition wherever it lies on the disk (still not tried with partitions on different disks but for one disk you can obviously shuffle partitions without editing your menu.lst file); name the target partition it has found as "the root" - which is thereafter represented by "()" -; map the found target partition which has become the root to a floppy and grasp ("--hold") it firmly there, then make the floppy the new root, and finally very GRUBbishly chainload (as one does for Windows partitions) to the root i.e. to the floppy i.e. to the target partition and, boot it.

Which tools do you need for that? What I use (just not to mingle versions) is what follows:

  • grub4dos-0.4.4.zip,
  • grubutil-1.1-bin-w32-19.zip and
  • grubinst-1.1-bin-w32-2008-01-01.zip.

I also use two more tools for comfort:

  • Hiren's Boot 15.1, which contains, on top of a miriad of excelent tools, a compatible version of grubinst.gui. This I use to handily install GRUB4DOS on partitions, so that the syslinux (or associate) conditioning of syslinux-ed partitions, even if it touches the disk boot sector a little, does not impede my Hiren's Boot partition from properly functioning (but I absolutely refrain from maiming the disk boot sector - you risk having only one syslinux-ed partition booting and losing the rest -); and
  • syslinux-4.03.zip (or 4.05) because it contains a ready-made extlinux binary (extlinux does for Linux-formatted partitions what syslinux does for FAT particles), which I use to further distinguish the two above target syslinux partitions (one is FAT32 and syslinux-ed, the other is EXT3 and exlinux-ed), so that if the bootloader takes the one for the other you solve that by respectively redoing the sys(or ext)linux-ing on the lost particle.

If you are using a combination such as mine (HBCD, SRCD and Slax) on a USB pen, there is still a lot of place on it for a big good FAT32 partition (the first one please so that it is the one to appear under Windows) for your data - on top of a superb admin toolkit - on all pens. Because the HBCD partition is managed by GRUB(4DOS), you may have entries on your menu.lst for things such as rebooting and shutting down, which is not as straightforward, as it seems, for syslinux configuration files

May I, as a supplement, tell you (please accept my excuses if you aldeady have found that) how to leap back from your sys(+)linux-managed partitions to your GRUB(+), menu.lst (slightly more central, in many cases) partition? Well, you already have grub.exe and grdlr on the latter partition's root. Now you can do the following:

  • copy both files to the "active directory" (i.e., in many cases, the "syslinux" directory) on your sys(+)linux-managed particles, which now become source; and
  • add the following entry to your syslinux.cfg, extlinux.conf or slax.cfg (in my case) files:

    LABEL Boot menulist partition KERNEL grub.exe

Note that when grub.exe is in the syslinux ("active") directory, you don't seem to need a path: the entry flies you to the GRUB-managed partition like that. In one case, however, I have chosen that the target directory which is the (above) argument for the extlinux-ing of one of the partitions be not the "active" directory, and in that case I have spontaneously come to writing "/boot/extlinux/grub.exe" instead of simply "grub.exe" - and it works as well.

Kindly take the pleasure of reading the GRUB4DOS long, well-written Readme if you so will. You could well get a lot of useful ideas about how to make partitions live together happily and how to hop from one to the other without stumbling on impossibilities.

Good reading and regards, Fernando

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.