RSS: Blog | Wiki | Forum

NFS Boot

Un article de Easyneuf.

Sommaire

[modifier] Démarrage du système d'exploitation par NFS

Pour gagner du temps, tester l'application, nous démarrons le système par NFS. Le noyau a juste besoin d'être présent sur une disquette, clef usb ou lecteur de CDROM. Une version fonctionnant sur l'environnement PXE est aussi envisageable.

[modifier] Paramétrage du 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

[modifier] Paramétrage de 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

[modifier] Génération du système de fichiers

Pour générer le système de fichiers à partir d'une image. Il faut être 'root' pour exécuter les étapes suivantes

Décompresser l'image dans le répertoire nfsroot. L'utilitaire unsquashfs peut être récupéré dans le 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

Création d'un utilisateur

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

Désactivation du 9firstboot

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

[modifier] Paramétrage du serveur NFS

/etc/exports

/tftpboot/      *(rw,no_root_squash,async)