Economy Size Geek - Installation Toolkit
The DHCP server needs to offer up a PXE boot image for this to work. In my case, that meant I needed to update my DD-WRT configuration. I decided to change it first. I went to the Services tab on my router and added dhcp-boot=pxelinux.0,keg,192.168.210.254 to the box for Additional DNSMasq options. That is the PXE image, the name of my file server and my file server's IP. If you are running a DHCP server as well, you need to add something similar, depending on what DHCP software you are running.
Now the rest of the configuration happens on my file server. I installed a tftp server to serve up the PXE boot image:
sudo apt-get install tftpd-hpa
This creates a directory (/var/lib/tftpboot) and a config file (/etc/default/tftpd-hpa). Edit the config file by changing RUN_DAEMON="no" to RUN_DAEMON="yes". Then:
sudo /etc/init.d/tftpd-hpa restart
The next step is to get an installer:
sudo cd /var/lib/tftpboot sudo wget -r -nH --cut-dirs=8 -np ftp://archive.ubuntu.com/ ↪ubuntu/dists/karmic/main/installer-i386/current/images/netboot/
Now you can boot up your machine and have it load the standard Karmic installer. Part of the fun and flexibility of having a PXE server is that you can choose what to install on the fly. I'm going to start with adding on the x64 installer for Karmic. First, I needed to clean up the directory structure a bit. I removed everything (except the pxelinux.0 and pxelinux.cfg, which both turned out to be symlinks to files I deleted):
sudo mkdir -p ubuntu/karmic/i386 sudo mkdir ubuntu/karmic/amd64 sudo wget -r -nH --cut-dirs=8 -np ftp://archive.ubuntu.com/ ↪ubuntu/dists/karmic/main/installer-i386/current/images/netboot ↪-P /var/lib/tftpboot/ubuntu/karmic/i386 sudo wget -r -nH --cut-dirs=8 -np ftp://archive.ubuntu.com/ ↪ubuntu/dists/karmic/main/installer-amd64/current/images/netboot ↪-P /var/lib/tftpboot/ubuntu/karmic/amd64 sudo cp ubuntu/karmic/i386/ubuntu-installer/i386/pxelinux.0 ↪/var/lib/tftpboot/ sudo mkdir /var/lib/tftpboot/pxelinux.cfg
Now, set up a menu to choose between the two installers. Create a /var/lib/tftpboot/boot.txt file with:
- Install Options - karmic_i386_install karmic_i386_expert karmic_amd64_install karmic_amd64_expert
Create a /var/lib/tftpboot/pxelinux.cfg/default file with:
DISPLAY boot.txt LABEL karmic_i386_install kernel ubuntu/karmic/i386/ubuntu-installer/i386/linux append vga=normal initrd=ubuntu/karmic/i386/ ↪ubuntu-installer/i386/initrd.gz -- LABEL karmic_i386_expert kernel ubuntu/karmic/i386/ubuntu-installer/i386/linux append priority=low vga=normal initrd=ubuntu/karmic/ ↪i386/ubuntu-installer/i386/initrd.gz -- LABEL karmic_amd64_install kernel ubuntu/karmic/amd64/ubuntu-installer/amd64/linux append vga=normal initrd=ubuntu/karmic/amd64/ ↪ubuntu-installer/amd64/initrd.gz -- LABEL karmic_amd64_expert kernel ubuntu/karmic/amd64/ubuntu-installer/amd64/linux append priority=low vga=normal initrd=ubuntu/karmic/ ↪amd64/ubuntu-installer/amd64/initrd.gz --
From here on, you just need to download a distribution you want to support and add it to the menu. If you are the graphical type, you even can modify the system to allow menus and pretty icons.
PXE is great, because it allows you to boot up and choose the installer you need. The problem is that it assumes you are on the physical network. In the case of my wireless computers (Netbooks, laptops and that one computer that sits out in my brew house), I couldn't use PXE. The main workaround is to get a wireless bridge so the device can boot over a physical port on the bridge, and let the bridge worry about the Wi-Fi. The question of how to do that has floated around so long, I am not holding out hope a solution will show up any time soon.
Let's say you want some of the features of PXE, but you don't want to bother installing a server. It turns out you have two different options for doing pretty much the same thing over the Internet. You can use boot.kernel.org or www.netboot.me. Both are using gPXE, which allows you to do the same things I did, but you don't need to have any infrastructure (although you may want to have a lot of bandwidth, depending on how much installing you do).
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Using Salt Stack and Vagrant for Drupal Development
- Validate an E-Mail Address with PHP, the Right Way
- Build a Skype Server for Your Home Phone System
- Why Python?
- Tech Tip: Really Simple HTTP Server with Python
- A Topic for Discussion - Open Source Feature-Richness?
- Not free anymore
1 hour 8 min ago
4 hours 55 min ago
- Reply to comment | Linux Journal
5 hours 3 min ago
- Understanding the Linux Kernel
7 hours 18 min ago
9 hours 48 min ago
- Kernel Problem
19 hours 50 min ago
- BASH script to log IPs on public web server
1 day 17 min ago
1 day 3 hours ago
- Reply to comment | Linux Journal
1 day 4 hours ago
- All the articles you talked
1 day 6 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?