Ok, think I've got a working solution (but haven't tested it yet).
All profiles/systems will have a 4 character random_id variable that is
generated pretty much like the UID variable. This will be alpha-numeric,
so the hard limit on systems in cobbler will be 36^4 (1,679,616) windows
systems... I don't see a problem there :)
So, when a profile/system is detected as being breed=windows, this
random_id will be used to generate the required files:
/tftpboot/{profiles/systems}/name/winpxe.0
/tftpboot/{profiles/systems}/name/NTLDR
/tftpboot/{profiles/systems}/name/winnt.sif
In addition, rules will be created in the /etc/tftpd.rules file, for
example:
re ^LOIB4 /profiles/winxp-i386/NTLDR
re ^wOIB4\.sif /profiles/winxp-i386/winnt.sif
re ^L2pWf /systems/xp2/NTLDR
re ^w2pWf\.sif /systems/xp2/winnt.sif
As you can see, the lines with ^Lxxxx in them are rewrites for the loader,
and the ^wxxxx lines are the .sif rewrites. The winpxe.0 file will point
to /Lxxxx, and the NTLDR file will point to /wxxxx.sif
Here's what the system pxeboot file will look like:
# cat /tftpboot/pxelinux.cfg/xp2
prompt 0
timeout 1
label xp2
kernel /systems/xp2/winpxe.0
And the default file will have the entries for the profiles looking like
this:
label winxp-i386
kernel /profiles/winxp-i386/winpxe.0
So far, what works:
1) importing XP from CD
2) profile/system creation
3) ASCII pxe file generation
4) tftpd rule generation
What doesn't:
1) sif (answer file) generation
2) binary pxe boot file generation
3) my random_id isn't persisting when a new system is created (everytime
you do a dumpvars it changes...), only after editing the first time... need
to figure that out.
As soon as I can get 1 & 2 done, I'll be able to start doing build testing.
Overall I think this is looking very promising! Any thoughts/comments
would be appreciated of course.
James C.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.