Yocto Setup TFTP/NFS
From Variscite Wiki
DART-6UL - Yocto Setup TFTP/NFS
Running Yocto rootfs on Variscite board using TFTP & NFS
Host
Make sure you installed NFS server:
$ sudo apt-get install nfs-kernel-server $ cd ~/var-fslc-yocto $ sudo mkdir rootfs $ cd rootfs $ sudo tar xvf ../build_x11/tmp/deploy/images/imx6ul-var-dart/fsl-image-gui-imx6ul-var-dart.tar.gz
$ sudo gedit /etc/exports
Add the following line (change <uname> to the name of user):
/home/<uname>/var-fslc-yocto/rootfs *(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-fslc-yocto/build_x11/
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage /tftpboot $ for f in tmp/deploy/images/imx6ul-var-dart/*.dtb; do if [[ -L $f ]] && [[ $f != *imx6ul-var-dart.dtb ]]; then sudo cp $f /tftpboot; fi done $ sudo rename 's/zImage-//' /tftpboot/zImage-*.dtb
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 192.168.1.188 => setenv nfsroot /home/<uname>/var-fslc-yocto/rootfs (change <uname> to the name of user) => setenv bootcmd run netboot => saveenv
If using NetworkManager, configure NetworkManager not to manage the NFS interface by adding the following to /etc/NetworkManager/NetworkManager.conf
[keyfile] unmanaged-devices=interface-name:eth0
Enable DNS:
# ln -fs /proc/net/pnp /etc/resolv.conf
You are all set. Connect Ethernet cable, power cycle the DART-6UL and it should boot over NFS.