Your partner for your innovative projects ...                                            

Actualités OSELIS

 

contact

 

French (Fr)English (United Kingdom)
E-mail Print PDF

Getting started with Tsunami board — Tsunami v1 documentation

Getting started with Tsunami board

Basic environment setup

Technexion PSP installation

Let’s start the tutorial with the kernel and rootfs generated by Technexion: http://www.technexion.com/index.php/support-center/downloads/ti-cpu-modules/508-tao-3530.

It’s installation can be done using the following:

sudo su
mkdir /root/tao-3530
cd /root/tao-3530
tar xjvf /home/account/download/tao-20110401.tar.bz2 -C .

/home/account/download/tao-20110401.tar.bz2 is an example.

This folder contains several files such as the kernel source code for the board and a rootfs function.

Toolchain setup

Firstly, a practical kernel with a toolchain for compilation are needed. A toolchain from Codesourcery was used in this tutorial, available here : http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057. The version Sourcery G++ Lite 2010q1-202 Release 2010-04-23 was used.

Toolchain installation example:

sudo tar xjvf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt
export PATH=$PATH:/opt/arm-2010q1/bin

Kernel compilation

Before the kernel compilation, the following package needs to be installed:

sudo apt-get install uboot-mkimage

The paths may change depending on the psp version:

cd /root/tao-3530/tao-20110401/kernel/TAO-PSP-03000106
make mrproper
make ARCH=arm omap3_tsunami_defconfig
make -j8 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

Once the compilation is completed, the kernel can be found under arch/arm/boot/.

Starting the board with our kernel and rootfs

In order to do this we need to download by FTP the kernel on the board. This will be done via u-boot which will download the kernel using FTP protocol, and load it in RAM at a defined address. When starting, the kernel will mount the file system via NFS, meaning that the embedded rootfs will be similar to the one on the development station hard drive.

FTP server configuration on the development station

Install the following package:

sudo apt-get install xinetd tftpd tftp

Edit the file /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
}

Create the folder /tftpboot:

sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot

Load the configuration files and start the FTP server:

sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd start

Copy now uImage in the tftpboot folder. This uImage should be at /root/tao-3530/tao-20110401/kernel/TAO-PSP-03000106/arch/arm/boot:

sudo cp /root/tao-3530/tao-20110401/kernel/TAO-PSP-03000106/arch/arm/boot/uImage /tftpboot

NFS server configuration on the development station

Under debian/ubuntu, this package must be installed: nfs-kernel-server.

The following commands allow this fs to be available for the NFS clients:

sudo bash -c "echo \"/root/tao-3530/tao-20110401/prebuilt/rootfs *(rw,sync,no_root_squash)\" >> /etc/exports"

Using ‘*’ means that any client on the network can connect to this nfs.

restart nfs server:

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

OR

sudo exportfs -a

U-Boot

Many softwares allow the management of serial port access under Linux, such as minicom:

sudo minicom -s

Select then “serial port configuration” and choose the serial port interface (/dev/ttyS0, /dev/ttyUSB0 ...). Define the parameters of the interface using:

Baud rate 115200
Data bit 8
Stop bits 1
Parity none        # modifiy otherwise TX won't work

Flow control none

Once under u-boot, some environment variables have to be modified depending on your configuration:

setenv ipaddr 192.168.1.50   # board's IP address under uboot
setenv netmask 255.255.255.0
setenv serverip 192.168.1.1           # development station's IP address

Then the following command will reboot the complete system:

setenv linux_args setenv bootargs console=${console} nfsroot=${serverip}:/root/tao-3530/tao-20110401/prebuilt/rootfs ip=${ipaddr}:${serverip}:192.168.1.254:255.255.255.0::eth0:off; tftpboot 84000000 uImage; run linux_args; bootm 84000000;

During the boot, the following failure should come up:

VFS: Mounted root (nfs filesystem) on device 0:12.
Freeing init memory: 176K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
udev: starting version 151
udevd-work[595]: error changing netif name eth0 to eth1: Device or resource busy

Remounting root file system...
Caching udev devnodes
Populating dev cacheFAT: unable to read boot sector

root: mount: mount point /proc/bus/usb does not exist
ALSA: Restoring mixer settings...
NOT configuring network interfaces: / is an NFS mount
Starting portmap daemon: portmap.
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
INIT: Entering runlevel: 5
Starting system message bus: Unknown username "system" in message bus configuration file
dbus.
Starting Hardware abstraction layer hald
Starting Connection Manager
Starting Dropbear SSH server: nfs: server 192.168.1.1 not responding, still trying

The nfs server is disconnected because Dropbear uses another network configuration.

To solve this issue, some default services of runlevel (5) were removed, the ones which potentially modified the network configuration. They are the following:

cd /root/tao-3530/tao-20110401/prebuilt/rootfs/etc/rc5.d
rm S02dbus-1 S05connman S10dropbear S20apmd S21avahi-daemon S80WIFI

Booting again with U-boot, the system is now practical:

.-------.
|       |                  .-.
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution taodemo ttyS2

Angstrom 2009.X-test-20091029 taodemo ttyS2

taodemo login: root
root@taodemo:~#

White papers

 Adding a module to the kernel : A module can be loaded and unloaded on demand, the benefit of a module is that it does'nt reside into the monolithic kernel image. Read more...


 ARM simulation with qemu and NFS : First step, the development PC station configuration. This phase consists to add and configure a "bridge". Read more...


 Getting started with OMAP3530 : Basic environment setup of Tsunami board, TechNexion PSP installation Read more...


Buildroot on OMAP3530 : In this toturial, the 2011.02 version of builroot was used. Read more...


Open embedded on OMAP3530 : Configuration of Tsunami board. The OE reference tutorial is under... Read more...


DVSDK on OMAP3530 : DVSDK is a development environment done by TI for its platforms, enabling an... Read more...