====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
soc:2008:mdeck:journal:start [2008/05/31 14:39] mdeck |
soc:2008:mdeck:journal:start [2008/08/13 15:16] (current) mdeck |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Journal ===== | ===== Journal ===== | ||
- | The following is a log of steps I've taken. Note that I don't use Linux on a daily basis. Any terminal commands below are for my reference. | + | Throughout my development efforts here with the Etherboot project, I've maintained a journal. You'll find details of my progress, notable considerations, and links to my commits. Or you can jump straight to my working branch [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=shortlog;h=skge|shortlog]]. |
- | ==== Week 0 ==== | + | * [[weekC|Week C]] ∋ {13 August, ...} |
- | + | * [[weekB|Week B]] ∋ {06 August, ..., 10 August} | |
- | === 19 May 2008 === | + | * [[weekA|Week A]] ∋ {30 July, ..., 31 July} |
- | + | * [[week9|Week 9]] ∋ {23 July, ..., 24 July} | |
- | * Installed libc6-dev, mtools, syslinux, & gitk with Synaptic Program Manager (SPM) | + | * [[week8|Week 8]] ∋ {16 July, ..., 20 July} |
- | * Cloned git tree into samba share <code>$ git clone git://git.etherboot.org/scm/gpxe.git</code> | + | * [[week7|Week 7]] ∋ {09 July, ..., 13 July} |
- | * Successfully built gpxe <code>$ make</code> | + | * [[week6|Week 6]] ∋ {02 July, ..., 05 July} |
- | * Wrote to usb key, booted successfully on target <code>$ dd if=bin/gpxe.usb of=/dev/sdb</code> | + | * [[week5|Week 5]] ∋ {23 June, ..., 29 June} |
- | * Installed dhcp3-server via SPM and configured | + | * [[week4|Week 4]] ∋ {16 June, ..., 19 June} |
- | * Added interface to ''/etc/default/dhcp3-server'' <code>INTERFACES="eth0"</code> | + | * [[week3|Week 3]] ∋ {10 June, ..., 15 June} |
- | * Modified ''/etc/dhcp3/dhcpd.conf'' <code> | + | * [[week2|Week 2]] ∋ {04 June, ..., 08 June} |
- | + | * [[week1|Week 1]] ∋ {26 May, ..., 01 June} | |
- | # dhcpd.conf | + | * [[week0|Week 0]] ∋ {19 May, 20 May} |
- | # | + | |
- | + | ||
- | 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"; | + | |
- | } | + | |
- | }</code> This configuration was made utilizing [[:twodhcpservers|this page]] and [[http://linux.die.net/man/5/dhcpd.conf|man dhcpd.conf]]. Hosts ''h1'' and ''h2'' are two different ethernet ports on the target. After making changes: <code>$ /etc/init.d/dhcp3-server restart</code> | + | |
- | * Installed tftpd-hpa via SPM and configured | + | |
- | * Created ''/tftpboot'' directory | + | |
- | * Modified ''/etc/inetd.conf'' <code>tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot</code> | + | |
- | + | ||
- | === 20 May 2008 === | + | |
- | + | ||
- | * Tested ATA-over-Ethernet | + | |
- | * Changed dhcpd.conf: <code> | + | |
- | # 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; | + | |
- | } | + | |
- | } | + | |
- | </code> 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<code>dhcp-vendorclass=eth,Etherboot | + | |
- | dhcp-ignore=eth</code> | + | |
- | * Followed additional AOE steps outlined in [[:sanboot:winxp|HowTo]] | + | |
- | + | ||
- | ==== Week 1 ==== | + | |
- | + | ||
- | === 26 May 2008 === | + | |
- | + | ||
- | * Converted ''#ifdef DEBUG printf(..)'' and ''hd(..)'' statements to ''DBG(..)'' and ''DBG_HD(..)'' in ''eepro100.c'' | + | |
- | * Collected & sorted notes on Etherboot and gPXE driver API | + | |
- | + | ||
- | === 27 May 2008 === | + | |
- | + | ||
- | * Further gPXE network driver API documentation | + | |
- | * Hardware problems encountered; consulted with mdc | + | |
- | + | ||
- | === 28 May 2008 === | + | |
- | + | ||
- | * [[:soc:2008:mdeck:notes:gpxe_driver_api|gPXE Network Driver API]] documentation continues. | + | |
- | * [[:soc:2008:mdeck:notes:initialization|gPXE Network Driver Initialization]] document added. | + | |
- | + | ||
- | + | ||
- | === 29 May 2008 === | + | |
- | + | ||
- | * [[:soc:2008:mdeck:notes:gpxe_driver_api|gPXE Network Driver API]] documentation updated. | + | |
- | * Specific changes to eepro100.c begin. | + | |
- | + | ||
- | === 30 May 2008 === | + | |
- | + | ||
- | * Fixed repository in git | + | |
- | * Modified .git/config <code> | + | |
- | [remote "personal"] | + | |
- | url = mdeck@rom.etherboot.org:/pub/scm/people/mdeck/gpxe.git | + | |
- | </code> to <code> | + | |
- | [remote "personal"] | + | |
- | url = ssh://mdeck@rom.etherboot.org//pub/scm/people/mdeck/gpxe.git | + | |
- | </code> The erroneous configuration was created from [[:soc:2008:git-usage|here]]. | + | |
- | * Setup my personal info <code> | + | |
- | mike@vaio:~/Shared/repo/gpxe$ git config user.name "Michael Decker" | + | |
- | mike@vaio:~/Shared/repo/gpxe$ git config user.email "mrd999@gmail.com" | + | |
- | mike@vaio:~/Shared/repo/gpxe$ cd .. | + | |
- | mike@vaio:~/Shared/repo$ mv gpxe gpxe.git | + | |
- | mike@vaio:~/Shared/repo$ cd gpxe.git/</code> | + | |
- | * Created personal/drivers branch<code> | + | |
- | $ git-checkout -b drivers origin/master | + | |
- | $ git-push personal drivers | + | |
- | </code> | + | |
- | * Reinitialized personal/master branch<code> | + | |
- | mike@vaio:~/Shared/repo/gpxe.git$ git-branch | + | |
- | drivers | + | |
- | * master | + | |
- | + | ||
- | mike@vaio:~/Shared/repo/gpxe.git$ git-branch -d -r personal/master | + | |
- | Deleted remote branch personal/master. | + | |
- | + | ||
- | mike@vaio:~/Shared/repo/gpxe.git$ git push personal :master | + | |
- | mdeck@rom.etherboot.org's password: | + | |
- | refs/heads/master: 72c77282442fd098a7c762222ba49b55c48d4f82 -> deleted | + | |
- | To ssh://mdeck@rom.etherboot.org//pub/scm/people/mdeck/gpxe.git | + | |
- | - [deleted] master | + | |
- | error: unlink(.git/refs/remotes/personal/master) failed: No such file or directory | + | |
- | error: Failed to delete | + | |
- | + | ||
- | mike@vaio:~/Shared/repo/gpxe.git$ git-push personal master | + | |
- | mdeck@rom.etherboot.org's password: | + | |
- | Total 0 (delta 0), reused 0 (delta 0) | + | |
- | refs/heads/master: 0000000000000000000000000000000000000000 -> c899bdc5a823e623b3e8f7598a7f77d65dcf2d2c | + | |
- | To ssh://mdeck@rom.etherboot.org//pub/scm/people/mdeck/gpxe.git | + | |
- | * [new branch] master -> master | + | |
- | + | ||
- | mike@vaio:~/Shared/repo/gpxe.git$ git-checkout drivers | + | |
- | Switched to branch "drivers" | + | |
- | </code> | + | |
- | * Git commit [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commitdiff;h=0c3deabe7865741c629b422c5abf20369ac04b0a|0c3deabe7865741c629b422c5abf20369ac04b0a]] | + | |
- | * Setup [[:soc:2008:mdeck:notes:start#build_environment|new target machine]]. | + | |
- | * Tested booting with new target. | + | |
- | * Fixed dhcpd.conf for new configuration <code> | + | |
- | # dhcpd.conf | + | |
- | # | + | |
- | + | ||
- | ddns-update-style none; | + | |
- | not authoritative; | + | |
- | ignore unknown-clients; | + | |
- | + | ||
- | default-lease-time 600; | + | |
- | max-lease-time 7200; | + | |
- | + | ||
- | option space gpxe; | + | |
- | option gpxe-encap-opts code 175 = encapsulate gpxe; | + | |
- | option gpxe.bus-id code 177 = string; | + | |
- | + | ||
- | option subnet-mask 255.255.255.0; | + | |
- | option routers 192.168.1.1; | + | |
- | option domain-name-servers 192.168.1.1; | + | |
- | + | ||
- | subnet 192.168.1.0 netmask 255.255.255.0 { | + | |
- | range 192.168.1.10 192.168.1.20; | + | |
- | } | + | |
- | + | ||
- | host h1 { | + | |
- | hardware ethernet 00:11:d8:0e:93:7b; | + | |
- | filename ""; | + | |
- | option root-path "aoe:e0.0"; | + | |
- | } | + | |
- | + | ||
- | host h2 { | + | |
- | # motherboard ethernet adapter | + | |
- | hardware ethernet 00:1F:C6:20:E2:B5; | + | |
- | filename "eepro100.pxe"; | + | |
- | + | ||
- | # if we're not talking to gPXE load this filename | + | |
- | # if not exists gpxe.bus-id { | + | |
- | # filename "eepro100.pxe"; | + | |
- | # } | + | |
- | + | ||
- | } | + | |
- | + | ||
- | host h3 { | + | |
- | hardware ethernet 00:90:27:43:84:4B; # eepro100 card for testing | + | |
- | + | ||
- | # For booting via http, Toms Root Boot | + | |
- | # filename "http://rom.etherboot.org/gtest/gtest.gpxe"; | + | |
- | + | ||
- | # For booting Windows | + | |
- | filename ""; | + | |
- | option root-path "aoe:e0.0"; | + | |
- | } | + | |
- | </code> | + | |
- | * Got chainloading from PXE operational. PXE -> gPXE -> (http or aoe) | + | |
- | * Code review on driver changes with mdc. | + | |
- | * Attempted to fix vblade. | + | |
- | + | ||
- | === 31 May 2008 === | + | |
- | + | ||
- | * Fixed vblade | + | |
- | * Changed mount of file system containing AoE image <code> | + | |
- | $ sudo umount /dev/sda4 | + | |
- | $ sudo mount /dev/sda4 /media/test | + | |
- | </code> | + | |
- | * Modified /etc/vblade.conf <code> | + | |
- | # example configuration file | + | |
- | # network_device shelf slot file/disk/partition mac[,mac[,mac]] | + | |
- | #eth0 0 0 /dev/sdb 00:11:22:33:44:55 | + | |
- | eth0 0 0 '/media/Spare Room/test/disk.img' | + | |
- | </code> to <code> | + | |
- | # example configuration file | + | |
- | # network_device shelf slot file/disk/partition mac[,mac[,mac]] | + | |
- | #eth0 0 0 /dev/sdb 00:11:22:33:44:55 | + | |
- | eth0 0 0 /media/test/test/disk.img | + | |
- | </code> vblade didn't appear to like the space. | + | |
- | * ''$ /etc/init.d/vblade start'' | + | |
- | * Successfully booted Windows image over AoE | + | |
- | * Setup local chainloading environment | + | |
- | * Installed apache2 on server | + | |
- | * Copied gtest.gpxe into /var/www | + | |
- | * Modified /etc/dhcp3/dhcpd.conf <code> | + | |
- | host h3 { | + | |
- | hardware ethernet 00:90:27:43:84:4B; # eepro100 card for testing | + | |
- | + | ||
- | # For booting via http | + | |
- | filename "http://192.168.1.9/gtest.gpxe"; | + | |
- | + | ||
- | # For booting Windows | + | |
- | # filename ""; | + | |
- | # option root-path "aoe:e0.0"; | + | |
- | } | + | |
- | </code> And ''$ sudo /etc/init.d/dhcp3-server restart'' | + | |
- | * Successfully chainloaded gPXE script from local httpd! | + | |
- | * Git commit [[http://git.etherboot.org/?p=people/mdeck/gpxe.git;a=commitdiff;h=dd467a97c6d0972d3d930329ccd51ad0f7a17fcf|dd467a97c6d0972d3d930329ccd51ad0f7a17fcf]] | + |