Bebop: Difference between revisions

From Wiki-Fou
No edit summary
Line 41: Line 41:
* Install the folowing packages to enable nfs features:
* Install the folowing packages to enable nfs features:
     $ opkg install nfs-utils kmod-fs-nfs kmod-fs-nfs-common
     $ opkg install nfs-utils kmod-fs-nfs kmod-fs-nfs-common
* Edit fstab to automatically mount the nfs directory at boot time:
    $ vi /etc/config/fstab
    # add the folowing entry
    config 'mount'
        option 'target' '/mnt/pxe'
        option 'device' 'YOUR.LOCAL.SERVER.IP:/path/to/optimal/place/'
        option 'fstype' 'nfs'
        option 'options' 'nolock'
        option 'enabled' 1
* Edit /etc/config/dhcp. It should look like:
* Edit /etc/config/dhcp. It should look like:
     $ vi /etc/config/dhcp
     $ vi /etc/config/dhcp

Revision as of 15:33, 24 August 2015


What is?

Bebop is our PXE (read as in "pixie") system. We use it for install new machines over the network. If you want to install Linux on your box, you're welcome anytime to come, visit us and, of course, install Linux.

How does it work?

We have an OpenWRT[1] router offering DHCP 'round the network and a local server where the boot images are hosted. The images are mounted on the router via NFS and voilà. That's all!

How can i reproduce Bebop in my local network?

Prepare a folder on your local server

Assumptions

  • You're running Debian on your local server. If not, please refer to the documentation of your distro.

Steps

  • SSH to your local server with proper credentials:
   $ ssh user@server
  • Gain root privileges:
   $ sudo -i
  • Install NFS, if not installed:
   $ apt-get install nfs-kernel-server nfs-common
  • Create a directory wherever you want to store the boot images:
   $ mkdir /path/to/optimal/place
  • Make the directory accesible through NFS:
   $ echo "/path/to/optimal/place"    *(ro,no_subtree_check)" >> /etc/exports
  • Logout form the server:
   Ctrl-D # exit from sudo
   Ctrl-D # exit from ssh login

Prepare your router to serve the files through tftpboot

Assumptions

  • You have already configured a router with OpenWRT

Steps

  • SSH to your router with proper credentials:
   $ ssh root@myrouter
  • Create a directory for mounting the files over the network:
   $ mkdir /mnt/tftpboot
  • Install the folowing packages to enable nfs features:
   $ opkg install nfs-utils kmod-fs-nfs kmod-fs-nfs-common
  • Edit fstab to automatically mount the nfs directory at boot time:
   $ vi /etc/config/fstab
   # add the folowing entry
   config 'mount'
       option 'target' '/mnt/pxe'
       option 'device' 'YOUR.LOCAL.SERVER.IP:/path/to/optimal/place/'
       option 'fstype' 'nfs'
       option 'options' 'nolock'
       option 'enabled' 1
  • Edit /etc/config/dhcp. It should look like:
   $ vi /etc/config/dhcp
   
   config dnsmasq
       ... a lot of config done before...
       option enable_tftp '1'
       option tftp_root '/mnt/tftpboot'
       ... a lot more config
   
   config boot 'linux'
       option filename 'pxelinux.0'
       option serveraddress 'MY.ROUTER.IP.ADDRESS'
       option servername 'router'

Notes