Networking configuration procedures
This tutorial will show us how to setup communication channels between PetaLinux running in the MicroBlaze processor and the host system we use for all our program development and hardware generation. We will look at setting up a TFTP server and a NFS server. We will use this document as a starting point. We will also look at how to use telnet and ftp for communication with our board.
Setup a TFTP server
Trivial File Transfer Protocol (TFTP) is a very simple file transfer protocol, with the functionality of a very basic form of FTP. We will install the server in a Debian 64 bit Linux system.
Installing the TFTP server
We will install the following packages if not already installed.
--> sudo apg-get install tftp
--> sudo apt-get install xinetd
--> sudo apt-get install tftpd
Setting up the transfer directory
We will create a directory called /tftpboot in our host machine and allow everyone full access. Files put in this directory can be grabbed from other machines connected to the network.
--> sudo mkdir /tftpboot
--> sudo chmod -R 777 /tftpboot
--> sudo chown -R nobody /tftpboot
Setting up the configuration file
Create a file /etc/xinetd.d/tftp and include the following:
Starting the TFTP server
Use the following command to restart the server:
--> sudo /etc/init.d/xinetd stop
--> sudo /etc/init.d/xinetd start
Testing the TFTP server
Ensure the tftpd service is up and running.
We will put a small text file called test in the /tftpboot directory and try to grab it using tftp.
Setup a NFS server
NFS server allows NFS-mount root file system (or NFS mount) on the targeting board. This is normally used during application development stage. The main idea here is to provide application/software developers a rapid turnaround during testing and development environment, because downloading the modified file system image to the target hardware is not necessary.
The following packages must be installed:
--> sudo apt-get install portmap
--> sudo apt-get install nfs-kernel-server
Setting up a configuration file for PetaLinux environment
The main configuration file we will need to edit to set up an NFS server is: /etc/exports. This file contains a list of entries; each entry indicates a volume that is shared and how it is shared.
/opt/home/svan/petaLinux/hardware is the path that will be exported. The IP address is the address of the host machine. Use the command to find the IP address:
Starting NFS and portmap services
Use the following command to start the NFS server and portmap:
--> sudo /etc/init.d/portmap start
--> sudo /etc/init.d/nfs-kernel-server start
To find out if the NFS server and portmapper is up and running execute the following command:
--> rpcinfo -p
Congratulations! We are all set.
Mounting the shared directory
Use this command to mount the shared directories in our PetaLinux file system in the /mnt directory:
--> mount -t nfs 192.168.1.98:/home/svan/...../hardware /mnt -otcp,rsize=4096,wsize=4096
This is telling mount that
- we want to mount a file system of NFS type (-t NFS)
- the host of this file system has IP address 192.168.1.98
- the directory on that host we wish to mount is /home/svan..../hardware
- we want this file system to be mounted underneath the local /mnt directory
- data transfer uses TCP protocol (-otcp)
- the read and write operations should use block size of 4096
Here is the result.
Using the TFTP server
The tftp command used in PetaLinux is implemented in BusyBox.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in GNU coreutils, util-linux, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts.
Get a file
To transfer a file from the Debian Linux host to the PetaLinux directory /home/svan execute the following command in the PetaLinux terminal:
Put a file
To transfer a file from the PetaLinux host to the Debian host execute the following command in the PetaLinux terminal:
Telnet to the board
PeatLinux supports the standard telnet protocol directly. Let's try it. First we have to find out the IP address to our MicroBlaze board. In the terminal window execute the command:
Execute this command on the host:
--> telnet 192.168.1.107
FTP is another frequently used network feature. Our MicroBlaze Linux system is pre-configured with a FTP server. Here is a tutorial describing the FTP command. Here are the steps to use FTP:
If we prefer we may also use a graphical FTP program like FileZilla or gftp. Here is an example using FileZilla.
Top Previous Next