Differences between version 4 and predecessor to the previous major change of NFSRoot.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 4 | Last edited on Monday, May 12, 2003 12:30:17 am | by DanielLawson | Revert |
Older page: | version 3 | Last edited on Sunday, May 11, 2003 3:24:43 pm | by PerryLorier | Revert |
@@ -30,8 +30,11 @@
CONFIG_LOCKD=y
You can either compile this by hand or use make-kpkg under debian to install it, but however you do it you'll need to be able to install it into the nfs root we'll create in a second.
+
+I also compiled my kernel with devfs support, and automount devfs on boot ticked.
+
!Set up the root fs
Because I'm using the 'diskless' package under debian, this bit is fairly easy.
diskless comes with a program called 'diskless-createbasetgz' which creates a base.tgz (potato-install style) from a basic system root. It uses debootstrap or similar to download the required packages
@@ -56,9 +59,23 @@
# diskless-newimage
Follow the instructions - the defaults are probably good enough
-This has created the basic nfsroot filesystem for you. Now you must create a newhost using this image (this allows you ot have per-host settings for hostname etc)
+This has created the basic nfsroot filesystem for you. Now you must create a newhost using this image (this allows you ot have per-host settings for hostname etc). Use diskless-newhost /path/to/deskless/root <ip address of host>
+
+NOTE: if you want to add things to your diskless image first, this is a good time to do it
+ chroot /var/lib/diskless/default/root
+
+This puts you in a chroot jail inside the diskless image. You can use apt-get update and apt-get install to add new packages. EG, I added devfsd support here.
+
+Also, if you want to change the template files for /etc on your diskless machines, you can do that here. Edit /usr/lib/diskless-image/template/etc/<file> inside the chroot appropriately, before you run diskless-newhost
+Note: the templates reside in the above path *inside* the chroot, or else look in /var/lib/diskless/default/root/usr/lib/diskless-image/template/etc/<file>
+
+
+
+
+
+
! Set up the kernel for your nfsroot
If you made a debian kernel-package, copy it to /var/lib/diskless/default/root/root (or wherever you put your default image), then chroot to /var/lib/diskless/default/root, and run dpkg -i root/kernel-image.....
@@ -112,9 +129,9 @@
label nfs
kernel netboot-kernel
append root=/dev/boot255 \
nfsroot=10.66.1.1:/var/lib/diskless/default/root/ \
- ip=:10.66.1.1:10.66.1.1:255.255.255.::: devfs=nomount
+ ip=:10.66.1.1:10.66.1.1:255.255.255.:::
Note, that the default file is the the default configuration file for the client. PXE actually searches first of all for its IP address printed in hexadecimal, then drops a byte off, and continues looking for this until it has to give up and use the default file. This lets you add a config file for each host you boot via PXE.
This pxe config file sets the default boot option to nfs. It tells it to boot the kernel 'netboot-kernel' which it gets via tftp. It appends the specified kernel options to the kernel. These options are all, as far as I can tell, ABSOLUTELY required.