More PXE Magic
Add Precise 64-Bit
Now that you have the 32-bit Precise install working, let's add the 64-bit release as well. You'll basically perform the same initial steps as before, after you remove any existing netboot.tar.gz files. The netboot.tar.gz file is structured so that it will be safe to extract it in the same precise directory:
$ cd /var/lib/tftpboot/precise $ sudo rm netboot.tar.gz $ sudo wget http://us.archive.ubuntu.com/ubuntu/dists/precise/ ↪main/installer-amd64/current/images/netboot/netboot.tar.gz $ sudo tar xzf netboot.tar.gz
Since you already copied over the boot-screens directory, you can skip ahead to copying and modifying the 64-bit txt.cfg, so it gets pointed to the right directory:
$ cd /var/lib/tftpboot/boot-screens $ sudo cp ../precise/ubuntu-installer/amd64/boot-screens/txt.cfg ↪precise-amd64.cfg $ sudo perl -pi -e 's|ubuntu-installer|precise/ubuntu-installer|g' ↪precise-amd64.cfg
Now, open up /var/lib/tftpboot/boot-screens/menu.cfg again, and add an additional menu entry that points to the precise-amd64.cfg file you created. The file ends up looking like this:
menu hshift 13 menu width 49 menu margin 8 menu title Installer boot menu^G include boot-screens/stdmenu.cfg menu begin precise-i386 menu title Precise 12.04 i386 include boot-screens/stdmenu.cfg label mainmenu menu label ^Back.. menu exit include boot-screens/precise-i386.cfg menu end menu begin precise-amd64 menu title Precise 12.04 amd64 include boot-screens/stdmenu.cfg label mainmenu menu label ^Back.. menu exit include boot-screens/precise-amd64.cfg menu end include boot-screens/gtk.cfg menu begin advanced menu title Advanced options include boot-screens/stdmenu.cfg label mainmenu menu label ^Back.. menu exit include boot-screens/adtxt.cfg include boot-screens/adgtk.cfg menu end label help menu label ^Help text help Display help screens; type 'menu' at boot prompt to ↪return to this menu endtext config boot-screens/prompt.cfg
Add a New Ubuntu Release
So, you were happy with your 12.04 PXE menu, and then Ubuntu released 12.10 Quantal, so now you want to add the 32-bit version of that to your menu. Simply adapt the steps from before to this new release. First, create a directory to store the new release, and pull down and extract the new netboot.tar.gz file:
$ cd /var/lib/tftpboot $ sudo mkdir quantal $ cd quantal $ sudo wget http://us.archive.ubuntu.com/ubuntu/dists/quantal/ ↪main/installer-i386/current/images/netboot/netboot.tar.gz $ sudo tar xzf netboot.tar.gz
Next, copy over the quantal txt.cfg file to your root boot-screens directory, and run a Perl one-liner on it to point it to the right directory:
$ cd /var/lib/tftpboot/boot-screens $ sudo cp ../quantal/ubuntu-installer/i386/boot-screens/txt.cfg ↪quantal-i386.cfg $ sudo perl -pi -e 's|ubuntu-installer|quantal/ubuntu-installer|g' ↪quantal-i386.cfg
Finally, edit /var/lib/tftpboot/boot-screens/menu.cfg again, and add the additional menu entry that points to the quantal-i386.cfg file you created. The additional section you should put below the previous submenus looks like this:
menu begin quantal-i386 menu title Quantal 12.10 i386 include boot-screens/stdmenu.cfg label mainmenu menu label ^Back.. menu exit include boot-screens/quantal-i386.cfg menu end
The resulting PXE menu should look something like Figure 3. To add the 64-bit release, just adapt the steps from the above Precise 64-bit release to Quantal. Finally, if you want to mix and match Debian releases as well, the steps are just about the same, except you will need to track down the Debian netboot.tar.gz from its project mirrors and substitute precise for Debian project names like squeeze. Also, everywhere you see a search and replace that references ubuntu-installer, you will change that to debian-installer.
Figure 3. Now with Three Options
Kyle Rankin is a VP of engineering operations at Final, Inc., the author of a number of books including DevOps Troubleshooting and The Official Ubuntu Server Book, and is a columnist for Linux Journal. Follow him @kylerankin.
- Ubuntu MATE, Not Just a Whim
- Canonical Ltd.'s Ubuntu Core
- Build Your Own Raspberry Pi Camera
- Nasdaq Selects Drupal 8
- Non-Linux FOSS: Screenshotting for Fun and Profit!
- Secure Desktops with Qubes: Compartmentalization
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- The Peculiar Case of Email in the Cloud
- A New Mental Model for Computers and Networks
- Netlist, Inc.'s HybriDIMM Storage Class Memory
Pick up any e-commerce web or mobile app today, and you’ll be holding a mashup of interconnected applications and services from a variety of different providers. For instance, when you connect to Amazon’s e-commerce app, cookies, tags and pixels that are monitored by solutions like Exact Target, BazaarVoice, Bing, Shopzilla, Liveramp and Google Tag Manager track every action you take. You’re presented with special offers and coupons based on your viewing and buying patterns. If you find something you want for your birthday, a third party manages your wish list, which you can share through multiple social- media outlets or email to a friend. When you select something to buy, you find yourself presented with similar items as kind suggestions. And when you finally check out, you’re offered the ability to pay with promo codes, gifts cards, PayPal or a variety of credit cards.Get the Guide