9

I am using a Clonezilla live USB disk to reimage systems. In accordance to what is explained in http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc my disks prompts me with the menu contained in syslinux.cfg for all systems except the very latest ones that are UEFI machines (and have the BIOS configured to boot from UEFI devices first) where I am prompted with the grub.cfg menu.

Given that I heavily customized my syslinux.cfg menu I would like to modify the grub.cfg file to only automatically chainload to syslinux so to show the syslinux.cfg menu in all cases.

Is this possible at all? How?

On the disk there is GRUB2 and my understanding (from looking around on the Internet) is that is shall be possible, but I did not understand yet how. Any help is appreciated.

Edit:
I would like to clarify that the system boots using grub without issues selecting any of the options that are in the grub.cfg menu by default as provided by Conezilla download, but what I would like to do is to show the menu of syslinux (in syslinux.cfg) instead of the default menu in grub.cfg

Second edit, how I did it:
In the end the proposed solutions did not work for me, so I simply made the 'EFI\boot' folder "unavailable" (renamed it); this way the UEFI boot fails and the system boots from syslinux as on the older system: no modification to the BIOS, no new menu, no chainload...

1
  • I guess, you can use configfile parameter inside grub.conf to chainload the syslinux.cfg
    – SHW
    Jan 7 '14 at 7:08
2

After 4 years... :)

Try this:

menuentry 'menuentry' {
    set root=(hd0,1)
    syslinux_source /path/isolinux/isolinux.bin
    syslinux_configfile /path/isolinux/isolinux.cfg
}
1
  • 2
    Please elaborate a bit and explain why this solves the problem. Jul 4 '17 at 13:12
1

This suggest that it was some bugs related to that and was some patches, so it is hard to know for sure: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/469568

First, if your OS updates grub it will regenerate grub.cfg and wipe out your configuration, so do not modify /boot/grub.cfg manually instead modify files in /etc/grub.d ( file named like 40_custom or something like that ) and call grub-mkconfig -o /boot/grub/grub.cfg.

You could try something simple like this:

menuentry "Syslinux root drive" {

set root=(hd1,3)

chainloader +1

}

(hd1,3) is sdb3 disk partition, grub supports identification by uuid, so it possible to create setup in which your partition would be detected by all PC's. However in my experience sometimes this is not enough.

You could also try something like chainloader (hd1,3)/path/to/syslinux/isofile.bin

If everything fails, it is possible to boot from iso with syslinux in it, but it seems that in your case this is not an option.

4
  • I first tried this from the grub command line (press c once in grub), I identified my syslinux.cfg partition and tried 'chainloader (hd0,msdos2)+1' directly but I get the error 'invalid EFI file path'. Please note that the content of the partition above dos not contain any .bin file. (I also edited the question for additional clarity)
    – rodedo
    Apr 25 '13 at 7:05
  • It probably doesn't, its name and binary format extension (.bin) depends on distro (live cd's usually have bin to be able to boot with syslinux and isolinux, but in your case it is probably .bs file, watch here for commands syslinux.org/wiki/index.php/SYSLINUX#LABEL_command). However I am now researching one thing: doesn't booting kernel directly with casper module (aka live cd/ live usb mode) doesn't run it's bootloader menu. After few minutes I'll write results.
    – IBr
    Apr 25 '13 at 7:20
  • OK, I see that candidates are the .c32 files that I have in that folder. More precicely this is the content of the folder:'chain.c32', 'menu.c32', 'reboot.c32', 'vesamenu.c32', 'memdisk', 'syslinux.cfg'<br>excluding the cfg file, shall I try the other one by one? Looking around I understood that the chain32 is supposed to be used for chailoiding in the other direction (so not what I need), am I wrong?
    – rodedo
    Apr 25 '13 at 7:27
  • Well calling casper doesn't invoke bootloader menu. I have no idea how to archieve this. If that would help I have my own grub chainloading example to grub, but I doubt that it have any use with syslinux: menuentry 'Archlinux The Latest' { insmod ext2 set root=(hd0,6) multiboot /boot/grub/i386-pc/core.img }
    – IBr
    Apr 25 '13 at 7:30
-1

you have to do a directory install instead of a boot sector install. if you do a boot sector install then dd the first 512 bytes of the partition to a file and chainload to that file. worked for me.

1
  • This may be correct, but it could benefit from a bit of explanation about how to take the steps described (and from proper capitalization).
    – Caleb
    Jun 14 '14 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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