Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: nick65go on December 09, 2010, 07:02:46 PM
-
EDIT: solved by dnsmasq.tcz and customized dnsmasq.conf
the bug could be in busybox dhcp/tftp
the solution to work with dhcpcd... Basically instead of making it "option bootfile" i used the boot_file config option. It seems like a change in the dhcpcd conf structure...
On laptop A, I started tc-terminal-server (from control panel, or sudo tc-terminal-server). I checked /netboot is OK
-rw-r--r-- 1 root root 2294848 Dec 9 23:13 bzImage
-rw-r--r-- 1 root root 14716 Dec 9 23:13 pxelinux.0
lrwxrwxrwx 1 root root 19 Dec 9 23:16 pxelinux.0? -> /netboot/pxelinux.0
drwxr-xr-x 2 root root 60 Dec 9 23:16 pxelinux.cfg/
-rw-r--r-- 1 root root 8430620 Dec 9 23:13 tinycore.gz
-rw-r--r-- 1 root root 315 Dec 9 23:16 udhcpd.conf
cat /netboot/udhcpd.conf
# The start and end of the IP lease block
start 192.168.1.67
end 192.168.1.68
# The interface that udhcpd will use
interface eth0
opt dns 192.168.1.254
option subnet 255.255.255.0
opt router 192.168.1.254
option lease 864000 # 10 days of seconds
option tftp 192.168.1.65
option bootfile /netboot/pxelinux.0
cat /netboot/pxelinux;cfg/default
DEFAULT tinycore
TIMEOUT 300
LABEL tinycore
KERNEL bzImage
APPEND quiet initrd=tinycore.gz
laptop A mother-ship (192.168.1.65) outputs in terminal:
tftpd: can't open file
tftpd: can't open file
laptop B (192.168.1.67) connect to laptop A mother-ship (192.168.1.65) and spits out errors:
PXE-T01can't open file
PXE-E3B tftp error - file not found
PXE-M0F: Exiting PXE ROM.
searching the internet, it seems that "The boot file name does not exist on the PXE server." according with
http://docs.sun.com/source/817-5625-10/Linux_Troubleshooting.html
But all is TC virgin stock files, just customized the /netboot/udhcpd.conf
If manually nomal boot laptop B, I check on it: that dhcp works, and I can use tftp to transfer files from mothership like: tftp -gr bzImage 192.168.1.65
Help please
-
Works for me..
You could check if using
option bootfile //netboot/pxelinux.0
helps (two slashes). There might be a bios update or something, if your PXE stack doesn't interpret things right.
-
@curaga
Thanks, you might have right about my BIOS; I have a Dell mini 910 with BIOS ver A04
with Intel UNDI PXE-2.1 (build 082) year 2000;
When I use this laptop B as a mothership, other laptop A boots PXE(build 080j) is OK.
I do not think I will find an updated BIOS with a correct PXE for linux.
I have tried various names in /netboot/udhcpd.conf for option bootfile, such as
//netboot/pxelinux.0, /netboot/pxelinux.0, pxelinux.0, etc... still NOT works;
Regards
-
I happen to have a laptop from 2000 with some Intel PXE - possibly UNDI - couldn't check details though, it works perfectly well (without going into detail, those errors on mothership are possibly nothing to be concerned about).
Have you checked all related BIOS settings?
Also there may be settings for the PXE ROM itself, usually a key press needed just after it comes up.
-
lrwxrwxrwx 1 root root 19 Dec 9 23:16 pxelinux.0? -> /netboot/pxelinux.0
Is that it's exact name?
Here it is pxelinux.0ÿ
(rox would spit out an error about that name being invalid UTF-8...)
-
lrwxrwxrwx 1 root root 19 Dec 9 23:16 pxelinux.0? -> /netboot/pxelinux.0
Is that it's exact name?
Here it is pxelinux.0ÿ
(rox would spit out an error about that name being invalid UTF-8...)
yes, the link file name is the same not touched, (i just ls -al * > /tmp/xxx.txt to copy here the list)
My BIOS is very spartan / simplistic, as is expected from any Dell computer >:(
in the mean time I played with option bootfile and discovered that for ./pxelinux.0 will change the message to
PXE-T00 dot in filename;
So the problem seem to be the full path/name of pxelinux.0 not asked corrected for by PXE BIOS
Or, not pushed forward by dhcp server config?
Regards
PS: I try to debug something
tc@box:/netboot$ sudo udpsvd -vE 0 69 tftpd /netboot
udpsvd: listening on 0.0.0.0:69, starting
udpsvd: start 3649 192.168.1.65:69-192.168.1.67:2070
udpsvd: status 1/30
tftpd: can't open file
udpsvd: end 3649 exit 1
udpsvd: status 0/30
udpsvd: start 3650 192.168.1.65:69-192.168.1.67:2071
udpsvd: status 1/30
tftpd: can't open file
udpsvd: end 3650 exit 1
udpsvd: status 0/30
^Cudpsvd: got signal 2, exit
-
There's a third-party pxe stack known as gpxe. That can be booted from a cd or a floppy to netboot computers whose own PXE stack is flawed or that don't have PXE.
However, when testing that yesterday I found it's not 100% PXE compliant either :( I did file a bug on that. When it is booted against tc-terminal-server, it thinks the tftp server is at 0.0.0.0.
-
http://rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/
looks interesting...
-
I will read and play with the idea of gpxe, after I am sure my PXE ROM is buggy;
it would be nice to try another TCZ combination of dhcp + tftp on the mother-ship, as I still believe the busybox applets are buggy.
1. Could you suggest the combinations programs and their config?
2. What mix of commands for locate and read (hexa/ascii) the BIOS/PXE rom from laptop?
Thanks
-
The only other packaged tftp server is in inetutils-servers.tcz. I think there are several dhcp servers.
Configuring both will of course be different to the busybox configs.
-
Dnsmasq does dhcp, dns, and tftp. It iswhat I use for a PXEboot server.
-
http://rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/
looks interesting...
wikipedia: gPXE evolves into iPXE, maybe you will find interesting http://ipxe.org/faq
thanks you for guide lines
@gerald_clark
I will try; Thank you very much!
EDIT: WOW; it works with dnsmasq extension!
I just need to manually create the folder /var/lib/misc (I would like to suggest it to be in TC base) for auto-created dnsmasq.leases file
Then I read and modified /usr/local/etc/dnsmasq.conf.example into /usr/local/etc/dnsmasq.conf
Inside I have just few lines/options like
enable-tftp
tftp-root=/mnt/sda11/test/netboot
dhcp-boot=pxelinux.0
dhcp-range=192.168.1.20,192.168.1.22,255.255.255.0,24h
...I think I need more line options to add, because pxelinux.0 just pause (with out a menu?) and boot right into TC 3.4rc2 Xvesa,
I have even renamed/add pxelinux.cfg/default into pxelinux.cfgconfig/01-xx-xx-xx-xx-xx-xx (my MAC address) for faster boot (as documented in syslinux site and in this forum);
I am pleased with this solution, but... I would like to know what is the bug with the busybox dhcp/tftp
Maybe you could correct for new TC version;
Thanks again for your time to help me.
-
I know this is solved, but I had problems with this as well. However I got the solution to work with dhcpcd... Basically instead of making it "option bootfile" i used the boot_file config option. It seems like a change in the dhcpcd conf structure...
I changed my /netboot/dhcpcd.conf to look like this.
start 10.0.2.2
end 10.0.2.50
lease_file /netboot/leases
boot_file /netboot/pxelinux.0
interface eth1
option subnet 255.255.255.0
option lease 864000
option tftp 10.0.2.1
Thanks for the information here though, and a great linux distro ;)
-
I know this is solved, but I had problems with this as well. However I got the solution to work with dhcpcd... Basically instead of making it "option bootfile" i used the boot_file config option. It seems like a change in the dhcpcd conf structure...
Thank you, good tip; It is working for me; I am back again to basic, using TC default tools;
Could TC team modify the tc-terminal-server command scripts like this sugestion?