We recently ran into this problem. The expedient way to fix it is to replace
the netcfg binary in the initrd with one compiled using the following patch.
--- dhcp.c 2013-01-13 08:23:24.000000000 -0500
+++ ../dhcp.c 2013-05-21 14:25:55.613957486 -0400
@@ -591,7 +591,7 @@
preseed_hostname_from_fqdn(client, buf);
}
- if (netcfg_get_hostname (client, "netcfg/get_hostname",
hostname, 1)) {
+ if (netcfg_get_hostname (client, "netcfg/get_hostname",
hostname, !have_domain)) {
/*
* Going back to POLL wouldn't make much sense.
* However, it does make sense to go to the retry