Difference between revisions of "Communicate with your board from a Linux Host (Basics)"
m (→Kermit installation) |
(→Debian Jessie) |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | ==RS232 configuration== | + | ==RS232 Terminal configuration== |
− | We suggest you to use | + | You will need a RS232 terminal emulator to communicate with U-Boot/Linux console. You can choose between: |
− | If you just need a simple serial console and not to transfer data then '''GTKTerm''' is the perfect choice ! (package gtkterm in Ubuntu) | + | * [[Kermit]] |
− | + | * Minicom | |
− | + | * GtkTerm | |
− | + | We suggest you to use [[Kermit]] as Terminal emulator for RS232 connection. Minicom was sadly reported to have problems when communicating with U-Boot (ZModem data transfer). | |
− | + | If you just need a simple serial console and not to transfer data through RS232, then '''GTKTerm''' is the perfect choice ! (package gtkterm in Ubuntu) | |
− | + | {{Note|Your terminal should be configured with: '''115200 bauds 8N1''' parameters}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
==TFTP server== | ==TFTP server== | ||
− | In order to send your image files (U-Boot, Linux, | + | In order to send your image files (U-Boot, Linux, rootfs or FPGA's firmware) at higher speed to your Armadeus board, you can use the Ethernet link and [http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol a TFTP server]. |
− | Once the server started, the files located in the server shared directory (''/tftpboot'' by default) will be accessible from the U-Boot TFTP | + | Once the server started, the files located in the server shared directory (''/tftpboot'' by default) will be accessible from the U-Boot/Linux TFTP clients. |
===TFTP server installation=== | ===TFTP server installation=== | ||
− | * On Ubuntu: | + | * On *Ubuntu / Debian: |
− | + | $ sudo apt-get install tftpd xinetd | |
or use Synaptic<br> | or use Synaptic<br> | ||
* On Fedora: | * On Fedora: | ||
Line 53: | Line 20: | ||
* Then create the directory that will contain all the files that the server will export (you have to be root to do that): | * Then create the directory that will contain all the files that the server will export (you have to be root to do that): | ||
− | + | $ sudo mkdir /tftpboot | |
− | + | $ sudo chmod 777 /tftpboot | |
===Server configuration=== | ===Server configuration=== | ||
Line 75: | Line 42: | ||
* Restart xinetd service: | * Restart xinetd service: | ||
− | + | $ sudo killall -HUP xinetd | |
* Put some files in ''/tftpboot'' | * Put some files in ''/tftpboot'' | ||
+ | * To test it from U-Boot (if you already have the correct IP addresses, otherwise [[Target_Software_Installation#Configure_U-Boot|continue with Setup Basics here]]): | ||
+ | <pre class="apf"> | ||
+ | BIOS> run download_uboot | ||
+ | MAC: 00:1e:ac:00:00:01 | ||
+ | operating at 100M full duplex mode | ||
+ | Using dm9000 device | ||
+ | TFTP from server 192.168.0.2; our IP address is 192.168.0.10 | ||
+ | Filename 'apf9328-u-boot.bin'. | ||
+ | Load address: 0x8000000 | ||
+ | Loading: ########################################### | ||
+ | done | ||
+ | Bytes transferred = 217656 (35238 hex) | ||
+ | BIOS> | ||
+ | </pre> | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | === Debian Jessie === | ||
+ | |||
+ | On debian jessie, if we follow the tutorial above we get this error under U-Boot: | ||
+ | |||
+ | <pre class="target"> | ||
+ | BIOS> run update_kernel | ||
+ | Using FEC device | ||
+ | TFTP from server 192.168.0.214; our IP address is 192.168.0.11 | ||
+ | Filename 'testbench27_apf6_test-linux.bin'. | ||
+ | Load address: 0xa0000000 | ||
+ | Loading: * | ||
+ | TFTP error: 'Access violation' (2) | ||
+ | Not retrying... | ||
+ | </pre> | ||
+ | |||
+ | We can see the problem in log with this command : | ||
+ | <pre class="host"> | ||
+ | $ sudo tailf /var/log/syslog | grep tftp | ||
+ | Oct 23 08:43:29 fabien in.tftpd[24535]: connect from 192.168.0.11 (192.168.0.11) | ||
+ | Oct 23 08:43:29 fabien tftpd[24536]: tftpd: trying to get file: testbench27_apf6_test-linux.bin | ||
+ | Oct 23 08:43:29 fabien tftpd[24536]: tftpd: serving file from /srv/tftp | ||
+ | </pre> | ||
+ | |||
+ | The tftpboot service seems to not follow the configuration file /etc/xinetd.d/tftp. | ||
+ | |||
+ | To solve problem temporarly, we can make a symbolic link in /srv directory : | ||
+ | <pre class="host"> | ||
+ | cd /srv | ||
+ | sudo ln -s /tftpboot tftp | ||
+ | </pre> | ||
+ | |||
+ | === (XXX) Debian jessie magic === | ||
+ | |||
+ | Launch tftp manually : | ||
+ | <pre class="host"> | ||
+ | sudo in.tftpd -l -s /srv/tftp/ | ||
+ | </pre> | ||
+ | |||
+ | Found [https://bbs.archlinux.org/viewtopic.php?id=154523 here] | ||
==Links== | ==Links== | ||
* [http://www.columbia.edu/kermit/ Kermit Homepage] | * [http://www.columbia.edu/kermit/ Kermit Homepage] | ||
* [http://www.jls-info.com/julien/linux/ GTKTerm Homepage] | * [http://www.jls-info.com/julien/linux/ GTKTerm Homepage] | ||
+ | * http://doc.ubuntu-fr.org/tftpd |
Latest revision as of 09:58, 8 October 2015
Contents
RS232 Terminal configuration
You will need a RS232 terminal emulator to communicate with U-Boot/Linux console. You can choose between:
- Kermit
- Minicom
- GtkTerm
We suggest you to use Kermit as Terminal emulator for RS232 connection. Minicom was sadly reported to have problems when communicating with U-Boot (ZModem data transfer). If you just need a simple serial console and not to transfer data through RS232, then GTKTerm is the perfect choice ! (package gtkterm in Ubuntu)
TFTP server
In order to send your image files (U-Boot, Linux, rootfs or FPGA's firmware) at higher speed to your Armadeus board, you can use the Ethernet link and a TFTP server. Once the server started, the files located in the server shared directory (/tftpboot by default) will be accessible from the U-Boot/Linux TFTP clients.
TFTP server installation
- On *Ubuntu / Debian:
$ sudo apt-get install tftpd xinetd
or use Synaptic
- On Fedora:
# rpm -q tftpd xinetd
- Then create the directory that will contain all the files that the server will export (you have to be root to do that):
$ sudo mkdir /tftpboot $ sudo chmod 777 /tftpboot
Server configuration
- Edit or create the configuration file /etc/xinetd.d/tftp and modify/add it the following lines:
# default: off # description: The tftp server serves files using the trivial file transfer # protocol. The tftp protocol is often used to boot diskless # workstations, download configuration files to network-aware printers, # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot # disable = yes }
- Restart xinetd service:
$ sudo killall -HUP xinetd
- Put some files in /tftpboot
- To test it from U-Boot (if you already have the correct IP addresses, otherwise continue with Setup Basics here):
BIOS> run download_uboot MAC: 00:1e:ac:00:00:01 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.0.2; our IP address is 192.168.0.10 Filename 'apf9328-u-boot.bin'. Load address: 0x8000000 Loading: ########################################### done Bytes transferred = 217656 (35238 hex) BIOS>
Troubleshooting
Debian Jessie
On debian jessie, if we follow the tutorial above we get this error under U-Boot:
BIOS> run update_kernel Using FEC device TFTP from server 192.168.0.214; our IP address is 192.168.0.11 Filename 'testbench27_apf6_test-linux.bin'. Load address: 0xa0000000 Loading: * TFTP error: 'Access violation' (2) Not retrying...
We can see the problem in log with this command :
$ sudo tailf /var/log/syslog | grep tftp Oct 23 08:43:29 fabien in.tftpd[24535]: connect from 192.168.0.11 (192.168.0.11) Oct 23 08:43:29 fabien tftpd[24536]: tftpd: trying to get file: testbench27_apf6_test-linux.bin Oct 23 08:43:29 fabien tftpd[24536]: tftpd: serving file from /srv/tftp
The tftpboot service seems to not follow the configuration file /etc/xinetd.d/tftp.
To solve problem temporarly, we can make a symbolic link in /srv directory :
cd /srv sudo ln -s /tftpboot tftp
(XXX) Debian jessie magic
Launch tftp manually :
sudo in.tftpd -l -s /srv/tftp/
Found here