blob: c5440767a2d27a08d4812b8df5d5eea703b0d413 [file] [log] [blame]
Dean Troyer3f717002011-09-27 17:53:11 -05001#!/bin/bash
2# make_pxe.sh - Create a PXE boot environment
3#
4# make_pxe.sh destdir
5#
6# Assumes syslinux is installed
7# Configues PXE for Ubuntu Natty and FreeDOS
8
9UBUNTU_MIRROR=http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64
10
11DEST_DIR=${1:-/tmp/tftpboot}
12OPWD=`pwd`
13
14DEFAULT=$DEST_DIR/pxelinux.cfg/default
15cat >$DEFAULT <<EOF
16default menu.c32
17#display pxelinux.cfg/menu.txt
18prompt 0
19#timeout 0
20
21MENU TITLE PXE Boot Menu
22
23EOF
24
25MENU=$DEST_DIR/pxelinux.cfg/menu.txt
26cat >$MENU <<EOF
27PXE Boot Menu
28
29EOF
30
31mkdir -p $DEST_DIR/pxelinux.cfg
32cd $DEST_DIR
33cp -p /usr/lib/syslinux/memdisk $DEST_DIR
34cp -p /usr/lib/syslinux/pxelinux.0 $DEST_DIR
35
36# Get Ubuntu netboot
37mkdir -p $DEST_DIR/ubuntu
38cd $DEST_DIR/ubuntu
39wget -N --quiet $UBUNTU_MIRROR/linux
40wget -N --quiet $UBUNTU_MIRROR/initrd.gz
41cat >>$DEFAULT <<EOF
42
43LABEL ubuntu
44 MENU LABEL Ubuntu Natty
45 KERNEL ubuntu/linux
46 APPEND initrd=ubuntu/initrd.gz
47EOF
48cat >>$MENU <<EOF
49ubuntu - Ubuntu Natty
50EOF
51
52# Get FreeDOS
53mkdir -p $DEST_DIR/freedos
54cd $DEST_DIR/freedos
55wget -N --quiet http://www.fdos.org/bootdisks/autogen/FDSTD.288.gz
56gunzip -f FDSTD.288.gz
57cat >>$DEFAULT <<EOF
58
59LABEL freedos
60 MENU LABEL ^FreeDOS bootdisk
61 KERNEL memdisk
62 APPEND initrd=freedos/FDSTD.288
63EOF
64cat >>$MENU <<EOF
65freedos - FreeDOS
66EOF