Here's one patch to pxe that was necessary to get at least as far as booting the bootloader:
--- ./options.cc.orig 2003-02-02 08:24:29.000000000 -0500
+++ ./options.cc 2004-07-12 09:04:38.000000000 -0400
@@ -170,6 +170,7 @@
delete prompt;
prompt = new char[strlen(val)+1];
strcpy(prompt, val);
+ fprintf(stderr, "new prompt: %s\n", prompt);
}
else if(strcmp("listen_port", key) == 0)
{
@@ -206,6 +207,7 @@
delete tftpdbase;
tftpdbase = new char[strlen(val)+1];
strcpy(tftpdbase, val);
+ fprintf(stderr, "new tftpdbase: %s\n", tftpdbase);
}
else if(strcmp("service", key) == 0)
{
@@ -643,7 +645,8 @@
for(i=0; i != CSA_types[i].arch_id; i++);
tmpc = new char[strlen(CSA_types[i].arch_name) +
(strlen(serv_ptr->filebase)*2) + 8];
- sprintf(tmpc, "%s/%s/%s.%d", CSA_types[i].arch_name,
+ sprintf(tmpc, "%s/%s/%s/%s.%d", tftpdbase,
+ CSA_types[i].arch_name,
serv_ptr->filebase, serv_ptr->filebase, layer);
return(tmpc);
And now here's a patch to tftpd I needed so it wouldn't croak... at the risk of making it less secure... prolly better use version 0.36, because 0.37 won't even configure on my system.
--- ./tftpd/tftpd.c.orig 2004-07-12 09:24:11.000000000 -0400
+++ ./tftpd/tftpd.c 2004-07-11 06:10:40.000000000 -0400
@@ -633,8 +633,8 @@
#ifdef HAVE_INITGROUPS
setrv = initgroups(user, pw->pw_gid);
if ( setrv ) {
- syslog(LOG_ERR, "cannot set groups for user %s", user);
- exit(EX_OSERR);
+ syslog(LOG_ERR, "cannot set groups for user %s: %s", user, strerror(errno));
+ /* exit(EX_OSERR); */
}
#else
#ifdef HAVE_SETGROUPS
These changes may turn out to be unnecessary and/or counterproductive once
I solve other problems, but at least now they look like steps in the right
direction. (PS - gendiff is your friend)
last updated 2013-01-10 20:24:32. served from tektonic.jcomeau.com