Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
menu.c32 from iPXE
2012-04-30, 15:26
Post: #1
menu.c32 from iPXE
Hi all,

I have tired, try to boot subj but without any success. Nether menu.c32 no vesamenu.c32 want boot. Syslinux is 3.86, iPXE latest from git.

My chain is [Card ROM] --> ipxe.kpxe --> menu.c32

dhcpd.conf
Code:
subnet 192.168.56.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.56.100 192.168.56.200;
  option broadcast-address 192.168.56.255;
  option subnet-mask 255.255.255.0;
  option routers 192.168.56.3;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
#  next-server 192.168.56.3;
  if exists user-class and option user-class = "iPXE" {
        filename "http://192.168.56.3/boot.php";
  } else {
        filename "ipxe.kpxe";
  }
}

lynx http://192.168.56.3/boot.php
Code:
#!ipxe
chain menu.c32 ipxe.cfg
boot

Machine freeze after line
Code:
menu.c32.....ok

Captured traffic shows that menu.c32 transferred completely, but ipxe.cfg even asked.

Environment is VirtualBox, but netboot.me are working on the same machine.
Find all posts by this user
Quote this message in a reply
2012-05-07, 10:04
Post: #2
RE: menu.c32 from iPXE
It's because COMBOOT support was removed by default when the native iPXE menu support was introduced. If you want to re-enable COMBOOT support, edit src/config/general.h (or src/config/local/general.h to keep it out of git) and look for IMAGE_COMBOOT.

Unless you're heavily invested in your syslinux menu system, I'd urge you to look at the native iPXE menu feature at http://ipxe.org/cmd/menu and see if it can work for you. A complete and working example of it can be found here: https://gist.github.com/2234639
Visit this user's website Find all posts by this user
Quote this message in a reply
2012-06-22, 08:37
Post: #3
RE: menu.c32 from iPXE
Not wanting to be impolite (it's my first post on this forum after all :-) ) but isn't the decision to disable comboot support just a tiny little bit rude towards the ~99.98% of livecd / pxelinux / whatever configs out there?
Not to mention that the iPXE menu system doesn't support graphics, doesn't support hiding menu items, asking for paswords ... ... ...

Another thing, hiding such an important configuration setting in a header file isn't exactly 21'st century either. For such a complex, delicate thing as a boot rom I would have expected at least a Kconfig style approach to configuration. Besides forcing the developers to spend at least a little time on documenting the settings (I had to head over to the contrib/rom-o-matic dir to find out what some of the settings not documented in the wiki do), '.config' files are much easier to backup, compare and share.

Anyway, after digging around for hours in the innards of the build system, my guess is that one can enable comboot support without touching any source files by casting this hideous spell

`$ make CFLAGS_config="-DIMAGE_COMBOOT=on" <bin/whatever>`

Just my € 0,05
Find all posts by this user
Quote this message in a reply
2012-06-27, 08:15
Post: #4
RE: menu.c32 from iPXE
You edit src/config/local/general.h and enable the features you need. See src/config/general.h for what you can tweak. COMBOOT support was disabled in the default build because most people used it for menu support, and the native menu feature supports most of what people need. Enabling it is a one-line change in the before-mentioned file. The entire src/config/local folder is exempt from git, so you can easily keep a locally modified version of it.

If the docs on ipxe.org/ didn't state this clearly enough, we'd love to know where you were looking for this information, so that we can add appropriate links.

If you'd like to contribute a Kconfig-style system to modify the src/config/local/*.h files, I'm sure several people would really like that.

PS: Binary size is one of the key constraints of a boot ROM, so the developers are always looking to minimize the size of the default build.
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-05-24, 23:07
Post: #5
RE: menu.c32 from iPXE
Hi!

I builded iPXE with a COMBOOT support, but have no idea how to load menu.c32 correctly.
If i just specify "chain menu.c32", this file loaded, and then host freezing.

Does anybody have a working config example?

Thanks in advance!
Find all posts by this user
Quote this message in a reply
2018-05-25, 07:02
Post: #6
RE: menu.c32 from iPXE
(2018-05-24 23:07)prividen Wrote:  I builded iPXE with a COMBOOT support, but have no idea how to load menu.c32 correctly.
If i just specify "chain menu.c32", this file loaded, and then host freezing.

iPXE only supports old comboot, and is not tested much. So make sure you use a similarly old menu.c32 version.

But what is you usecase for menu.c32, using the iPXE native menu system should be what you want, or is it some particular use case that forces you to use the old syslinux menusystem?

Use GitHub Discussions
VRAM bin
Visit this user's website Find all posts by this user
Quote this message in a reply
2018-05-25, 15:58
Post: #7
RE: menu.c32 from iPXE
(2018-05-25 07:02)NiKiZe Wrote:  But what is you usecase for menu.c32, using the iPXE native menu system should be what you want, or is it some particular use case that forces you to use the old syslinux menusystem?

Currently I try to migrate our old pxeboot systems from pxelinux to iPXE, and it will be nice to re-utilize all existing menu and submenus.
Also, I prefer to have ability to edit boot parameters from this menu.
I know, that for iPXE it is not config, but script, and I can add something with "read ${var}". But "add something" is not equal to "add, modify or erase something".
Also, i miss some "hints" functionality (like MENU TABMSG for menu.c32) - when user highlight some item, show him a short description about this item (and probably to have similar descriptions for the whole menu/submenu as well, "item --gap" is not the same).
Also, time to time I import content of some ISO images to pxe servers, and it is very easy to adopt isolinux menu for pxelinux. Usually just copy-paste.
Find all posts by this user
Quote this message in a reply
2018-05-25, 23:37
Post: #8
RE: menu.c32 from iPXE
(2018-05-25 15:58)prividen Wrote:  Also, I prefer to have ability to edit boot parameters from this menu.
I know, that for iPXE it is not config, but script, and I can add something with "read ${var}". But "add something" is not equal to "add, modify or erase something".

Well, I've implemented a scheme, when I can set some checkbox, and then, after item select, if this checkbox was selected, allowed to edit all kernel, initrd (s) and bootopts values before boot.
But it is a lot of non-intuitive assembler-like script code instead of clear menu :(

(2018-05-25 15:58)prividen Wrote:  Also, i miss some "hints" functionality (like MENU TABMSG for menu.c32) - when user highlight some item, show him a short description about this item (and probably to have similar descriptions for the whole menu/submenu as well, "item --gap" is not the same).

Exactly how it implemented in build-in config utility! :)
Is it possible to make such things in a usual menu?
Find all posts by this user
Quote this message in a reply
2018-05-27, 18:02
Post: #9
RE: menu.c32 from iPXE
(2018-05-25 07:02)NiKiZe Wrote:  iPXE only supports old comboot, and is not tested much. So make sure you use a similarly old menu.c32 version.

Yes, the only version which able to boot and show some menu - the menu.c32 from syslinux 3.11-4, but it seems it too ancient to be useful, it can load nothing for me.

But interesting: the latest menu.32, from syslinux 6.04, "file" utility detected it as "ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped".
And as I see, iPXE during boot declare ELF images support.
But iPXE (without comboot) detect it as PXE-NBP (why not ELF?), and with comboot support - as COM32.
And can't boot it in any case.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)