WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: [SOLVED[ PXE default menu.c32 locks up boot  (Read 51298 times)

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
PXE default menu.c32 locks up boot
« Reply #15 on: April 05, 2013, 04:56:17 AM »
Hmmm..

Maybe I misunderstood, but I thought pxelinux.0 was a replacement for menu.c32 used in pxe environment..? 

So you have to use both??
« Last Edit: April 05, 2013, 05:03:18 AM by coreplayer2 »

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #16 on: April 05, 2013, 12:41:38 PM »
Hi coreplayer2.  pxelinux.0 is the program code that is first sent to the pxe client from the tftp server upon successful connection.  menu.c32 is not necded unless you want to have a selection menu.  For an example look at the /netboot/pxelinux.cfg/default file created by the tc-terminal-server script; it doesn't use menu.c32 because it isn't needed - there is only one thing to be done, and it does it very well. 

All of the above is based on what I have learned in the past few weeks so allow room for "systax errors" in my explanation.  I'm sure there are plenty of others that can clarify/correct any such errors and we can all learn from them.

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: PXE default menu.c32 locks up boot
« Reply #17 on: April 05, 2013, 12:47:55 PM »
The pxelinux.0 and menu.c32 MUST come from the same extension/version.

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: PXE default menu.c32 locks up boot
« Reply #18 on: April 05, 2013, 03:04:42 PM »
Hi all,

I have done some more testing to see if I could find out anything that might prove useful to anyone that may have insight into this problem.

First I tried doing a clean boot from CD on a machine that had never been used with TCL before.  This was identical hardware but untouched by TCL.  I used the TCL 4.7.5 iso.  I modified the tc-terminal-server script to fix the boot_file name problem so that my pxe clients would boot. I verified that the pxe client booteed into TC from the TC pxe server.  I next copied menu.c32 into /netboot and changed the default file from "DEFAULT core" to "DEFAULT menu.c32".  When I rebooted the pxe client it froze at the same error message (..trying to load default...).

I next added one more change to default: PROMPT 0.  Client still froze at same error message.  Just to see what would happen, I changed default to: PROMPT 1 and rebooted the client.


gmc, may I repeat myseft without annoy you?
from http://www.syslinux.org/wiki/index.php/SYSLINUX
" UI module options...
Selects a specific user interface module (typically menu.c32 or vesamenu.c32). The command-line interface treats this as a directive that overrides the DEFAULT and PROMPT directives."

please, try like I have suggested:
DEFAULT Some_label_menu
UI menu.c32

so, do not write default= menu.c32, instead use default=Some_label_menu, then use the directive UI=menu.c32;
good luck!


« Last Edit: April 05, 2013, 03:06:41 PM by nick65go »

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #19 on: April 05, 2013, 05:28:33 PM »
nick65go - never hesitate to tell me again - I missed it the first time.  I did see your previous post but due to my low vision (I'm legally blind) I missed the critical lines, they blended into the forest, so to speak.  I can not tell you how much I appreciate you taking the time to repeat the information in a manner that made it so clear to me.  You were correct - that was the problem!

Oh, and I did read the wiki post (again - I had been there before) but again, too much information that did not apply made it hard to find the nugget I needed.  I had tried the UI statement but must have gotten it wrong somehow.  I am so very happy now that it is working!

Thanks to you and to all who helped!

Offline genec

  • Full Member
  • ***
  • Posts: 240
Re: PXE default menu.c32 locks up boot
« Reply #20 on: April 05, 2013, 08:07:09 PM »
Just as a reminder: the directives TIMEOUT and TOTALTIMEOUT are global directives (as opposed to label-specific directives).  For clarity, I generally recommend putting them at the top, rather than as you have it in the first config (indented without a separating line under a LABEL).

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #21 on: April 07, 2013, 07:44:43 AM »
Thanks, genec, I was wondering about that.  Good info on the global aspect of those items.

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #22 on: April 07, 2013, 07:51:01 AM »
Sigh...

I'm back.  Sorry to say, but my problem  is not resolved.  using the UI directive did not fix the menu.c32 lockup problem, it bypassed it!  That is to say, "UI menu.c32" is never executed.  The first line "DEFAULT menu_label" is executed immediately and menu.c32 is not called, thus, no lockup.

Back to square two...

Offline nick65go

  • Hero Member
  • *****
  • Posts: 839
Re: PXE default menu.c32 locks up boot
« Reply #23 on: April 07, 2013, 08:44:45 AM »
@gmc
I appreciate your wiling to solve this problem. But when I have a issue with TC (and in general in life, also) I try to "debug" it back to its roots.
When I have less knowledge about it, I first use logic, then sometime brute force. (I am talking about me, no offense intended)

So, you should split the problem in pieces. Are the syslinux binaries or /pxelinux.0/default the culpit? Very important!
I advise you to type the commands yourself MANUALLY in a terminal (aterm), and not to use the scripts provide in TC, so you can see EACH error/warning message yourself.

If you skip these steps then you have less tracking to pinpoint your modifications. the good changes in one part will be banned by bad changes/over-written in other parts.

If you are sure that you use the right binaries (from the same package) in the right final folder, then you can PXE boot the client (you confirmed). Then the PXE configuration file IS the problem.

You can prepare very simple PXE configurations with any text editor. Make many, it is easy and fast to make one, and modify its copy. All done in a private folder. Then try one by one each configure you created, by coping it to the right folder (/netboot/pxelinux.0/). Then plug the PC client to load your new config from tftpd server.

If your graphic menu starts but quickly choose the default menu, then I suspect it is a *TIME* directive wrong settings in the config.
Come on, there are not so many combinations you can choose from, just use the maximum time(out) for all, play on safe side.

thanks for your feedback. good luck!
« Last Edit: April 07, 2013, 09:10:52 AM by nick65go »

Offline genec

  • Full Member
  • ***
  • Posts: 240
Re: PXE default menu.c32 locks up boot
« Reply #24 on: April 07, 2013, 12:26:39 PM »
Thanks, genec, I was wondering about that.  Good info on the global aspect of those items.
In newer versions, you'll see a txt/ directory in the binary/source archive or git tree.  The context of a directive is one of the key concepts I used for regrouping directives.

Offline genec

  • Full Member
  • ***
  • Posts: 240
Re: PXE default menu.c32 locks up boot
« Reply #25 on: April 07, 2013, 12:41:48 PM »
Here's something that may help.  Note that directives are only capitalized to help them stand out (in the lack of colorized highlighting).  Indentation is also done for clarity.  Neither capitalization nor indentation are required.

Code: [Select]
DEFAULT bootlocal
# Use UI menu.c32 for final
# UI menu.c32
# Use PROMPT 0 for final
PROMPT 1
TIMEOUT 80
TOTALTIMEOUT 900

MENU TITLE PXE Boot Menu

LABEL bootlocal
    MENU LABEL ^Boot Local Drive
    MENU DEFAULT
    LOCALBOOT 0

LABEL seatools
    MENU LABEL ^Sea Tools HD Test Program
    KERNEL memdisk
    APPEND initrd=seatools.img floppy

LABEL core
    MENU LABEL ^Tiny Core Linux (base only)
    KERNEL vmlinuz
    APPEND quiet 786 initrd=core.gz

# this can help tab completion suggestions
LABEL menu
    MENU HIDE
    COM32 menu.c32

# an example for alternate label
LABEL ui
    MENU HIDE
    COM32 menu.c32

I do commend the use of simple LABELs.  I generally try to fit it to all lowercase, numbers, underscore and occasionally periods and/or hyphens out of habit (and easy typing).  Older versions required it to fit the format of an 8.3 filename and the allowable character set for a strict ISO is [a-z0-9_.] and limit 1 period.

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #26 on: April 08, 2013, 04:43:48 AM »
Thaks, genec and nick65go, it really helps when someone throws out ideas, I don't feel so alone and frustrated.  You have given me good tips and directions.  Thanks.

I have used very simple menus for testing, cutting them down to the bare essentials, even copying one from a working pxe server.  If it worked there it ought to work on TC.  One thing I don't know for sure has to do with package versions.  I can't figure out how to check package version numbers in TC.  I thought TC was in the Debian family but dpkg isn't available. 

Along the same line of thought, I wonder if menu.c32 in the isolinux directory on the iso image is the same version as syslinux in the 4.7.5 core?  How would I check version info on individual files?  I've searched the Web but have not found anything so far that works.

Well, back to the battle...


Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: PXE default menu.c32 locks up boot
« Reply #27 on: April 08, 2013, 08:12:02 AM »
OK - here is what I have done today.

Reviewed syslinux menu directives/syntax (wiki).

Clean boot TCL 4.7.5. 
Run tc-terminal-server. 
Copy menu.c32 from syslinux-4.02.tar.gz (direct download from syslinux site) to /netboot (based on my understanding that TCL 4.7.5 is using syslinux version 4.02). 
Boot PXE client using the default /netboot/pxelinux.cfg/default file as created by tc-terminal-server (to verify that everything is working).

PXE client boots into TC CLI mode (the default setup as created by tc-termianl-server does not create a boot menu).  So far so good.

Edit /netboot/pxelinux.cfg/default.  Added to the tc-terminal-server default file the following:

DEFAULT menu.c32 (I chose not to use the UI directive because it is not required and does not fix the problem I am having - just muddies the waters so to speak).
PROMPT 0 (prompt 1 just drops to the command line with the 'boot:' prompt).

I have tried with and without menu labels (as I read it, they are optional).

What happens: PXE client hangs at the point where the system is trying to read the 'default' file, no menu is displayed. 
If PROMPT is set to 1 then no menu is displayed and client drops to CLI with a "boot:" prompt.  At that point I can type 'core' and Enter and boot into TCL CLI.

At this point I can't think of what to try next.  The very basic menu I am using in 'default' works on my Debian Squeeze server, it seems it should work on TCL.

Does anyone have any more ideas on what I can try?

Thanks much to all who have helped thus far.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11049
Re: PXE default menu.c32 locks up boot
« Reply #28 on: April 08, 2013, 08:23:49 AM »
Please change this step:

Quote
Copy menu.c32 from syslinux-4.02.tar.gz

to also copy pxelinux.0.
The only barriers that can stop you are the ones you create yourself.

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: PXE default menu.c32 locks up boot
« Reply #29 on: April 08, 2013, 09:56:57 AM »
I thought TC was in the Debian family but dpkg isn't available.

Unfounded, Core is fully independent. 

Quote
Along the same line of thought, I wonder if menu.c32 in the isolinux directory on the iso image is the same version as syslinux in the 4.7.5 core?  How would I check version info on individual files?  I've searched the Web but have not found anything so far that works.

e.g.:
Code: [Select]
tc@box:~$ grep PXELINUX /usr/share/syslinux/pxelinux.0
PXELINUX 3.61 2008-02-03
tc@box:~$
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)