WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: tc-terminal-server - pxelinux.0 name corruption?  (Read 5547 times)

Offline gmc

  • Full Member
  • ***
  • Posts: 141
tc-terminal-server - pxelinux.0 name corruption?
« on: March 28, 2013, 01:16:03 PM »
Greetings,  I am having a problem with getting pxe boot to work with tc-terminal-server.  One client boots fine, three others don't.  The three that don't are having a problem with the pxelinux.0 file name.  A packet trace shows that the file name being offered by the server has some garbage at the end of the name.  Using gpxe works on one client and ipxe works on another one.  Nothing works on the fourth.

I installed Debian Squeeze and set up dnsmasq for netboot server.  All four clients booted with no problem, using pxe client in ROM.

I have searched forums and found that some people have had success with tc-terminal-server by making some config changes but they did not work for me.  I am wondering if anyone knows of a "fix" that directly addresses the pxelinux.0 filename appended characters problem?

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11022
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #1 on: March 28, 2013, 03:04:01 PM »
It uses busybox servers, so it's a busybox bug - please report it to bugs.busybox.net.
The only barriers that can stop you are the ones you create yourself.

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11022
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #3 on: March 28, 2013, 03:57:20 PM »
@tinypoodle

tc-terminal-server already does that workaround, as I saw the issue when testing the initial version.
The only barriers that can stop you are the ones you create yourself.

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #4 on: March 28, 2013, 04:08:44 PM »
curaga - Thanks for the tip - I will report the bug as you directed.

tinypoodle - I followed the link you gave - it appears that the symbolic link is already in place on the default TCL setup.  It doesn't seem to help in my case.   Perhaps you could elaborate on how it is supposed to work?

I have been working on this for the past couple of weeks and can't seem to find a solution, yet.  I see many others have this or very similar problems but have not yet found a solution that I can successfully implement.

Someone set up dnsmasq on TC but I have not been able to get that working at all - clients don't even see that it is running.  (Debian Squeeze setup was fairly easy.)  I'm relatively new to linux and constantly find myself running into problems due to lack of knowledge/experience.  Would love to have the configuration files and file location details for dnsmasq from someone that has successfully set it up.

I am very impressed by the prompt replies to my posting.  You two certainly spend a lot of time helping the community.  Well done and thanks much!

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #5 on: March 28, 2013, 04:15:16 PM »
@tinypoodle

tc-terminal-server already does that workaround, as I saw the issue when testing the initial version.

Ah yes, should have checked first, however, an interesting bit there is that the same seems to occur even with tftpd-hpa.
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #6 on: March 28, 2013, 04:17:06 PM »
tinypoodle - I see you were writing your last post while I was responding to your first.  Thanks!

So, the symlink work-around is already in place.  Do you know of any other work-arounds that I might try?

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #7 on: March 28, 2013, 04:38:06 PM »
Subject is discussed here:
http://forum.tinycorelinux.net/index.php?topic=8049.0

I had refrained from posting this link, suspecting from your earlier wording you might already have seen it.
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #8 on: March 28, 2013, 10:04:38 PM »
tinypoodle - you are a good "suspecter"!  Yes, I had already seen that link.  I tried changing the file but am not at all sure I did all the needed steps in the correct order.  I am operating under a double handicap here.  I am limited in linux knowledge, and even more so in TCL knowledge.  To make matters worse, I am legally blind and therefore find it very difficult to work with TCL.  I am running TC at 640X480 resolution on a 47" monitor but even then I must use a very powerful magnifying glass.  And with all that I still have trouble making out the characters on screen.  That makes reading manuals very challenging.

With all that said, would you be willing and able to provide the needed steps to make that boot option change as mentioned in the link you provided?  Perhaps I left out a critical step.  Perhaps that change will fix the problem?
Thanks for all your help thus far, and for any you may be able to provide.

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #9 on: March 28, 2013, 10:24:16 PM »
With all that said, would you be willing and able to provide the needed steps to make that boot option change as mentioned in the link you provided?

