Skip to content

Instantly share code, notes, and snippets.

@ianatha
Last active November 28, 2017 00:36
Show Gist options
  • Save ianatha/7852081 to your computer and use it in GitHub Desktop.
Save ianatha/7852081 to your computer and use it in GitHub Desktop.
Makes an Ubuntu box a PXEBoot server that serves CoreOS.
#!/bin/bash
COREOS_VERSION=147.0.1
apt-get install inetutils-inetd tftpd-hpa dhcp3-server -y
echo "RUN_DAEMON=\"yes\"" >> /etc/default/tftpd-hpa
echo "subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.200 10.0.1.250;
option routers 10.0.1.1;
option domain-name-servers 8.8.8.8,4.4.2.2;
filename \"pxelinux.0\";
}" > /etc/dhcp/dhcpd.conf
pushd /var/lib/tftpboot
# for ubutnu
# 905 cp bios/com32/menu/vesamenu.c32 /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/vesamenu.c32
# 906 cp bios/com32/lib/libcom32.c32 /var/lib/tftpboot/
# 907 cp bios/com32/libutil/libutil.c32 /var/lib/tftpboot/
# wget -r -np -R "index.html*" -nH --cut-dirs=8 http://archive.ubuntu.com/ubuntu/dists/saucy/main/installer-i386/current/images/netboot/
wget http://archive.ubuntu.com/ubuntu/dists/saucy/main/installer-i386/current/images/netboot/pxelinux.0
wget http://storage.core-os.net/coreos/amd64-generic/$COREOS_VERSION/{coreos_production_pxe.vmlinuz,coreos_production_pxe_image.cpio.gz}
mkdir pxelinux.cfg
echo "default coreos
prompt 1
timeout 15
label coreos
menu default
kernel coreos_production_pxe.vmlinuz
append initrd=coreos_production_pxe_image.cpio.gz root=squashfs: state=tmpfs: sshkey=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDAdyPLm74odZj+p5jsCRm7S5p+vCvondzUiKOqmfg7OI8rWpg0BSgVa2Po0UPeUPGngSSCMkWn78T9cxleW+r36T4TEFuqCpwiklEcuzQMAFC/ZUSzN8GDkYGqfoQ8cCdNWurI+q0Ab0eNWkv9mjN732dzfJ+8A8BcoBdacHbrz26chPep8jKkAZWXI2nhTA5uuSikNXQYzd1TjDu8xZeP7Z88utC2Y5o7rkfDDVn3HDvhMckFBv3qp1RzD4l9MFt60Sf6b+RNTfqcXzFXX4c4ayJo0rW8aujm5cksS3JtXF8Fu8ovaFbgL+zAId6K+xRnNPVm3jMWWmvIBcM3N5xUw8PXhClB6i+rbrFX/DNOtsmDP4bZcwqcweWK6EWaqxO+ThjCh6vdw3A6QrMn8uQqN8LOv3xe/ZgbHXRxVjnafahL87Oq3DYhAFj2DLBa0LA2VpZwQtyxL2dQPUmQHoUI8AlWyeuUHpFgQNik98WqIMppWT1NL4E2m0jKSF/MmHZ5oF+4Tqu6a6FM0CohbK05Mr4rJafjVEOENWaeNG0qARoPX1G0ftFdVnD78WRTHcNetezTujIr5h3ZuWJ1ViU1w1DkQrCsQJ1V4RqW8IAbneauKBWNG/rHVsLqrot4qZNF8VwS4wkUKUNyYLrbg2J9BKHHBdyuKSJD4CiR5EzvcYhSnh/fJVhDImJdg9t7xwX3/8OTaXFpBUb/CB5TfCJWMPIXyHg5VJjlWADApED6vhjrSNNBRSVKp22S6zYQIf89ynqih7xZ+m1Jd6dL9ywqtF4FZasFyDE1LtE06O86rVhaVXq9gZnQ5ogbBoj/pIsnrbLsZI/PJ+QlMEX9anNaF0qbGJtJqAUqAWKG1Z8rpYjhDBuxZPZAVweFNguJyk152EsfflEc283fcp8kMWP9640ihPAxcOPdNUKDI3jRVshmlcBzIGNe2l+7cZgZT3usryWXBkNg7gdVsDJ38BqXWx/V5D/Y87/HVGWBJhTtEAPYO7p9mjpQL8sFz2heSGPKDcfsVbEftw0rcEPd+4eQGN8bxH5bRe/fgf3UbtBHLqnlS/9R2KVBi7hT6dwi3jvNuxpz0/Hnw6c+oISEYuaGS1pTAmppH6o4GxrVB6JJKxbq4nNFLauuIO8oVqsJeB2n5tT2b0nHoPw1DvNFpnKFq85XtcbwY3/n9k/Ya//GVkup2fd9rvfuvrBhu1tImluSX5AfnZAoRFp1x+4ydk33BuEApCZenC6j9Oq6KyCDcy/Hxz+UDxpLOrBh1EW5Tn4/ORaOxV27FpN5dUbSZDZ1z2IZmVA04qK/ZwOjAfeSIiS7MIZyQgD5cSaqmKzdLaQJc4/TXpGxd+MWDAD5uTaD thatha\"" > pxelinux.cfg/default
popd
service tftpd-hpa restart
service isc-dhcp-server restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment