Debian Setup TFTP/NFS

From Variscite Wiki
DART-MX8M - Debian Setup TFTP/NFS

1 Running Debian rootfs on Variscite board using TFTP & NFS

1.1 Host

Make sure you installed NFS server:

$ sudo apt-get install nfs-kernel-server
$ cd ~/var_mx8m_dart_debian
$ mkdir -p ~/rootfs_debian_nfs
$ cd ~/rootfs_debian_nfs
$ sudo tar xvf ~/var_mx8m_dart_debian/output/rootfs.tar.gz -C .
$ sudo gedit /etc/exports

Add the following line (change <uname> to the name of user):

/home/<uname>/rootfs_debian_nfs    *(rw,sync,no_root_squash,no_all_squash,no_subtree_check) 

exit & save

$ sudo /etc/init.d/nfs-kernel-server restart

Make sure you installed TFTP server:

$ sudo apt-get install xinetd tftpd tftp

Verify the following:

$ ls /usr/sbin/in.tftpd
$ sudo gedit /etc/xinetd.d/tftp
service tftp
	protocol = udp
	port = 69
	socket_type = dgram
	wait = yes
	user = nobody
	server = /usr/sbin/in.tftpd
	server_args = /tftpboot
	disable = no

and run:

$ sudo mkdir /tftpboot
$ sudo chmod -R 777 /tftpboot
$ sudo /etc/init.d/xinetd restart
$ cd ~/var_mx8m_dart_debian

$ sudo cp tmp/deploy/images/imx8m-var-dart/zImage /tftpboot
$ for f in tmp/deploy/images/imx8m-var-dart/*.dtb; do if [[ -L $f ]] && [[ $f != *imx8m-var-dart.dtb ]]; then sudo cp $f /tftpboot; fi done
$ sudo rename 's/zImage-//' /tftpboot/zImage-*.dtb

1.2 Target

Make sure you have a serial connection to the target.

Reset and hold the space bar. This will bring you to U-Boot command line.

=> setenv serverip (change to server IP based on your network configuration)
=> setenv nfsroot /home/<uname>/rootfs_debian_nfs (change <uname> to the name of user)
=> setenv bootcmd run netboot
=> saveenv 

You are all set. Connect Ethernet cable, power cycle the DART-MX8M and it should boot over NFS.