I am proud to announce that preliminary support for RIS linux is available
via my git hub:
git://github.com/jimi1283/cobbler.git, branch ris-devel
This is currently not for the extremely faint of heart, but it shouldn't be
bad for dev types. Here are some links to help everyone get started and up
to speed:
http://www.promodus.net/linuxris
http://oss.netfarm.it/guides/ris-linux.php
http://oss.netfarm.it/guides/pxe.php
The first link is the most important, however the second and third give
some extra details that help understand how we hide some of the gory
details and allow for some customization of builds.
What you need to do this:
1) cabextract ("yum -y install cabextract" should do it)
2) in.tftpd (should be standard on Red Hat boxes, need to be able to do
rewrite rules with it)
3) After doing an import, you must cabextract all inf/cab files in the i386
directory to someplace binlserver can read them, and then run infparser.py
on them. This builds the devcache.list file, which binlserver uses to
serve drivers out to booting systems. You may also need to copy any .sys
files that are extracted back to the i386 directory. These two steps were
the single greatest roadblock to me getting things working. Don't forget
to restart binlserver after updating the driver cache either!
4) Samba, as configured in the links above. A smb.conf is not yet included
in my patch, and samba is not managed in any way yet.
5) The ris-linux package. jmeeuwen provided the link to that earlier I
believe.
What doesn't work yet:
1) XP distros are not bind-mounted to the /tftpboot directory yet. During
the start of the boot process, the windows boot reads driver files from the
/tftpboot/<distro name> directory. The easiest way I've come up with to
get around linking issues is to use bind mount:
mount --bind /path/to/src/dir /path/to/dst/dir
The destination must exist before mounting (unlike linking).
2) Xinetd isn't managed, so if you do a cobbler sync you will need to
restart/reload xinetd to have it read the tftp rules file.
3) Part of #2, the random_id variable used by systems/profiles is not
persistent quite yet, so unless you edit a system/profile after adding them
the id will change. This causes issues as shown above, because the file
names change and the rules are updated to reflect that.
4) Only winxp is supported right now, and I think my CD is an original
release, no service pack installed, so that's the only thing i've been able
to test this on so far. I also haven't done a git pull in a week, so there
may (most likely will) be some conflicts that may need to be sorted out to
get this merged in. It's 1AM and my wife is sick, so everyone's on their
own for this right now :)
5) My installs are complaining about some options missing for a successful
unattended installation. I know the big one is the product key (left out
for obvious reasons), but there may be others that prevent a flawless
installation.
6) cobbler check needs to be updated to check for all the stuff above.
My todo list for ris support:
* add bind-mount function to create directory mount in /tftpboot
* fixup cleanup function to remove mounts
- mounts will also have to be cleaned up when a distro is deleted
* make the random id persistent, or change to a sequential ID
* version/flavor/service pack detection
* restart xinted after a sync so that the new rules are read in
* manage samba config/process
* automatic cabextract of inf/cab files in i386 and rebuild of driver
cache/hup binlserver
I'm sure I'm forgetting something, so if anyone applies this patch and has
problems, let me know! This is all fresh in my mind and I will be glad to
help out.
Happy patching!
James Cammarata
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.