RSS: Blog | Wiki | Forum

NFS Boot

From Easyneufenglish

Jump to: navigation, search

Contents

[edit] Boot of the operating system with NFS

To save time, test the application, we start the system by NFS. The kernel just need to be present on a floppy, usb key or CDROM drive. A version which works the on PXE environment is also possible.

[edit] Adjusting the settings of the kernel

#      
# Networking options
#
...
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
...
#
# Network File Systems
#      
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y

[edit] Adjusting the settings of grub/lilo/syslinux

Options:

quiet root=/dev/nfs nfsroot=10.194.90.43:/tftpboot/ ip=10.194.90.126:10.194.90.43::255.255.255.0

Grub:

title           BuildRoot NFS image
kernel          /kernel quiet root=/dev/nfs nfsroot=10.194.90.43:/tftpboot/ ip=10.194.90.126:10.194.90.43::255.255.255.0

[edit] Generation of the system files

To generate the system files from an ISO. It is necessary to be in root mode to execute the following steps

Decompress the ISO in the nfsroot directory. unsquashfs can be recovered in the buildroot: 9buildroot/build_i686-unknown-linux-gnu/squashfs-cross-tools/squashfs3.1-r2/squashfs-tools/

unsquashfs -d /tftpboot/nfsroot $HOME/9buildroot/rootfs_i686-unknown-linux-gnu.squashfs

Create an user

chroot nfsroot ez9CreateUser -l login -m password --firstname=Prenom --lastname=Nom

Desactivation of 9firstboot

mkdir -p nfsroot/var/lib/state
touch nfsroot/var/lib/state/9firstboot

[edit] Adjusting the settings of the NFS server

/etc/exports

/tftpboot/      *(rw,no_root_squash,async)