I don't think I would be suitable to do so, as personally I have no experience of making it work with quirks and I think your best bet is trial and error.
My experience is limited to either case where tc-terminal-server works right out of the box or case of failure where I gave up after finding there was a hardware incompatibility, I recommend you check for your specific hardware and PXE implementations here:
http://www.syslinux.org/wiki/index.php/Hardware_Compatibility#Problematic_network_cards

and maybe search the syslinux wiki for more info about options of pxe booting in general.
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline nick65go

  • Hero Member
  • *****
  • Posts: 818
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #10 on: March 29, 2013, 08:57:24 AM »
@gmc

Hi, there are two suspects here: the configuration file (/netboot/udhcpd.conf) and the busybox applets (dhcp and tftp programs).

1.  You need a good config file; try to google for dhcpd options like:
option   tftp   192.168.1.65
boot_file /netboot/pxelinux.0
different syntax!

2A. see the individual commands inside the tc-terminal-server script; then in a aterm (terminal) run each of them, one by one, manually (eventually with debug parameters); write down the error messages and look up for them on the internet.

2B. grab a NEW busybox, not from Tinycore, preferably statically linked, just for testing that the OLD applets are not the buggy ones.
(sample: http://www.busybox.net/downloads/binaries/latest/ )
or build /compile one yourself (in few minutes), from a git/ snapshot one;

Remarks: I hope you did check that you do not run two (or many more) dhcpd or tftp demons (servers) simultaneous.
When you run tc-terminal-server script, it dynamically create a configuration file AND it starts the two servers; this means tc-terminal-server script will OVERWRITE your manual edited configuration. So first understand how tc-terminal-server works. Then after killing the servers from memory (use top / htop), try to mimic yourself what tc-terminal-server script did. When a dhcpd server is running, it has already read its configuration (/netboot/udhcpd.conf) so you need to kill it and start it again to read your new config.

TC is about learning yourself; If it is too demanding for you and it does not worth the effort, I advise you to wait until TC 5.0 will be issue and maybe busybox is updated/corrected. Or just use another combination of dhcp+tftp for PXE booting.

All the best.
« Last Edit: March 29, 2013, 12:31:17 PM by nick65go »

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #11 on: March 29, 2013, 01:48:34 PM »
Hi tinypoodle - I understand, no problem.  Somehow I got the impression that you would just know all things PXE.  Well, it didn't hurt to ask.  I do appreciate all your assistance.  Thanks much.  I'll check out the link...

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #12 on: March 29, 2013, 02:00:31 PM »
Hi nick65go.  Thanks for the very helpful replyl.  I'll check out those ideas.  As far as having two servers running at once, no fear.  I only have one running at a time.  For testing between the Debian and TC machines I unplug the network cable for whichever one I am not using for the test.  And I use different IP ranges for DHCP - that makes it very easy to see which server I am connected to at PXE boot time.

I really liked your idea about trying out a later version of busybox.  I'll also keep working on the configuration options to see what effect they might have.

Thanks very much for taking the time to respond and thanks again for the great suggestions.

Offline gmc

  • Full Member
  • ***
  • Posts: 141
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #13 on: March 29, 2013, 07:39:23 PM »
Success!  Thanks to all who have been so helpful.  I tried the "boot_file" option one more time.  I don't know what I did different, but it worked!

I changed:
option bootfile /pxelinux.0

to

boot_file /pxelinux.0

in the tc-terminal-server script.

Saved and ran the script.  Viola!  Success!

For what it is worth, I first tried:
option bootfile /netboot/pxelinux.0
and
option bootfile //netboot/pxelinux.0

Neither of those changes were successful at removing the extra characters at the end of the file name.

Now I just need to read up on making the changes to tc-terminal-server persistant...

Thanks again, your support and helpful tips were wonderful!

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11022
Re: tc-terminal-server - pxelinux.0 name corruption?
« Reply #14 on: March 30, 2013, 07:40:03 AM »
Ok, we'll add that.
The only barriers that can stop you are the ones you create yourself.