[syslinux] ifcpu[64].c32 functions drop to command line

John McDonnell mcdonnjd at pcam.org
Mon Apr 29 13:10:48 PDT 2013


I'm having issues with the ifcpu[64].c32 modules. I am building a menu system (as opposed to the command line only options I was previously using) to make it easier for my boss to use PXE. I discovered the modules for auto detecting the CPU and thought hey, that's great! However, I'm having an issue where when I select to boot say System Rescue CD, it drops me to the command line instead of booting either option. I'm using syslinux (gpxelinux.0) 5.01 straight from kernel.org on a FreeBSD 9 server.

Here's the relevant lines from my current default:

PATH /com32
UI vesamenu.c32

LABEL rescuecd
  MENU LABEL ^System Rescue
  MENU INDENT 4
  MENU PASSWD
  TEXT HELP
* Boots System Rescue 3.4.2
  ENDTEXT
  KERNEL ifcpu.c32
  APPEND 64 -- rescuecd64 -- rescuecd32

LABEL rescuecd32
  MENU LABEL System Rescue 32-bit
  MENU INDENT 4
  MENU HIDE
  TEXT HELP
* Boots System Rescue 3.4.2 in 32-bit
  ENDTEXT
  KERNEL http://****/rescue32
  INITRD http://****/initram.igz
  APPEND rescue32 nomodeset vga=791 scandelay=1 setkmap=us netboot=http://****/sysrcd.dat

LABEL rescuecd64
  MENU LABEL System Rescue 64-bit
  MENU INDENT 4
  MENU HIDE
  TEXT HELP
* Boots System Rescue 3.4.2 in 64-bit
  ENDTEXT
  KERNEL http://****/rescue64
  INITRD http://****/initram.igz
  APPEND nomodeset vga=791 scandelay=1 setkmap=us netboot=http://****/sysrcd.dat


In trying to diagnose the problem, I also discovered that pwd.c32 and ls.c32 do not work either. This is what I see when using them:

boot: pwd
: :
boot: ls
Unable to read directory: .

I think I copied all the .c32/.elf files into my tftproot, here's my com32 directory:

