P R O D U C T S

 

 Stino MPEG4 STB

 

 Media Adaptor

 

 Kiosk

 

 Set Top Box

H O W    T O

 

Remote Control Linux Program

 

MPEG4 Playback

 

VBI Tuner Program

 

3rd LED Program

 

AUX_IN Audio

 

Disk On Chip

 

MPEG Video

 

PXE (6086)

 

PXE (3036)

 

PXE Server

 

PXE Server Fix

 

RedHat Installation

WORKSHOP & TIPS

 

Remote Boot (XPE)

 A R T I C L E

 

IPSec Router

 

Light Station

 

DIY MP3 Player

 

 Linux Palm Key

 

 VOD White Paper

 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