0f3bafc74e
Change-Id: I2fe6aac7caec21af26983636d6ec827b3525ee15
141 lines
3.5 KiB
ReStructuredText
141 lines
3.5 KiB
ReStructuredText
`DevStack </>`__
|
|
|
|
- `Overview <../overview.html>`__
|
|
- `Changes <../changes.html>`__
|
|
- `FAQ <../faq.html>`__
|
|
- `git.openstack.org <https://git.openstack.org/cgit/openstack-dev/devstack>`__
|
|
- `Gerrit <https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z>`__
|
|
|
|
PXE Boot Server Guide: Magic Dust for Network Boot
|
|
==================================================
|
|
|
|
Boot DevStack from a PXE server to a RAM disk.
|
|
|
|
Prerequisites Hardware & OpenWRT
|
|
--------------------------------
|
|
|
|
Hardware
|
|
~~~~~~~~
|
|
|
|
The whole point of this exercise is to have a highly portable boot
|
|
server, so using a small router with a USB port is the desired platform.
|
|
This guide uses a Buffalo WZR-HP-G300NH as an example, but it is easily
|
|
generalized for other supported platforms. See openwrt.org for more.
|
|
|
|
OpenWRT
|
|
~~~~~~~
|
|
|
|
Any recent 'Backfire' build of OpenWRT will work for the boot server
|
|
project. We build from trunk and have made the images available at
|
|
`http://openwrt.xr7.org/openwrt <http://openwrt.xr7.org/openwrt>`__.
|
|
|
|
Installation bit blasting
|
|
-------------------------
|
|
|
|
Install the Image
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
This process follows `the OpenWRT doc OEM
|
|
Install <http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h>`__ to tftp
|
|
the new image onto the router. You need a computer to set up the router,
|
|
we assume it is a recent Linux or OS/X installation.
|
|
|
|
- Get openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin
|
|
|
|
::
|
|
|
|
wget http://openwrt.xr7.org/openwrt/ar71xx/openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin
|
|
|
|
- Connect computer to LAN port 4 (closest to WAN port)
|
|
- Set computer interface to IP address in the 192.168.11.2
|
|
- Add static arp entry for router
|
|
|
|
::
|
|
|
|
arp -s 192.168.11.1 <mac-address>
|
|
|
|
- Start TFTP transfer attempt
|
|
|
|
::
|
|
|
|
tftp 192.168.11.1
|
|
binary
|
|
rexmt 1
|
|
timeout 60
|
|
put openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin
|
|
|
|
- Power on router. Router will reboot and initialize on 192.168.1.1.
|
|
- Delete static arp entry for router
|
|
|
|
::
|
|
|
|
arp -d 192.168.11.1
|
|
|
|
- Set computer to DHCP, connect and telnet to router and set root
|
|
password.
|
|
|
|
Configure the Router
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- Update ``/etc/opkg.conf`` to point to our repo:
|
|
|
|
::
|
|
|
|
src/gz packages http://192.168.5.13/openwrt/build/ar71xx/packages
|
|
|
|
- Configure anon mounts:
|
|
|
|
::
|
|
|
|
uci delete fstab.@mount[0]
|
|
uci commit fstab
|
|
/etc/init.d/fstab restart
|
|
|
|
- Reset the DHCP address range. DevStack will claim the upper /25 of
|
|
the router's LAN address space for floating IPs so the default DHCP
|
|
address range needs to be moved:
|
|
|
|
::
|
|
|
|
uci set dhcp.lan.start=65
|
|
uci set dhcp.lan.limit=60
|
|
uci commit dhcp
|
|
|
|
- Enable TFTP:
|
|
|
|
::
|
|
|
|
uci set dhcp.@dnsmasq[0].enable_tftp=1
|
|
uci set dhcp.@dnsmasq[0].tftp_root=/mnt/sda1/tftpboot
|
|
uci set dhcp.@dnsmasq[0].dhcp_boot=pxelinux.0
|
|
uci commit dhcp
|
|
/etc/init.d/dnsmasq restart
|
|
|
|
Set Up tftpboot
|
|
~~~~~~~~~~~~~~~
|
|
|
|
- Create the ``/tmp/tftpboot`` structure and populate it:
|
|
|
|
::
|
|
|
|
cd ~/devstack
|
|
tools/build_pxe_boot.sh /tmp
|
|
|
|
This calls ``tools/build_ramdisk.sh`` to create a 2GB ramdisk
|
|
containing a complete development Oneiric OS plus the OpenStack code
|
|
checkouts.
|
|
|
|
- Copy ``tftpboot`` to a USB drive:
|
|
|
|
::
|
|
|
|
mount /dev/sdb1 /mnt/tmp
|
|
rsync -a /tmp/tftpboot/ /mnt/tmp/tftpboot/
|
|
umount /mnt/tmp
|
|
|
|
- Plug USB drive into router. It will be automounted and is ready to
|
|
serve content.
|
|
|
|
Now `return <ramdisk.html>`__ to the RAM disk Guide to kick off your
|
|
DevStack experience.
|