<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx</link><description>Have you ever stood in front of a server you are building, feeding it install cds, and thought to yourself “it just doesn’t get any better than this…?” Me Neither.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#4370</link><pubDate>Tue, 06 Nov 2007 13:41:23 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4370</guid><dc:creator>Kad</dc:creator><description>&lt;p&gt;I know that this is an old thread, but I found this on the Gentoo site found at &lt;a rel="nofollow" target="_new" href="http://www.gentoo.org/doc/en/altinstall.xml"&gt;http://www.gentoo.org/doc/en/altinstall.xml&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Diskless install using PXE boot&lt;/p&gt;
&lt;p&gt;Requirements&lt;/p&gt;
&lt;p&gt;You will need a network card on the diskless client that uses the PXE protocol to boot, like many 3com cards. You will also need a BIOS that supports booting from PXE. &lt;/p&gt;
&lt;p&gt;Server base setup&lt;/p&gt;
&lt;p&gt;Create directories: The first thing to do is to create the directories where your diskless system will be stored. Create a directory called /diskless which houses a directory for each diskless client. For the rest of this howto we'll be working on the client 'eta'. &lt;/p&gt;
&lt;p&gt;Code Listing 4.1: Directory setup&lt;/p&gt;
&lt;p&gt;# mkdir /diskless&lt;/p&gt;
&lt;p&gt;# mkdir /diskless/eta&lt;/p&gt;
&lt;p&gt;# mkdir /diskless/eta/boot&lt;/p&gt;
&lt;p&gt;DHCP and TFTP setup: The client will get boot informations using DHCP and download all the required files using TFTP. Just emerge DHCP and configure it for your basic needs. Then, add the following on /etc/dhcp/dhcpd.conf. &lt;/p&gt;
&lt;p&gt;Note: This provide a static IP address for the client and the path of a PXE boot image, here pxegrub. You have to replace the MAC address of the Ethernet card of the client and the directory where you will put the client files with the one you use. &lt;/p&gt;
&lt;p&gt;For DHCPd, run emerge dhcp (or any other DHCP server of your choice). Make sure that the correct interface is selected in /etc/conf.d/dhcp. &lt;/p&gt;
&lt;p&gt;Code Listing 4.2: dhcp.conf&lt;/p&gt;
&lt;p&gt;option option-150 code 150 = text ;&lt;/p&gt;
&lt;p&gt;ddns-update-style none ;&lt;/p&gt;
&lt;p&gt;host eta {&lt;/p&gt;
&lt;p&gt;hardware ethernet 00:00:00:00:00:00;&lt;/p&gt;
&lt;p&gt;fixed-address ip.add.re.ss;&lt;/p&gt;
&lt;p&gt;option option-150 &amp;quot;/eta/boot/grub.lst&amp;quot;;&lt;/p&gt;
&lt;p&gt;filename &amp;quot;/eta/boot/pxegrub&amp;quot;;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Next you'll need to configure your interface in /etc/conf.d/net so that it doesn't get cleared at bootup. See /etc/conf.d/net.example for more information. &lt;/p&gt;
&lt;p&gt;Code Listing 4.3: /etc/conf.d/net&lt;/p&gt;
&lt;p&gt;(Replace eth0 with the correct interface)&lt;/p&gt;
&lt;p&gt;config_eth0=( &amp;quot;noop&amp;quot; )&lt;/p&gt;
&lt;p&gt;For TFTP, emerge app-admin/tftp-hpa. In /etc/conf.d/in.tftpd, put the following : &lt;/p&gt;
&lt;p&gt;Code Listing 4.4: in.tftpd&lt;/p&gt;
&lt;p&gt;INTFTPD_PATH=&amp;quot;/diskless&amp;quot;&lt;/p&gt;
&lt;p&gt;INTFTPD_USER=&amp;quot;nobody&amp;quot;&lt;/p&gt;
&lt;p&gt;INTFTPD_OPTS=&amp;quot;-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}&amp;quot;&lt;/p&gt;
&lt;p&gt;Setup GRUB: To provide PXE booting I use GRUB with the netboot USE flag enabled. Once GRUB is compiled, copy the PXE image to the diskless client's boot directory. Then edit its grub.lst config file. &lt;/p&gt;
&lt;p&gt;Code Listing 4.5: Grub setup&lt;/p&gt;
&lt;p&gt;# echo &amp;quot;sys-boot/grub netboot&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.use&lt;/p&gt;
&lt;p&gt;# emerge -av grub&lt;/p&gt;
&lt;p&gt;# cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub&lt;/p&gt;
&lt;p&gt;# nano -w /diskless/eta/boot/grub.lst&lt;/p&gt;
&lt;p&gt;Code Listing 4.6: grub.lst&lt;/p&gt;
&lt;p&gt;default 0&lt;/p&gt;
&lt;p&gt;timeout 30&lt;/p&gt;
&lt;p&gt;title=Diskless Gentoo&lt;/p&gt;
&lt;p&gt;root (nd)&lt;/p&gt;
&lt;p&gt;kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta&lt;/p&gt;
&lt;p&gt;# For the nfsroot option, the IP address is the one of the server and&lt;/p&gt;
&lt;p&gt;the directory is the one where your diskless client files are located (on the server).&lt;/p&gt;
&lt;p&gt;Setup NFS: NFS is quite easy to configure. The only thing you have to do is to add a line on the /etc/exports config file: &lt;/p&gt;
&lt;p&gt;Code Listing 4.7: /etc/exports&lt;/p&gt;
&lt;p&gt;# nano -w /etc/exports&lt;/p&gt;
&lt;p&gt;# /etc/exports: NFS file systems being exported. &amp;nbsp;See exports(5).&lt;/p&gt;
&lt;p&gt;/diskless/eta eta(rw,sync,no_root_squash)&lt;/p&gt;
&lt;p&gt;Update your hosts: One important thing to do now is to modify your /etc/hosts file to fit your needs. &lt;/p&gt;
&lt;p&gt;Code Listing 4.8: /etc/hosts&lt;/p&gt;
&lt;p&gt;127.0.0.1 localhost&lt;/p&gt;
&lt;p&gt;192.168.1.10 eta.example.com eta&lt;/p&gt;
&lt;p&gt;192.168.1.20 sigma.example.com sigma&lt;/p&gt;
&lt;p&gt;Creating the system on the server&lt;/p&gt;
&lt;p&gt;You might want to reboot the server with a Gentoo Install CD, although you can very well continue immediately if you know how to proceed with the Gentoo Installation Instructions from an existing installation. Follow the standard install procedure as explained in the Gentoo Handbook BUT with the following differences: When you mount the file system, do the following (where hdaX is the partition where you created the /diskless directory). You do not need to mount any other partitions as all of the files will reside in the /diskless/eta directory. &lt;/p&gt;
&lt;p&gt;Code Listing 4.9: Mounting the filesystem&lt;/p&gt;
&lt;p&gt;# mount /dev/hdaX /mnt/gentoo&lt;/p&gt;
&lt;p&gt;Stage tarballs and chroot: This example uses a stage3 tarball. Mount /proc to your diskless directory and chroot into it to continue with the install. Then follow the installation manual until kernel configuration. &lt;/p&gt;
&lt;p&gt;Warning: Be very careful where you extract your stage tarball. You don't want to end up extracting over your existing installation. &lt;/p&gt;
&lt;p&gt;Code Listing 4.10: Extracting the stage tarball&lt;/p&gt;
&lt;p&gt;# cd /mnt/gentoo/diskless/eta/&lt;/p&gt;
&lt;p&gt;# tar -xvjpf &amp;nbsp;/mnt/cdrom/gentoo/stage3-*.tar.bz2&lt;/p&gt;
&lt;p&gt;# mount -t proc /proc /mnt/gentoo/diskless/eta/proc&lt;/p&gt;
&lt;p&gt;# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf&lt;/p&gt;
&lt;p&gt;# chroot /mnt/gentoo/diskless/eta/ /bin/bash&lt;/p&gt;
&lt;p&gt;# env-update&lt;/p&gt;
&lt;p&gt;# source /etc/profile&lt;/p&gt;
&lt;p&gt;Kernel configuration: When you do the make menuconfig of your kernel configuration, don't forget to enable the following options with the others recommended into the install howto. &lt;/p&gt;
&lt;p&gt;Code Listing 4.11: menuconfig options&lt;/p&gt;
&lt;p&gt;- Your network card device support&lt;/p&gt;
&lt;p&gt;(In the kernel, *not* as a module!)&lt;/p&gt;
&lt;p&gt;- Under &amp;quot;Networking options&amp;quot; :&lt;/p&gt;
&lt;p&gt;[*] TCP/IP networking&lt;/p&gt;
&lt;p&gt;[*] IP: kernel level autoconfiguration&lt;/p&gt;
&lt;p&gt;[*] IP: DHCP support&lt;/p&gt;
&lt;p&gt;[*] IP: BOOTP support&lt;/p&gt;
&lt;p&gt;- Under &amp;quot;File systems --&amp;gt; Network File Systems&amp;quot; :&lt;/p&gt;
&lt;p&gt;&amp;lt;*&amp;gt; NFS file system support&lt;/p&gt;
&lt;p&gt;[*] Provide NFSv3 client support&lt;/p&gt;
&lt;p&gt;[*] Root file system on NFS&lt;/p&gt;
&lt;p&gt;Save the kernel in your chrooted / (not in /boot) according to the pxegrub setting defined earlier. Next configure your diskless client's /etc/fstab. &lt;/p&gt;
&lt;p&gt;Code Listing 4.12: /etc/fstab&lt;/p&gt;
&lt;p&gt;# nano -w /etc/fstab&lt;/p&gt;
&lt;p&gt;/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0&lt;/p&gt;
&lt;p&gt;proc /proc proc defaults 0 0&lt;/p&gt;
&lt;p&gt;tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0&lt;/p&gt;
&lt;p&gt;You also need to prevent the client to run a filesystem check: &lt;/p&gt;
&lt;p&gt;Code Listing 4.13: Preventing the client to run a filesystem check&lt;/p&gt;
&lt;p&gt;# touch /fastboot&lt;/p&gt;
&lt;p&gt;# echo &amp;quot;touch /fastboot&amp;quot; &amp;gt;&amp;gt; /etc/conf.d/local.start&lt;/p&gt;
&lt;p&gt;Install nfs-utils since your client will heavily depend on it: &lt;/p&gt;
&lt;p&gt;Code Listing 4.14: Installing nfs-utils&lt;/p&gt;
&lt;p&gt;# emerge nfs-utils&lt;/p&gt;
&lt;p&gt;Bootloader. Don't install another bootloader because we already have one - pxegrub. Simply finish the install and restart the server. Start the services you'll need to boot the new client: DHCP, TFTPD, and NFS. &lt;/p&gt;
&lt;p&gt;Code Listing 4.15: Starting services&lt;/p&gt;
&lt;p&gt;# /etc/init.d/dhcp start&lt;/p&gt;
&lt;p&gt;# /etc/init.d/in.tftpd start&lt;/p&gt;
&lt;p&gt;# /etc/init.d/nfs start&lt;/p&gt;
&lt;p&gt;Booting the new client&lt;/p&gt;
&lt;p&gt;For the new client to boot properly, you'll need to configure the bios and the network card to use PXE as the first boot method - before CD-ROM or floppy. For help with this consult your hardware manuals or manufacturers website. The network card should get an IP address using DHCP and download the GRUB PXE image using TFTP. Then, you should see a nice black and white GRUB bootmenu where you will select the kernel to boot and press Enter. If everything is ok the kernel should boot, mount the root filesystem using NFS and provide you with a login prompt. Enjoy. &lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4370" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#3246</link><pubDate>Sun, 05 Nov 2006 09:09:10 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3246</guid><dc:creator>MoobyFR</dc:creator><description>&lt;p&gt;&amp;quot;we need to create eight zero-byte files which represent 192.168.0.254 (use the “touch” command).&lt;/p&gt;
&lt;p&gt; (touch C C0 C0A C0A8 C0A80 C0A800 C0A800F C0A800FE )&amp;quot;&lt;/p&gt;
&lt;p&gt;This isn't right: the value must represent the ip of the computer, so 192.168.1.1 in your example.&lt;/p&gt;
&lt;p&gt;and these files aren't needed: if not present, &amp;quot;default&amp;quot; is used. these files are used when you want a particular setup for an ip or a subnet C0A800FE=IP/32 C0A800F=IP/28 C0A800=IP/24 ...&lt;/p&gt;
&lt;p&gt;the file 01-AA-BB-CC-DD-EE-FF with the MAC adress must be lowercase too.&lt;/p&gt;
&lt;p&gt;Emmanuel&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3246" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#3056</link><pubDate>Tue, 19 Sep 2006 21:48:27 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3056</guid><dc:creator>hjanssen</dc:creator><description>&lt;p&gt;I just realized that one of my previous comments showed up twice. Seems to be a leftover from the problems we had last week.&lt;/p&gt;
&lt;p&gt;Sorry about that.!&lt;/p&gt;
&lt;p&gt;Hank.&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3056" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#3036</link><pubDate>Fri, 15 Sep 2006 19:53:05 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3036</guid><dc:creator>jjesse</dc:creator><description>&lt;p&gt;Great article, bookmarked this. &amp;nbsp;Would also like any further information you might have in regards to this&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3036" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#2999</link><pubDate>Fri, 08 Sep 2006 19:42:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2999</guid><dc:creator>hjanssen</dc:creator><description>In the lab we frequently do reloads of all kinds of distro's of Linux and Windows OS's. We put the PXE server in to make our lives a little easier. 

The article written was a result of us putting in our PXE server. After we did, we realized that it would be a good techtip. 

There are probably a dozen different ways to create the same thing; but we chose a method that was most relevant to our existing lab infrastructure. The Debian article is relatively Debian-specific and refers to a few pieces of somewhat “legacy” software, particularly in its mention of inetd and bootpd. We chose a means of implementing a PXE system that would support multiple operating systems, including those without network install support for FTP and NFS mounts. Nearly every operating system that can be installed over a network will support http. We didn’t feel that adding a few lines to an apache configuration was too much trouble to warrant against doing so.

Thanks,

Hank.
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2999" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#2990</link><pubDate>Tue, 05 Sep 2006 08:06:17 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2990</guid><dc:creator>ickiller</dc:creator><description>There seem to be an error in you DHCP configuration. The IP range given (range dynamic-bootp 192.168.0.200 192.168.0.254;) doesn't match the network/netmask/routers of the block they are in (192.168.1.x).

Why do you create the 9 empty files in /tftpboot? The "default" is IMHO  enough as the others are empty anyway.
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2990" width="1" height="1"&gt;</description></item><item><title>re: PXE Dust:  The magic of CD-less installs...</title><link>http://port25.technet.com/archive/2006/09/01/PXE-Dust_3A00_--The-magic-of-CD_2D00_less-installs_2E002E002E00_.aspx#2989</link><pubDate>Mon, 04 Sep 2006 08:11:25 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2989</guid><dc:creator>rhorn</dc:creator><description>&lt;p&gt;That seems a lot more complicated than it needs to be.&lt;/p&gt;
&lt;p&gt;The Debian documentation for doing the same thing isn't nearly as long. &amp;nbsp;How does Apache play into the picture?&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.us.debian.org/releases/stable/i386/ch04s06.html.en"&gt;http://www.us.debian.org/releases/stable/i386/ch04s06.html.en&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2989" width="1" height="1"&gt;</description></item></channel></rss>