September 16, 2016

Getting started with Kyu on the x86 platform.

For the past year or more, Kyu development has focused entirely on the ARM platform and the BBB. But, Kyu was first developed on the x86 and it would be interesting to get it running again on that platform.

As a not unimportant side note, the x86 platform is now much less interesting than it was back when Kyu was first developed. This is mostly because it has become all but impossible to interface to hardware. Modern desktop x86 machines no longer have parallel ports or the ISA bus and the PCI bus is all but gone. Intel has produced a handful of x86 products (The Galileo and Joule), but these miss the mark on several counts. They are expensive and poorly documented, both fatal issues when you can buy a BBB for $50 with extensive technical documentation. The Galileo sells for $75. The Joule completely misses the mark at $300 and with no wired network.

Hardware

I dug around in my junk pile and found a motherboard I was no longer using. It is an ASUS M2N-E with an AMD 64 X2 "4800+" processor. Two cores running at 2500 Mhz. The "4800+" label is an amusing throwback to when it was stylish to lie in this fashion about processor clock speeds (I suppose these were called "ratings" in those days). The board has 8G of ram mounted (as four sticks of 2G each). I add a video card (a Zotac card with some Nvidia chip and no fan). When I fire it up (after finding a working power supply) I realize that I need to find a new coin battery for the bios.

I have a bunch of Intel Pro/1000 MT network cards (e1000) laying around, so I plug one of these in. The BIOS menu now shows the choice of "IBA GE Slot 0138". "IBA" stands for Intel Boot Agent, and indeed this cryptic offering is the network card. I have no idea what "GE" is about or even "Slot 0138" for that matter. I configure this as the first and only boot choice and the machine is now trying to do a PXE boot and sending out a DHCPDISCOVER broadcast (I see this using wireshark). The screen says "No boot filename received".

DHCP and TFTP

To go any farther, I am going to need to set up a DHCP server on my Fedora system (I already have TFTP set up, but I will need to fiddle with that also). My router is offering an IP address, but the PXE roms want more than that. I install the dhcp server software via:
dnf install dhcp-server
Now the thing to do is to edit /etc/dhcp/dhcpd.conf and start the service running.
systemctl start dhcpd.service.
I can get the MAC address of the card from the screen or from wireshark.


Have any comments? Questions? Drop me a line!

Kyu / [email protected]