Michael Decker: Driver Development

Week 0


19 May 2008

  • Installed libc6-dev, mtools, syslinux, & gitk with Synaptic Program Manager (SPM)
  • Cloned git tree into samba share
    $ git clone git://git.etherboot.org/scm/gpxe.git
  • Successfully built gpxe
    $ make
  • Wrote to usb key, booted successfully on target
    $ dd if=bin/gpxe.usb of=/dev/sdb
  • Installed dhcp3-server via SPM and configured
    • Added interface to /etc/default/dhcp3-server
      INTERFACES="eth0"
    • Modified /etc/dhcp3/dhcpd.conf
      # dhcpd.conf
      #
      
      ddns-update-style none;
      not authoritative;
      
      default-lease-time 600;
      max-lease-time 7200;
      
      host h1 { 
        hardware ethernet 00:11:22:33:44:7b; 
      }
      
      host h2 {
        hardware ethernet 00:11:22:33:44:b0;
      }
      
      shared-network "net" {
      subnet 192.168.2.0 netmask 255.255.255.0 {
        range 192.168.2.10 192.168.2.20;
        option subnet-mask 255.255.255.0;
        option routers 192.168.2.1;
        deny unknown-clients;
      
        option root-path "192.168.2.1:/tftpboot";
        filename "test";
      }
      }

      This configuration was made utilizing this page and man dhcpd.conf. Hosts h1 and h2 are two different ethernet ports on the target. After making changes:

      $ /etc/init.d/dhcp3-server restart
  • Installed tftpd-hpa via SPM and configured
    • Created /tftpboot directory
    • Modified /etc/inetd.conf
      tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot

20 May 2008

  • Tested ATA-over-Ethernet
    • Changed dhcpd.conf:
      # dhcpd.conf
      #
      
      ddns-update-style none;
      not authoritative;
      
      default-lease-time 600;
      max-lease-time 7200;
      
      ignore unknown-clients;
      
      host h1 {
        hardware ethernet 00:11:22:33:44:7b; 
        filename "";
        option root-path "aoe:e0.0";
      }
      
      class "c1" {
        match if option vendor-class-identifier = "Etherboot";
      }
      
      subnet 192.168.1.0 netmask 255.255.255.0 {
        pool {
      	deny members of "c1";
      	range 192.168.1.10 192.168.1.20;
        }
      }

      This is setup such that no IP is allocated, although the aoe boot will initiate for host h1. In this way, Windows will retrieve an IP from the proper DHCP server when it starts. The DHCP server being configured exists on the AOE server only to establish AOE sessions.

    • Configured my 'normal' DHCP server to ignore etherboot DHCP requests
      dhcp-vendorclass=eth,Etherboot
      dhcp-ignore=eth
    • Followed additional AOE steps outlined in HowTo

QR Code
QR Code soc:2008:mdeck:journal:week0 (generated for current page)