Yocto Setup TFTP/NFS: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
Line 4: Line 4:
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{#lst:B2QT_Platform_Customization|{{#var:RELEASE_PARAM}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} - Yocto Setup TFTP/NFS}} {{DocImage|category1={{#var:HARDWARE_NAME}}|category2=Yocto}} __toc__<!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} - Yocto Setup TFTP/NFS}} {{DocImage|category1={{#var:HARDWARE_NAME}}|category2=Yocto}} __toc__<!--
-->{{#vardefine:BUILD_FOLDER_DISTRO | {{ #varexists:BUILD_FOLDER_X11 | {{#var:BUILD_FOLDER_X11}} | {{ #varexists:BUILD_FOLDER_XWAYLAND | {{#var:BUILD_FOLDER_XWAYLAND}} | {{#var:BUILD_FOLDER_B2QT}} }} }} }}<!--


Show CONFIG_FEC note if these conditions met:  
Show CONFIG_FEC note if these conditions met:  
Line 16: Line 18:
-->{{#vardefine:KERNEL_VER_MAJOR|{{#explode:{{#var:KERNEL_VER}}|.|1}}}}<!--                                                                                  Parse Kernel Version xx.YY.zz
-->{{#vardefine:KERNEL_VER_MAJOR|{{#explode:{{#var:KERNEL_VER}}|.|1}}}}<!--                                                                                  Parse Kernel Version xx.YY.zz
-->{{#vardefine:KERNEL_VER_MINOR|{{#explode:{{#var:KERNEL_VER}}|.|2}}}}<!--                                                                                  Parse Kernel Version xx.yy.ZZ
-->{{#vardefine:KERNEL_VER_MINOR|{{#explode:{{#var:KERNEL_VER}}|.|2}}}}<!--                                                                                  Parse Kernel Version xx.yy.ZZ
-->{{#vardefine:SHOW_CONFIG_FEC|1}}<!--                                                                                                                     Initialize SHOW_CONFIG_FEC = 1
-->{{#vardefine:SHOW_CONFIG_FEC|1}}<!--
Initialize SHOW_CONFIG_FEC = 1


Check KERNEL_VER and KERNEL_DEFCONFIG
Check KERNEL_VER and KERNEL_DEFCONFIG
Line 33: Line 36:
  $ sudo mkdir rootfs
  $ sudo mkdir rootfs
  $ cd rootfs
  $ cd rootfs
  $ sudo tar xvf  ../{{#varexists:BUILD_FOLDER_X11 | {{#var:BUILD_FOLDER_X11}} | {{#var:BUILD_FOLDER_XWAYLAND}} }}/tmp/deploy/images/{{#var:MACHINE_NAME}}/fsl-image-gui-{{#var:MACHINE_NAME}}.tar.gz
  $ sudo tar xvf  ../{{#var:BUILD_FOLDER_DISTRO}}/tmp/deploy/images/{{#var:MACHINE_NAME}}/fsl-image-gui-{{#var:MACHINE_NAME}}.tar.gz
<pre>
<pre>
$ sudo gedit /etc/exports
$ sudo gedit /etc/exports
Line 63: Line 66:
  $ sudo chmod -R 777 /tftpboot
  $ sudo chmod -R 777 /tftpboot
  $ sudo /etc/init.d/xinetd restart
  $ sudo /etc/init.d/xinetd restart
  $ cd {{#var:BUILD_FOLDER}}/{{#varexists:BUILD_FOLDER_X11 | {{#var:BUILD_FOLDER_X11}} | {{#var:BUILD_FOLDER_XWAYLAND}} }}/
  $ cd {{#var:BUILD_FOLDER}}/{{#var:BUILD_FOLDER_DISTRO}}/
{{#ifeq: {{#var:SOC_SERIES}} | imx8 |
{{#ifeq: {{#var:SOC_SERIES}} | imx8 |
<br>
<br>

Revision as of 12:32, 1 March 2021

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.