Krups Specification & Boot Sequence
The Krups was an improvement over the older Mr.Coffee and featured a new funky
ergonomic design. The name Krups derives from the likeness to the products of
the coffee-machine makers of the same name. The main improvements are an
audio in and the removal of the power supply fan (the PSU is now an external
unit, which some may argue is a step backwards!).
The basic spec. for the machine is as follows:
||IGA 1682 (2Mb VRAM)
||Happy Meal (hme)
Here is the boot sequence for my Krups (OpenBoot 3.11.9):
| ||OpenBoot sends DHCPDISCOVER from
0.0.0.0 to 255.255.255.255 (broadcast).1|
|Get DHCPOFFER from boot server.2|
|OpenBoot sends DHCPREQUEST from 0.0.0.0 to 255.255.255.255 (broadcast).|
|Get DHCPACK from boot server.|
|Krups now sets its ip address.|
|OpenBoot sends a TFTP request for the file specified in the dhcp lease (hexip).|
|Get file from boot server (this is the PROLL image).|
|OpenBoot starts PROLL.|
|PROLL sends BOOTREQUEST from 0.0.0.0 to 255.255.255.255 (broadcast).|
|Get BOOTREPLY from boot server.3|
|PROLL now sets its ip address.|
|PROLL sends a TFTP request for hexip.PROL.|
|Get file from boot server (this is the linux kernel image).|
|PROLL starts Linux.|
|(Optional) Linux sends BOOTREQUEST and gets a BOOTREPLY with its ip address.|
||The JavaStation doesn't have an ip address yet!|
||Must be sent to Krups' ethernet address - OpenBoot will not accept a
||This must be at least 300 bytes long and must either contain no options,
or RFC1048 options terminated by a 255 (ff) byte. It can however be sent
to the broadcast ethernet address.|
Note the constraints on the DHCPOFFER and BOOTREPLY. Unmodified versions of
ISC DHCP fail to send to the right ethernet address, thus the Krups ignores the
packet and repeatedly sends DHCPDISCOVER packets. Weird Solutions' DHCP
Turbo truncates its BOOTREPLY packet after the 255 (ff) byte of the options,
and PROLL prints "BOOTP: Invalid record.".
Unlike Mr.Coffee, there is no need for a RARP server. With the Krups, DHCP
is used initially, but once PROLL is up and running, BOOTP is used instead.
Most DHCP servers support both DHCP and BOOTP (DHCP is an extension of BOOTP).
Notice how there is no way to pass the ip address from OpenBoot to PROLL, or
from PROLL to Linux.