NFS 관련한 패키지가 모두 설치된 것을 기반으로 작성하였음
문제가 있다.
NFS부팅까지는 문제가 없으나, 로그인 후 명령어를 1회 실행한 이후로 계속 'Command not found' 에러가 발생한다.
아직 해결하지 못했으니, 아래 내용은 참고만 하기 바람.
$mkdir /home/juni/work/bsp-zcu106-2019.2/rootnfs
nfs 설정
dts 설정
DTG Settings -> Kernel Bootargs
: generate boot args automatically 해제
해제 후 하단에 생성되는 입력 칸에 Bootargs 직접 입력
Format) earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/nfs nfsroot=<nfs-server-ip>:<nfs-server-dir-path>,nfsvers=3,tcp ip=<nfs-client-ip>:<nfs-server-ip> rw
Ex) earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/nfs nfsroot=192.168.20.105:/home/juni/work/bsp-zcu106-2019.2/rootnfs,nfsvers=3,tcp ip=192.168.20.106:192.168.20.105 rw
ip 설정
: Networking support -> Networking options -> TCP/IP networking 선택 -> IP : kernel level autoconfiguration 선택 -> IP: DHCP Support, BOOTP support, RARP support 모두 선택
nfs 설정
: File systems -> Network file systems -> Root file system on NFS 선택
petalinux-build -c device-tree -x cleansstate && petalinux-build -c device-tree
2번 단계를 하지 않았다면 스킵
petalinux-build -c kernel
3번 단계를 하지 않았다면 스킵
petalinux-build -x distclean && petalinux-build
Image 디렉터리로 이동
$cd <plnx-proj-root>/images/linux
BOOT.BIN Build
Ex) $petalinux-package --boot --format BIN --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmwfw.elf --fpga *.bit --force
Boot image build
Ex) $tar czf 2019.2-zcu106-rootnfs.tar.gz BOOT.BIN image.ub *.bit system.dtb zynqmp_fsbl.elf bl31.elf pmufw.elf u-boot.elf
$tar xzf <plnx-proj-root>/images/linux/rootfs.tar.gz -C <nfs-server-dir-path>
Root 계정 로그인
$su -
export 편집하기
$vim /etc/exports
NFS 설정 추가하고 종료하기
Format) <nfs-server-dir-path> <ip-to-allow>(rw,no_root_squash)
Ex) $/home/juni/work/bsp-zcu106-2019.2/rootnfs 192.168.20.*(rw,no_root_squash)
Export 설정 반영하기
$service nfs restart
$exportfs -r