AVR32 Linux Applications
Porting applications to AVR32
Porting a new application to AVR32 is usually quite easy. If the application uses the autoconf system (i.e. it has a configure script), you probably just have to update the config.sub and (optionally) config.guess files with a version that recognizes AVR32. The latest version of these scripts can be downloaded from http://savannah.gnu.org/projects/config. With a recent config.sub in place, all you need to do is to run configure with the --host=avr32-linux
option and run make
and make install
.
If this doesn't work, please have a look at some CommonPortingIssues.
When it does work, please consider adding an entry to the table below describing what you had to do and (if necessary) include a patch containing the changes you had to do to the code. Please use a WikiWord for the application name so that links will work as expected.
Linux on UC3-based CPUs
Even though the Linux kernel currently only supports AVR32 AP7-based CPUs, Linux has supported MMU-less CPUs for quite some time, and there are UC3-based CPUs available that are fully capable of running Linux. With LinuxOnUC3, the applications listed below are made available for use on cheap UC3-based chips as well. Work is underway to make this happen -- if you think it sounds interesting, please consider participating.
AVR32 Linux Application Repository
Adding new entries to the list
If you've ported a new application to avr32-linux, or even just tried cross-compiling something and found out that it works with no modifications, you should add it to the Application Repository above. Here's how you do it:
- Add a new row to the table. Make sure that what appears in the Application column is interpreted as a link by the wiki software --- either by using a WikiWord or by forcing a link by enclosing the name in double square brackets like this: [[Frobnicator]]. See the TextFormattingRules for details.
- Fill in the table entry as best you can. Unless a patch is already available from some other source, put a temporary placeholder in the Patch column. Save the page.
- Click on the question mark next to the application name to create a new info page for your application.
- Fill in the info page with any information you think is necessary. Please try to keep the general structure consistent with other applications' info pages.
- If the application needs a patch, attach it to the info page and update the Patch column in the table above. The URL should be constructed using the %PUBURLPATH% and %WEB% variables like this:
%PUBURLPATH%/%WEB%/Frobnicator/frobnicator-1.0-avr32.patch
What applications are included in the buildroot default image?
The following is a list of all of the packages that are included in the default image built by buildroot.
Application |
Description |
Avahi |
a free Zeroconf implementation, including a system for multicast DNS/DNS-SD service discovery. |
AVR32 User's guide |
The user's guide |
BridgeUtils? |
Utilities for configuring the Linux ethernet bridge. |
Bzip2 |
A free and open source lossless data compression algorithm and program developed by Julian Seward. |
DNSMasQ? |
A lightweight, easy to configure, DNS forwarder and DHCP server. |
DropBear? |
A Secure Shell-compatible server and client. |
FakeRoot? |
Provides a fake root environment by means of LD_PRELOAD and SYSV IPC (or TCP) trickery. |
GdbServer? |
Allows you to connect your program with a remote GDB via target remote |
HasErl? |
a small program that uses shell or Lua script to create cgi web scripts |
IpTables? |
Software inside this framework enables packet filtering, network address [and port] translation (NA[P]T) and other packet mangling. |
LibDaemon? |
A lightweight C library that eases the writing of UNIX daemons. |
LrzSz? |
A unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols. |
Lzo |
A block compression algorithm — it compresses and decompresses a block of data. |
MtdUtils |
A set of utilities for doing low-level operations on flash devices. |
Nbd |
Network block device |
NcFtp? |
Command-line ftp client for UNIX. |
Ntp |
Network time protocol |
Openssl |
Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) package |
PkgConfig? |
A helper tool used when compiling applications and libraries. |
PortMap? |
A part of the ONCRPC collection of software for implementing remote procedure calls between computer programs. |
ProFtpD? |
A high-performance, extremely configurable, and secure FTP server. |
Python |
Object oriented scripting language |
Rsync |
An open source utility that provides fast incremental file transfer. |
Samba |
An Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients. |
Strace |
A system call tracer |
WebIf? |
Implements HTML pages with embedded shell scripts. |
WirelessTools? |
A set of tools allowing to manipulate the Wireless Extensions. |
Zlib |
A compression library |