<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The blog of Karl Majer... &#187; ris</title>
	<atom:link href="http://www.karlmajer.com/tag/ris/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.karlmajer.com</link>
	<description>Life on my own terms...</description>
	<lastBuildDate>Mon, 28 Mar 2011 17:04:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Multi-OS Installation: Windows Final Steps</title>
		<link>http://www.karlmajer.com/2008/01/21/multi-os-installation-windows-finishing-touches/</link>
		<comments>http://www.karlmajer.com/2008/01/21/multi-os-installation-windows-finishing-touches/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 00:43:20 +0000</pubDate>
		<dc:creator>Karl Majer</dc:creator>
				<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[os installation]]></category>
		<category><![CDATA[ris]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlmajer.com/2008/01/21/multi-os-installation-windows-finishing-touches/</guid>
		<description><![CDATA[This is my second attempt at writing this post. I was using ecto this morning for the last time while writing the first iteration of this post and when switching between html and text mode the app decided to eat the post for me. Hopefully this iteration will be as good as the first, if [...]]]></description>
			<content:encoded><![CDATA[<p>This is my second attempt at writing this post. I was using <em>ecto</em> this morning for the last time while writing the first iteration of this post and when switching between html and text mode the app decided to eat the post for me. Hopefully this iteration will be as good as the first, if not better&#8230;</p>
<p>So, there are a few things left to do before we can attempt a network boot. Primarily we need to add/create the winnt.sif configuration file, update the binl daemon files and restart the daemon, and then we need to test the components to make sure that everything is in order.</p>
<p>An absolute minimal winnt.sif created by the addnewos.sh script looks like the following:</p>
<blockquote>
<pre>[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
Orisrc="\\\\172.16.32.16\REMINST\\W50AA\i386"
OriTyp = "4"
LocalSourceOnCD = 1
;DisableAdminAccountOnDomainJoin = 1
[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\172.16.32.16\REMINST\\W50AA"
[UserData]
ComputerName = *
FullName = *
OrgName = *
ProductID = *</pre>
</blockquote>
<p>Briefly, the [data] section specifies where the media will be coming from and what type it is. The [SetupData] stanza contains any arguments to be passed to the kernel, as well as establishing the source device from which setup is to pull the additional datafiles. The listed path corresponds to the samba share that was setup earlier.</p>
<p>Finally, the [UserData] section allows for the customization of the computer name, the user name, and the company name, as well as provide a slot to prefill the appropriate license key obtained from Microsoft.</p>
<p>This sif file will allow setup to execute in a fully interrogative mode, asking the user performing the install the same series of questions as if they&#8217;d used the CD media for the installation. There are quite a few options available for the sif file allowing for the full unattended installation of windows. If there is an interest I can expand on it in a future piece.</p>
<p>Once the w50aa.sif file is in place, we can go refresh the binlsrv.py database. Assuming the copies of <a href="http://www.karlmajer.com/files/binl/binlsrv.py.txt">binlsrv.py</a>, <a href="http://www.karlmajer.com/files/binl/infparser.py.txt">infparser.py</a>, and <a href="http://www.karlmajer.com/files/binl/windirs.conf.sampl">windirs.conf.sample</a> were obtained from this site, this is accomplished by doing the following:</p>
<ul>
<li>edit windirs.conf and add the new directory name, i.e. W50AA</li>
<li>run infparser.py</li>
<li>run binlsrv.py</li>
</ul>
<p>With the binlsrv.py script running, we can begin to do the testing on the system. Of course you could at this point simply reboot the box you wish to install, cross your fingers, and hit F12 to netboot while hoping for the best. Those of you willing to use some methodology in their testing, please read on. Please note: I&#8217;m assuming the path to your install tree is /export/install/ and you have the windows image in images/W50AA. You&#8217;ll need to adjust it for your environment otherwise.</p>
<p>First we need to make sure dhcpd is running:</p>
<pre>ps -ef | grep dhcpd</pre>
<p>Next we ensure binlsrv.py is running;</p>
<pre>ps -ef | grep binl</pre>
<p>Now we make sure that the repository is in proper order:</p>
<pre>ls -al /export/install/pxelinux	   # check for pxelinux
ls -al /export/install/default     # check for the default menu file for pxelinux
ls -ald /export/install/images/W50AA/i386 # make sure the i386 dir is there
ls -ald /export/install/images/W50AA/w50aa* # we should get 3 files back, w50aa, w50aa.0, w50aa.sif.</pre>
<p>Now we make sure that tftp is working as expected (remember that tftp was chrooted to /export/install so everything will be relative to that path):</p>
<pre>tftp localhost
cd images/W50AA/boot
get w50aa.sif</pre>
<p>Now we ensure that the rewriting rules for the tfpd map files worked properly</p>
<pre>grep W50AA /var/log/messages  # on linux
grep W50AA /var/adm/messages  # on solaris</pre>
<p>You should have seen several log lines spit out as a match to the grep statement. If not, there is the possibility that the mapping isn&#8217;t working. Try a tail -f on the logfile and run a few tftp fetches by hand looking for the matches.</p>
<p>At this point the only thing left to do is the actual boot of the computer. So, reboot the test machine, netboot it, and if all goes well you will be greeted by the pxelinux menu. From there pick the entry you created for the windows installation and you will soon be greeted by the windows setup program.</p>
<p>Hopefully there is enough in here to allow you to troubleshoot any issues which you may run into. If this is not the case, please post in the comments and I&#8217;ll do what I can to assist you.</p>
<p>&gt;&gt;&gt; Karl</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlmajer.com/2008/01/21/multi-os-installation-windows-finishing-touches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-OS Installation:  Configuring the Windows Image &#8211; Part 1</title>
		<link>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-image-part-1/</link>
		<comments>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-image-part-1/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 08:33:10 +0000</pubDate>
		<dc:creator>Karl Majer</dc:creator>
				<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[os installation]]></category>
		<category><![CDATA[ris]]></category>
		<category><![CDATA[slipstream]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-image-part-1/</guid>
		<description><![CDATA[It takes a bit of work to prepare the contents of a windows CD image for use with the installation system. There is nothing terribly complicated about the process but it is a somewhat tedious, and after the 20th or so image that is being prepared, you may find yourself wishing for a script or [...]]]></description>
			<content:encoded><![CDATA[<p>It takes a bit of work to prepare the contents of a windows CD image for use with the installation system. There is nothing terribly complicated about the process but it is a somewhat tedious, and after the 20th or so image that is being prepared, you may find yourself wishing for a script or two to simplify things. This is not to worry, I will provide those as well.</p>
<p>First a bit of background on the windows boot process. As a windows machine starts the boot process, the following things happen approximately in this order (1):</p>
<ol>
<li>The MBR is queried for the boot sector, and Ntldr is read.</li>
<li> Ntldr is loaded into memory. Its reads the Boot.ini file to present the menu and loads the kernel.
<ol>
<li>Ntldr will eventually load Ntoskernl.exe, Bootvid.dll Hal.dll and the boot-start device drivers.</li>
</ol>
</li>
<li>Ntdetect.com then runs and performs a basic hardware detection for Ntldr.</li>
<li>Ntbootdd.sys is loaded for I/O.</li>
<li>Ntoskrnl.exe is initialized and starts the system-start device drivers then kicks off smss.exe</li>
<li>Hall.dll is loaded and is used to speak to the hardware in the machine.</li>
<li>Smss starts the windows subsystem.</li>
<li>Winlogon is started.</li>
<li>SCM (service control manager) is started for windows services/drivers.</li>
</ol>
<p>The boot process across the network is somewhat similar:</p>
<ol>
<li>The pxeclient on the network interface in computer drops a boot request onto the wire.</li>
<li> The dhcp server catches this request and gives the pxeclient an IP address, the IP address of the next server in the process, and the name of the file to fetch. .
<ol>
<li>pxelinux was used for the windows installs.</li>
</ol>
</li>
<li>The pxeclient then fetches pxlinux via tftp from the bootserver and presents the menu to the user and waits for entry.</li>
</ol>
<p>Up until this point the pxe boot procedure is the same regardless of what OS is being loaded.</p>
<ol>
<li>The user selects the desired windows installation and pxelinux tftps back to the server and asks for the appropriate file, typically startrom.n12, the network bootloader for the MS boot process.</li>
<li>startrom.n12 then calls for setupldr.exe</li>
<li>setupldr.exe, actually named ntldr on the filesystem,  is the pre-installation setup loader for windows.</li>
<li>as before ntldr calls ntdetect.com for hardware detection,</li>
<li>similarly, ntdetect.com handles hardware detection for the ntldr process as for the disk based boot</li>
<li>finally the file winnt.sif is loaded which contains the instructions for the setup/RIS based installation.</li>
</ol>
<p>Now, in order to make this all work a bit of filename manipulation magic needs to be undertaken. This is accomplished in the tftpd.map file which is loaded by the tftp server and additionally by making a few changes to both the names of the binaries and to the binaries themselves.</p>
<p>The naming convention chosen at the site was based on the fact that NTLDR is five characters. A method to encode OS names/types into the five characters was devised such that any OS/SP level could be encoded. The first letter was either W for 32 bit or X for 64 bit. The next two characters were the Microsoft OS version number, W50 for Windows 2000 32bit, X51 for Windows XP Pro 64 Bit. Finally the last two characters were used to denote patch level and any other desired information. For example, at the client site, X51AA was an unpatched XP Pro 64 Bit. While X51BA was SP2.</p>
<p>The path used on the filesystem to contain the filesystem images was /export/install/images. The tftp root is  /export/install. The mapfile contained:</p>
<blockquote><p># windows to unix pathing<br />
rgi \\ /</p>
<p># anything asking for /IMAGES is broken and likely a Microsoft client.<br />
rge ^/IMAGES/ /images/</p>
<p># rehome 32 and 64 2k and 2k3 to /images<br />
rgi ^/X5.* /images\0<br />
rgi ^/W5.* /images\0<br />
# Windows 2000 32 bit &#8211; W50AA</p>
<p>rgi ^/boot/pxelinux.0ntdw50aa.com /images/W50AA/boot/ntdw50aa.com<br />
rgi ^boot/pxelinux.0ntdw50aa.com /images/W50AA/boot/ntdw50aa.com<br />
rgi ^/boot/pxelinux.0w50aa.sif /images/W50AA/boot/w50aa.sif<br />
rgi ^boot/pxelinux.0w50aa.sif /images/W50AA/boot/w50aa.sif<br />
rgi ^w50aa /images/W50AA/boot/w50aa<br />
rgi ^/images/W50AA/i386/W50AA/sys/(.*) /images/W50AA/sys/\1</p>
<p># Windows XP Professional 64bit &#8211; X51AA<br />
rgi ^x51aa /images/X51AA/boot/x51aa<br />
rgi ^ntdx51aa.com /images/X51AA/boot/\0<br />
rgi ^x51aa.sif /images/X51AA/boot/\0<br />
rgi X51AA/i386 X51AA/amd64<br />
rgi ^/images/X51AA/amd64/X51AA/sys/(.*) /images/X51AA/sys/\1<br />
rgi ^/images/X51AA/i386/X51AA/sys/(.*) /images/X51AA/sys/\1</p></blockquote>
<p>First off we need to rewrite dos paths to unix paths. Next we need to send anything asking for just /[WX]5 to /images. That allows the client to find the files its going to request next. The next section addresses some bugs in windows 2000 in which it tacks on the file its looking for onto the file it loaded previously, ie the pxelinux bootloader. Thankfully XP lacks this bug. You&#8217;ll notice that the filenames are not those mentioned in the process flow earlier, but are instead files based on the new naming convention. Any additional OSes based on 2000 need to simply copy the 2000 stanza and adjust the w50aa to the new 5 digit code. The same holds true for XP. These mappings allow the pxeclient to find the contents of the appropriate boot directory.</p>
<p>Configuring the directories in the W51AA tree will be covered in the next post.</p>
<p>&gt;&gt;&gt; Karl</p>
<p>(1. This disk based bootup process was adapted from &#8220;Table 5-1, Microsoft Windows Internals, Fourth Edition, p252&#8243;. Any typos are mine. I&#8217;d recommend the original version of this from the text if possible. Its one of the few windows reference books on my shelf.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-image-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-OS Installation:  Configuring the Windows Environment.</title>
		<link>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-environment/</link>
		<comments>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-environment/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 08:32:41 +0000</pubDate>
		<dc:creator>Karl Majer</dc:creator>
				<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[os installation]]></category>
		<category><![CDATA[ris]]></category>
		<category><![CDATA[slipstream]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-environment/</guid>
		<description><![CDATA[Ah, the wonderful world of MS Windows. An environment ripe with complexities and peculiarities unique to the GUI based world loved and scorned by many. Traditionally, the windows installation procedure requires a windows RIS server to handle the duties of the installation server. The production Multi-OS install server was ultimately a Redhat EL 5 64bit [...]]]></description>
			<content:encoded><![CDATA[<p>Ah, the wonderful world of MS Windows. An environment ripe with complexities and peculiarities unique to the GUI based world loved and scorned by many. Traditionally, the windows installation procedure requires a windows RIS server to handle the duties of the installation server. The production Multi-OS install server was ultimately a Redhat EL 5 64bit host, however all of my development work and the prototype were built on an intel Solaris 10 64 bit installation.</p>
<p>The system built for the client, however, made use of both a single box running tftp, samba, and the python RIS implementation from <a title="Python RIS Implementation" href="http://oss.netfarm.it/guides/pxe.php" target="_blank">http://oss.netfarm.it/guides/pxe.php</a>. The basic setup is as follows:</p>
<p>TFTP &#8211; tftp-hpa 0.42 &#8211; With remap and with tcpwrappers was chosen as the tftp server to be used. The using of tcpwrappers is generally a good practice, but the remap function was the desired functionality in this version of tftpd. RHEL 5 ships with this binary as an rpm. The map file will be explained in further detail in when the image preparation is discussed.</p>
<p>SAMBA &#8211; samba 3.023c-2 &#8211; Was selected as the version of samba to run. Again, this was available as an rpm on RHEL 5 and made the selection easy. The following lines were added to the smb.conf configuration file to support the RIS installation environment:</p>
<blockquote><p><em>encrypt passwords = yes<br />
null passwords = yes<br />
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192<br />
idmap uid = 16777216-33554431<br />
idmap gid = 16777216-33554431<br />
template shell = /bin/false<br />
winbind use default domain = no<br />
guest account = nobody<br />
map to guest = Bad User</em></p></blockquote>
<p>The last line allows any user that fails authentication to map to the guest account. If the samba server is setup on a different domain than the rest of the organization, as it was in the case on this network, the desktop computers will have access to the CIFS shares to pull cabs, or other files, from the CD images available on the shares. Note: While testing on unix using smbclient, the share name is \\\\HOST\\SERVICE. If you happen to add a trailing \\ on the end, the service name wont match and the connection will fail with a &#8220;tree connect failed: NT_STATUS_BAD_NETWORK_NAME.&#8221;</p>
<p>RIS &#8211; The UDA v 1.4 provided the foundation binlsrv.py and infparser.py files that were used to initialize the 32 bit OSes. As written, the core binl code needed to be refactored and extended for the intelligent inclusion of additional operating systems, both 32 and 64 bit. The biggest change was made to the infparser and allows it to read the list of operating systems to be parse from a text file. A link to my updated versions of the files can be found here: <a title="binlsrv.py" href="http://www.karlmajer.com/files/binl/binlsrv.py.txt">binlsrv.py</a>, <a title="infparser.py" href="http://www.karlmajer.com/files/binl/infparser.py.txt">infparser.py</a>, and <a title="windirs.conf.sample" href="http://www.karlmajer.com/files/binl/windirs.conf.sample">windirs.conf.sample.</a></p>
<p>Once the requisite software has been installed, the image will need to be prepared. This will be covered in the next section entitled &#8220;Multi-OS Installation: Configuring the Windows Image.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlmajer.com/2008/01/16/multi-os-installation-configuring-the-windows-environment/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The General Infrastructure</title>
		<link>http://www.karlmajer.com/2008/01/15/the-general-infrastructure/</link>
		<comments>http://www.karlmajer.com/2008/01/15/the-general-infrastructure/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 19:34:50 +0000</pubDate>
		<dc:creator>Karl Majer</dc:creator>
				<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[dhcpd]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[jumpstart]]></category>
		<category><![CDATA[kickstart]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[os installation]]></category>
		<category><![CDATA[ris]]></category>
		<category><![CDATA[smbd]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[tftpd]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlmajer.com/?p=12</guid>
		<description><![CDATA[The production system and the prototype were built on differing operating systems. Solaris 10 was initially used to allow for native Solaris Jumpstart procedures for Jumpstarting Solaris 9 on both Intel and Sparc. While migrating the completed prototype to RHEL 5.0 64, the Sparc Solaris issues, Sparc lacking  pxe boot loader capabilities to boot the [...]]]></description>
			<content:encoded><![CDATA[<p>The production system and the prototype were built on differing operating systems. Solaris 10 was initially used to allow for native Solaris Jumpstart procedures for Jumpstarting Solaris 9 on both Intel and Sparc. While migrating the completed prototype to RHEL 5.0 64, the Sparc Solaris issues, Sparc lacking  pxe boot loader capabilities to boot the operating system, were addressed by adding the appropriate stanzas to the dhcpd configuration files.</p>
<p>Unless otherwise specified, the Solaris installation was built from the source tarball, whereas the Linux installation came from an official RedHat RPM. This typically accounts for any version differences found between the two operating systems.</p>
<p>The network services required to fully netboot and install a machine are as follows:</p>
<ul>
<li>At the lowest level there is a dhcp server listening for initial boot requests. ISC&#8217;s dhcpd server, specifically version 3.0.6 which was the current version at the time. On the RHEL machine, version 3.0.5, was used.</li>
<li>A tftp server is required to make the necessary files available. The files in question could be either pxe bootloaders for Linux and Solaris 10, the actual boot files in the case of Solaris 9, and the WINNT bootloader in the case of Windows. Tftp-hpa version 0.42 was chosen as the tftp server of choice as it supported the remapping of file paths in requests, and offered tcp wrappers as an added bonus.</li>
<li>An HTTP server is made available on the network to support Solaris jumpstart and Linux kickstart. The server offers media for both of the installation processes. The Apache that shipped with Solaris 10, Apache/2.0.58, and the Apache that shipped with RHEL 5, Apache/2.2.3, worked without a problem.</li>
<li>An NFS server is made available on the network to support Solaris installations including jumpstart. The server offers the entire media tree to any client that may desire it. Linux NFS servers may have problems with Solaris clients on anything other than NFSv2. The converse is not true.</li>
<li>To support windows, a CIFS needed to be offered. Samba was picked as it is the primary software of choice. Version 3.023c-2 was used on RHEL, 3.025c on Solaris.</li>
<li>RIS Services are required to properly net install a Windows machine. The software used was a python implementation of the binl server and is covered in greater detail in the Windows section.</li>
<li>Additionally, OS ISOs for every operating system to be installed must be obtained for both the Windows and Unix environments. This must be done in accordance to appropriate licensing for each respective OS.</li>
</ul>
<p>The delivered product was capable of installing: Linux RHEL 3,4,5 32 and 64 bit variants, Solaris 9, 10, both intel and sparc at multiple releases, Windows 200[03], XP, both 32 and 64 bit including the unpatched and last two service pack levels. All in all a total of 27 windows offerings, 6 Solaris offerings, and 6 Linux offerings were available to any server or desktop that supported pxe booting.</p>
<p>More to come&#8230;</p>
<p>&gt;&gt;&gt; Karl</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlmajer.com/2008/01/15/the-general-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Multi-OS Installation Host</title>
		<link>http://www.karlmajer.com/2008/01/15/building-a-multi-os-installation-host/</link>
		<comments>http://www.karlmajer.com/2008/01/15/building-a-multi-os-installation-host/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 17:20:57 +0000</pubDate>
		<dc:creator>Karl Majer</dc:creator>
				<category><![CDATA[Systems Administration]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[dhcpd]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[jumpstart]]></category>
		<category><![CDATA[kickstart]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[os installation]]></category>
		<category><![CDATA[ris]]></category>
		<category><![CDATA[smbd]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[tftpd]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.karlmajer.com/?p=11</guid>
		<description><![CDATA[Recently a client expressed interest in having me build an installation environment wholly contained on a single, preferably unix, server. The client had a requirement of being able to Kickstart any RedHat/Fedora Linux distribution they chose, Jumpstart Solaris 9 &#38; 10 for Sparc and Intel, and net install a wide range of windows installations. The [...]]]></description>
			<content:encoded><![CDATA[<p>Recently a client expressed interest in having me build an installation environment wholly contained on a single, preferably unix, server. The client had a requirement of being able to Kickstart any RedHat/Fedora Linux distribution they chose, Jumpstart Solaris 9 &amp; 10 for Sparc and Intel, and net install a wide range of windows installations. The unix installation environments were straightforward, both taking advantage of the pxe bootloader environment. Linux uses pxelinux, and Solaris uses a Sun modified version of pxegrub. Windows was an entirely different issue.</p>
<p>After a bit of research I decided to use a combination of the theory behind the Ultimate Deployment Appliance (UDA) VM, available from <a href="http://www.vmware.com/appliances/directory/232">http://www.vmware.com/appliances/directory/232</a> , VMWare&#8217;s appliances directory, as well as the information found on the RIS for Linux site located at <a href="http://oss.netfarm.it/guides/pxe.php">http://oss.netfarm.it/guides/pxe.php</a> around which the UDA is built.UDA v1.4 was already capable of booting a considerable variety of 32 bit windows images, however it lacked the ability to easily add 64 bit images. Additionally, there was no need for the pretty HTML GUI that the package offered and so they were omitted in favor of a pxelinux and pxegrub menu system.</p>
<p>This series of articles will describe how the system was built as well as provide examples on how to build your own. It will be written in several parts, at least one for each of Solaris, Linux, and Windows, and the Windows article may be further subdivided into several more.</p>
<p>More will follow as time permits.</p>
<p>&gt;&gt;&gt; Karl</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlmajer.com/2008/01/15/building-a-multi-os-installation-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

