We have recently been looking at the Arrow Sockit (http://www.arrownac.com/solutions/sockit/) which is a development board created by Arrow Electronics. The Sockit is a development board that centers around an new Altera chip which is a single chip with an ARM + Altera FPGA together and Arrow has partnered with Yocto to help support the Arm side on linux – and here lies the problem or opportunity.
Yocto’s strength is also its weakness in that it a very flexible build system. It can make production root filesystems, but also a complete distribution with its ready to use package repository, and this for multiple hardware platforms. It makes it a difficult system to get started and get efficient with – not the market for clients with FPGA and certainly poses some learning curve issues for developers that are new to Linux. So we set out to make it easier and to develop a buildroot support on GITHUB. Go take a look for yourself: https://github.com/rndi/buildroot-alt.
Buildroot is an embedded Linux build system designed with simplicity in mind. The system uses standard languages, has a relatively lightweight infrastructure and provides a very easy method to add packages or to customise the build system. A base system containing just busybox takes less than 2 minutes to build from scratch. Below is a summary of a project we built on buildroot as an example:
The device is an ARM 9 platform with GPS, RFID readers, GSM modem, Ethernet and USB.
The Buildroot configuration:
- CodeSourcery ARM glibc toolchain
- Linux kernel
- Busybox for the basic system
- Dropbear for SSH access (debugging)
- Qt with only QtCore,QtNetwork, and QtXml , no GUI
- QextSerialPort
- zlib,libxml2,logrotate,pppd,strace, a special RFID library,poptlibrary
- The Qt application
- JFFS2 root system
Filesystem size: 11 MB. Could be reduced by using uClibc
Build time: 10 minutes on a fast build server (quad-core i7, 12 GB of RAM).
As the weeks go on we will add more support for the Sockit, for now its a basic build system with Linux support. Please let us know if you need any support.