NFS image creation
This article explains how to initialize a new NFS image.
By now you should already know and have a NetBoot kernel.
!! Don't forget to backup the kernel's libraries and modules !!
NFS image folder
You should create a folder to host the new NFS image, for instance QA:
mkdir -p /nfs/qa chmod -R 777 /nfs/qa
This folder must be registered in NFS server configuration (/etc/exports).
>> See NFS server
Get a minimal Operating System
Go to your NFS image folder (it should be empty):
Thank to Deboostrap you can initialize a lot of *Nix versions!
You need to adjust the following command to the distribution you'd like to run:
## Ubuntu 14.04 debootstrap trusty /nfs/qa
!! This step is quite long... Depending on your network and CPU it can take up to 10 or 15 minutes !!
Copy kernel's libraries and modules
First thing to do is to copy your kernel's libraries and modules into your new NFS image.
cp -r /tftpboot/sources-images/trusty/lib/modules /nfs/qa/lib/ cp -r /tftpboot/sources-images/trusty/usr/src/ /nfs/qa/usr/src/
- /tftpboot/sources-images/trusty is your TFTP kernel name
- /nfs/qa/ is your new NFS image
Clean the default settings
When you use debootstrap the current DNS settings are set as "default".
You should clean that !!!
echo "" > /nfs/qa/etc/resolvconf/resolv.conf.d/base echo "" > /nfs/qa/etc/resolvconf/resolv.conf.d/head echo "" > /nfs/qa/etc/resolvconf/resolv.conf.d/original echo "" > /nfs/qa/etc/resolvconf/resolv.conf.d/tail
You don't need to clean the "/etc/resolv.conf" file, since that one will be re-generate on runtime.
Even better! By keeping the current /etc/resolv.conf you'll be able to get Internet connection when you'll be inside the NFS image as "chroot".
By default your client will have the same hostname as the server due to the "debootstrap" installation. :(
You MUST clean that in order to retrieve the name from your DNS.
echo "" > /nfs/qa/etc/hostname
Regarding "hosts", you should only keep the loopback settings.
It should look like this:
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters