[Etherboot-developers] Patch for TFTP-multicast released
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Anselm M. H. <an...@ho...> - 2002-07-03 16:24:19
|
Hi list, after some days of hard coding (and several times hanging around searching for typos) I finally managed to boot my first kernel image with TRIVIAL FILE TRANSFER PROTOCOL MULTICAST MODE or what my dhcpd.conf says filename "x-tftm://172.16.75.1/vmlinuz.ltsp"; this morning, 10:39 GMT. I got the lastest sources and made up a diff file against them - I'm not sure if all that stuff compiles, or if it breaks anything for you, but apply that patch to the sources in etherboot 5.1 -not forgetting the backup option of "patch" - and copy proto_tftm.c to that dir, so you get the following new possibilities in "Config": -DURI_SUPPORT you will need this anyway -DURI_SUPPORT_FILE so you can use filenames like "file:/disk/0" and so on. -DURI_SUPPORT_TFTP so "tftp:///filename" will be recognised. -DURI_SUPPORT_NFS as well -DURI_SUPPORT_SLAM so "x-slam://" URIs are recognised. Ask Eric how far his slam code went, you probably want to set -DDOWNLOAD_PROTO_SLAM too. -DURI_SUPPORT_TFTM so "x-tftm://server-ip/filename" can be recognised. You will also have to set the -DDOWNLOAD_PROTO_TFTM option for this to work. These URIs can be extended to allow specification of anti-standard UDP ports or another server's IP (no DNS [for now?], so no hostnames). For TFTM, servername works fine (don't know if it's even required to be present !? - no matter, bugfixing tftm will be necessary for some time) I didn't remove a "private" option from the code, as I want to use it. It was discussed earlier in this list and is called -DSILENTFORSPLASH.... As CVS'ing does not really work fine here, please Ken or Eric have a check of it and if ok take it into the 5.1 tree. Mostly it is the proto_tftm.c file plus some changes in main.c for the URI support and some small snippets of code without which etherboot5.1 wouldn't compile at all (?). BTW: Is there any *tested* and *stable* Tftp-server out there that supports multicast, blocksize and tsize (as my code requires all three options)? I will have to adapt a lot anyhow, as timeouts and so need a touch, but I would like to keep it mostly at this skeleton. If there is nothing really usable out there, I will have to hand out my own server, but it's ugly coded and miles away from being "ready" - it even has no timeouts yet, but handles several clients on the same file, which was most important. Following the philosophy of "Release early, patch often...": Comments welcome. Anselm P.S.: As the mail went too big with the two files attached, I will upload them. You should - let's hope German Telekom doesn't again kill that leased line - be able to fetch them from ftp://ftp@feldhaus.hn.org/anselm/ or http://feldhaus.hn.org/anselm/ |