Greetings,

After some digging I think I may have found a bug, let me try to untangle  
this.

First of all, I run into this issue after I had rebuild the linux boot  
disk. I needed a updated e1000e driver to support the Intel DQ45CB  
motherboard so I had to use the e1000e driver from 2.26.28.rc7.

Now the fun part, I was able to build the boot CD and I notice a few  
things.

1) I was prompted for a hostname, this had never happened before
2) I also noticed that unattend.txt had the ComputerName stripped from the  
[userData] section

Here is what I found

#1 - install.pl

http://unattended.cvs.sourceforge.net/viewvc/unattended/unattended/install/dosbin/install.pl?revision=1.155&view=markup

line 928:   sub dhcp_settings ()  reads the file /var/run/dhcp.out
line 1044:  $u->{'_meta'}->{'ipaddr'} -  gets its value from  
dhcp_settings()

#2 - config.pl (see below) sets the hostname in unattend by using  
_meta->ipaddr

#3 - When you boot with boot cd the following links are already created  
even before I mount \\ntstall\install

/opt -> /z/linuxaux/opt
/share -> /z/linuxauz/share
/var -> /z/linuxaux/var

So what is the problem? When udhcpc runs it can't write /var/run/dhcp.out,  
so there is no _meta->ipaddr set and I can't set my hostname via my site  
config.pl.

So what is the fix ?

1) have udhcpc write to /tmp/dhcp.out and modify the needed files.
2) Don't create the /opt,/share,/var until we actually mount  
\\ntinstall\install

I like option 1 better, since it allows you to change to another virtual  
terminal and examine the file.


Thanks
Paul



--snip from unattend.txt ----
[UserData]
     ProductID=xxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx
     FullName="Dept. of Computer Science"
     OrgName="and Engineering"
     ComputerName=*

--snip from site/config.pl-----
$u->{'UserData'}->{'ComputerName'} =
     sub {
         my $addr = $u->{'_meta'}->{'ipaddr'};
         defined $addr
             or return undef;
         my $host = gethostbyaddr(inet_aton ($addr));

         if (!defined $host) {
             warn "Unable to gethostbyaddr ($addr): $? $^E\n";
             return undef;
         }

         my $name = $host->name ();
         # Strip off domain portion
         $name =~ s/\.(.*)//;
         return $name;
     };



------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to