# ll com32/
total 1841
-rw-rw-r--  1 root  wheel    1744 Apr 27 02:04 advdump.c32
-rw-rw-r--  1 root  wheel    1604 Apr 27 02:07 cat.c32
-rw-rw-r--  1 root  wheel   22908 Apr 27 01:57 chain.c32
-rw-rw-r--  1 root  wheel    1344 Apr 27 02:07 cmd.c32
-rw-rw-r--  1 root  wheel    1488 Apr 27 02:07 config.c32
-rw-rw-r--  1 root  wheel    1784 Apr 27 02:07 cpuid.c32
-rw-rw-r--  1 root  wheel    2768 Apr 27 02:07 cpuidtest.c32
-rw-rw-r--  1 root  wheel    2004 Apr 27 02:07 disk.c32
-rw-rw-r--  1 root  wheel    1624 Apr 27 02:03 display.c32
-rw-rw-r--  1 root  wheel   12656 Apr 27 02:07 dmitest.c32
-rw-rw-r--  1 root  wheel    3296 Apr 27 02:07 elf.c32
-rw-rw-r--  1 root  wheel    1872 Apr 27 02:04 entrydump.c32
-rw-rw-r--  1 root  wheel    2744 Apr 27 02:07 ethersel.c32
-rw-rw-r--  1 root  wheel    1616 Apr 27 02:04 fancyhello.c32
-rw-rw-r--  1 root  wheel   10975 Apr 27 02:06 fancyhello.lnx
-rw-rw-r--  1 root  wheel   10052 Apr 27 01:59 gfxboot.c32
-rw-rw-r--  1 root  wheel   12545 Apr 27 01:59 gfxboot.elf
-rw-rw-r--  1 root  wheel    1596 Apr 27 02:07 gpxecmd.c32
-rw-rw-r--  1 root  wheel    1376 Apr 27 02:04 hello.c32
-rw-rw-r--  1 root  wheel    3728 Apr 27 02:07 hexdump.c32
-rw-rw-r--  1 root  wheel    1820 Apr 27 02:07 host.c32
-rw-rw-r--  1 root  wheel    4104 Apr 27 02:07 ifcpu.c32
-rw-rw-r--  1 root  wheel    1752 Apr 27 02:07 ifcpu64.c32
-rw-rw-r--  1 root  wheel    4216 Apr 27 02:07 ifmemdsk.c32
-rw-rw-r--  1 root  wheel    1916 Apr 27 02:07 ifplop.c32
-rw-rw-r--  1 root  wheel    1680 Apr 27 02:07 kbdmap.c32
-rw-rw-r--  1 root  wheel    1896 Apr 27 02:04 keytest.c32
-rw-rw-r--  1 root  wheel    4764 Apr 27 02:07 kontron_wdt.c32
-rw-rw-r--  1 root  wheel  184268 Apr 27 02:01 libcom32.c32
-rw-rw-r--  1 root  wheel  737290 Apr 27 02:01 libcom32.elf
-rw-rw-r--  1 root  wheel   66824 Apr 27 02:00 libgpl.c32
-rw-rw-r--  1 root  wheel  237875 Apr 27 02:00 libgpl.elf
-rw-rw-r--  1 root  wheel   23904 Mar 21 16:01 libmenu.c32
-rw-rw-r--  1 root  wheel   24812 Apr 27 02:02 libutil.c32
-rw-rw-r--  1 root  wheel    4684 Apr 27 02:07 linux.c32
-rw-rw-r--  1 root  wheel    1248 Apr 27 02:04 localboot.c32
-rw-rw-r--  1 root  wheel    2992 Apr 27 02:07 ls.c32
-rw-rw-r--  1 root  wheel   10048 Apr 27 02:03 mboot.c32
-rw-rw-r--  1 root  wheel    2520 Apr 27 02:07 meminfo.c32
-rw-rw-r--  1 root  wheel   26256 Mar 21 16:11 menu.c32
-rw-rw-r--  1 root  wheel    3464 Apr 27 02:07 pcitest.c32
-rw-rw-r--  1 root  wheel    3036 Apr 27 02:07 pmload.c32
-rw-rw-r--  1 root  wheel    3064 Apr 27 02:07 prdhcp.c32
-rw-rw-r--  1 root  wheel    1500 Apr 27 02:07 pwd.c32
-rw-rw-r--  1 root  wheel   12144 Apr 27 02:07 pxechn.c32
-rw-rw-r--  1 root  wheel    1376 Apr 27 02:07 reboot.c32
-rw-rw-r--  1 root  wheel    1836 Apr 27 02:04 resolv.c32
-rw-rw-r--  1 root  wheel   12916 Apr 27 02:04 rosh.c32
-rw-rw-r--  1 root  wheel    1628 Apr 27 02:07 sanboot.c32
-rw-rw-r--  1 root  wheel    3092 Apr 27 02:07 sdi.c32
-rw-rw-r--  1 root  wheel    1720 Apr 27 02:04 serialinfo.c32
-rw-rw-r--  1 root  wheel   15352 Apr 27 02:05 sysdump.c32
-rw-rw-r--  1 root  wheel   18800 Apr 27 02:05 sysdump.elf
-rw-rw-r--  1 root  wheel    2152 Apr 27 02:07 vesainfo.c32
-rw-rw-r--  1 root  wheel   26800 Mar 21 16:11 vesamenu.c32
-rw-rw-r--  1 root  wheel    1864 Apr 27 02:07 vpdtest.c32
-rw-rw-r--  1 root  wheel    2492 Apr 27 02:07 whichsys.c32
-rw-rw-r--  1 root  wheel    3596 Apr 27 02:07 zzjson.c32


NOTE:
I figured I should test this on the 4.x branch before submitting this e-mail so I just installed a copy of syslinux 4.06  and the ifcpu.c32 module did work there. However, the ls.c32 and pwd.c32 modules still did not. Did I stumble across something bizarre or do I simply have something wrong in my setup? I have only tried this with PXE and haven't tried CD or USB booting. The PC I'm PXE booting is a HP dc5800 with an Intel Core 2 Duo.

Thank you for your time and help.

-- 
John D McDonnell




More information about the Syslinux mailing list