Root File System을 Host PC 디렉토리로 지정해서 사용하는 방법을 서술한다.
기존에 있던 uEnv.txt파일을 수정해서 NFS를 사용할 수 있게 수정한다.
바꾸기 전 :
console=ttyO0,115200n8
ipaddr=192.168.7.2
serverip=192.168.7.1
loadaddr=0x82000000
fdtaddr=0x88000000
ramfsaddr=0x88080000
loadtftp=tftpboot 0x82000000 uImage; tftpboot 0x88080000 initramfs; tftpboot 0x88000000 am335x-boneblack.dtb
tftpbootargs = bootargs console=${console} root=/dev/ram0 rw initrd=${ramfsaddr}
uenvcmd=setenv autoload no; run loadtftp; run tftpbootargs; bootm ${loadaddr} ${fdtaddr} ${ramfsaddr}
바꾸고 난 뒤
console=ttyO0,115200n8
ipaddr=192.168.7.2
serverip=192.168.7.1
rootpath=/srv/nfs/bbb,nolock,wsize=1024,rsize=1024 rootwait rootdelay=5
loadtftp=echo Booting from network ...;tftpboot ${loadaddr} uImage; tftpboot ${fdtaddr} am335x-boneblack.dtb
netargs=setenv bootargs console=${console} root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
uenvcmd=setenv autoload no; run loadtftp; run netargs; bootm ${loadaddr} - ${fdtaddr}
loadaddr, fdtaddr 등은 기본 설정 값이 있으므로 생략해도 괜찮다. host pc에서는 /srv/nfs/bbb를 rootpath로 사용하고 absolutepath는 tftpboot 폴더로 지정해 두었다.
uimage와 dtb파일은 /var/lib/tftpboot/ 폴더에 넣어두고 빌드한 RFS파일은 /srv/nfs/bbb 폴더에 넣어둔다.
먼저 nfs 부터 설치한다.
sudo apt-get install nfs-kernel-server
/etc/exports 파일을 수정한다.
/srv/nfs/bbb 192.168.7.2(rw,sync,no_root_squash,no_subtree_check)
그 다음 export 후 nfs를 재시작한다.
sudo exportfs -arv