User:GNUtoo/nfsroot

From ParabolaWiki
Jump to: navigation, search

1 Target configuration

# pacstrap -d /srv/NFS/p32 base mkinitcpio-nfs-utils nfs-utils
# sed 's#nfsmount#mount.nfs4#' /srv/NFS/p32/usr/lib/initcpio/hooks/net > /srv/NFS/p32/usr/lib/initcpio/hook/net_nfs4
# cp /srv/NFS/p32/usr/lib/initcpio/install/net /srv/NFS/p32/usr/lib/initcpio/install/net_nfs4
# vim /srv/NFS/p32/etc/mkinitcpio.conf

/srv/NFS/p32/etc/mkinitcpio.conf :

MODULES="nfsv4 r8169" #replace rt8169 by your NIC's driver
BINARIES="/usr/bin/mount.nfs4"
HOOKS="base udev autodetect modconf net_nfs4 block filesystems keyboard fsck"
COMPRESSION="xz"
#COMPRESSION_OPTIONS=""
# arch-chroot /srv/NFS/p32/
# mkinitcpio -p linux-libre
/srv/NFS/p32  192.168.2.*(rw,no_root_squash,no_subtree_check)

/srv/NFS/p32/boot/boot.ipxe:

#!ipxe
set serverip 192.168.2.242
set loglevel loglevel=8
set bootargs console=ttyS0,115200 ip=:::::eth0:dhcp nfsroot=${serverip}:/p32 ${loglevel}
kernel http://${serverip}/p32/vmlinuz-linux-libre ${bootargs}
initrd http://${serverip}/p32/initramfs-linux-libre.img
boot
# cd /srv/http
# ln -s /srv/NFS/p32/boot/ ./p32

2 Host configuration

Install the NFS uttilities:

pacman -S core/nfs-utils

/etc/exports:

/srv/NFS      192.168.2.*(rw,no_root_squash,no_subtree_check,fsid=0)

Start the services:

# systemctl start httpd.service
# systemctl start rpc-idmapd.service rpc-mountd.service