 |
|
|
R E F E R E N C E D E S I G N |
|
|
|
VIP6086N Advanced digital VOD client based on VIA C3 667MHz |
|
|
|
RG100 Residential Gateway for SOHO and home use |
|
 |
RouterLinux
1.1 based on 100% open source OS to full feature
router |
|
|
 |
|
|
Network Booting a Linux STB with PXE
TALK BACK: Courtesy of Vincent Gebes- ambisys |
I have not had any luck with booting over the network, and I have decided to try installing
by setting up the hard disk on another machine first and moving it over to the GCT box once it is set up. I'm including a summary of my setup and problems.
------------------------------------------------------------------------------------------- I have Mandrake Linux installed on a laptop and connected to the GCT box with a crossover cable. On the Linux
server I have ISC DHCPD, 2 versions of TFTP server (HPA and ATFTP), and PXELINUX. I have tried them in the following sequences with the following results:
1) ISC DHCP server, TFTP-HPA with
pxelinux.0 in the /tftpboot directory. When I power-up the GCT box, it gets its address from the DHCP server, as well as the TFTPD address and filename. It sends a TFTP open request for the file, as well as
setting a couple of options. The TFTP server responds (to the port that the request came from) with an option acknowledgement. The GCT box does not respond to this and the server continues to resend option
ack packets. The GCT box resends the Read Request packet a couple of times but the connection is never established. The boot screen has the following messages between the time it starts and ends. I am fairly
certain that both PXE and tftpboots are supported based on the messages.
DHCP MAC ADDR: xx xx xx xx xx xx PXE-EA1: No PXE server found, using standard boot file. IP ADDR: xxx.xxx.xxx.xxx
PXE-E32: TFTP open timeout. PXE-E32: TFTP open timeout. PXE-M0F: Exiting LANDesk Service Agent.
Non-System disk or disk error Replace and press any key when ready
2) Same setup as above, but with ATFTPD instead of HPA. This is basically exactly the same as above, where the GCT box initiates a session with the server, but never seems to see the option acks from the
server, and the session times out.
3) Same setup as above, but using the PXELINUX pxe server. In this case, I changed the DHCP conf file to remove the tftp server and bootfile, and instead specify the
pxe client and pxe server address. Again, the GCT box seems to get the configuration from the DHCP server, and initiates a connection to the PXE server, but does not seem to see the responses from the PXE
server, and the session times out. |
Quick Fix Courtesy of Vincent Gebes- ambisys |
Actually, the workaround is in the PXELINUX web page under the _hardware_ section. I've cut and pasted
the relevant part of the page below.
--------------------------------------------------------------------------------------------- { PXE stacks based on Intel's 0.99 series code }
A lot of
older PXE stacks are based on Intel LANDesk Service Agent II, versions 0.99, which were released by Intel as "PXE PDK v2.x", despite being what can best be described as alpha quality. These stacks
have numerous problems and can trivially be crashed.
If you can, upgrade your firmware.
Unfortunately, firmware upgrade to a recent source base are frequently unavailable for these cards,
especially motherboard cards where the PXE stack is integrated with the system BIOS. If so, these stacks can usually be made to work with the following workarounds:
Disable path MTU discovery on the
boot servers. Some versions of these stacks are known to crash if the boot server supports path MTU discovery on UDP. For a Linux server, path MTU discovery can be disabled by setting the sysctl entry
net.ipv4.ip_no_pmtu_disc to 1:
echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
Note that that may cause bad performance for other services which may be running on the boot server, especially
if they have to talk over WAN links.
Disable the blksize TFTP option on your TFTP server. Some version of these stacks are known to request the blksize option and fail to complete the initial
bootstrap transfer if the option is granted by the server (i.e. they got what they asked for.) For tftp-hpa, specify -r blksize to disable blksize, for atftp specify --no-blksize.
For other TFTP servers, see your TFTP server documentation.
--------------------------------------------------------------------------------------------- |
|
 |
Feedback Tips |
Problem: After PXE boot using TFTP, the 3036 screen is filled with flashing colors and characters. The operating system being loaded is
Linux. |
Fix:
The problem is caused by the 3036 being unable to access the kernel. Doing a chmod 777 on the kernel file (bzlmage) will correct the problem and allow the kernel to load correctly.
by Craig Buckland, e-mail: cbuckland@vcnet.com
|
|
|