http://en.wikipedia.org/wiki/Linaro
Linaro
This article appears to be written like an advertisement. (June 2013) |
Type | Not-for-profit engineering organization |
---|---|
VAT ID No. | 990027324 |
Registration No. | 07180318 |
Founded | June 3, 2010 |
Headquarters |
|
Focus(es) | Open-source software for the ARM architecture |
Members | 25 |
Website |
linaro.org
|
Linaro is a not-for-profit engineering organization that works on consolidating and optimizing open-source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces. It was announced at Computex in June 2010 by ARM, Freescale Semiconductor, IBM, Samsung, ST-Ericsson, andTexas Instruments in a joint press conference.[1] It also provides aligned engineering and investment in upstream open source projects, a monthly release of tools and software[2] and support to silicon companies in upstreaming their system-on-a-chip (SoC) support.
Linaro focuses on optimized open-source support of the ARM v7A architecture and ARM v8 Architecture, for example SoCs that contain ARM Cortex-A9, Cortex-A15, Cortex-A53 and Cortex-A57 processor(s). Linaro engineering works with upstream projects on a set of requirements that are determined by the Technical Steering Committee (TSC) and posted in a public roadmap.[3] At the end of each month there is a release of tools and software that acts as a staging tree for code that will be pushed upstream. Linaro works on software that is close to the silicon such as kernel, multimedia, power management, graphics and security. Linaro aims to provide stable, optimized and tested tools and code for multiple software distributions to use and hence reduce low-level fragmentation and improve the optimization of embedded Linux software.[4]
Contents
[hide]
Activities[edit]
Linaro produces ARM tools, Linux kernels and builds of key Linux distributions (including Android and Ubuntu) on member SoCs.
Linaro maintains an automated testing system called LAVA (Linaro Automated Validation Architecture) that Linaro developed.[5] LAVA aims at improving automated testing of the open source components that are used in the major Linux-based software platforms and to increase the confidence in the quality of enablement of the member‘s platforms.
The Linaro Enterprise Group (LEG) focuses on accelerating Linux development for ARM servers.[6] The Enterprise Group is made up of the following companies: AMD,AppliedMicro, ARM, Calxeda, Canonical, Cavium, Facebook, HiSilicon, HP, Marvell, Red Hat, Samsung, ST Ericsson and Texas Instruments. The team‘s mission is to bring competing companies together to work on common solutions to problems and enable OEM‘s, commercial Linux providers and System on Chip (SOC) vendors to collaborate in a neutral environment on the development and optimization of the core software needed by the rapidly emerging market for low-power hyperscale servers.
The Linaro Networking Group (LNG) is a coalition of technology companies whose mission is to deliver an enhanced core Linux platform for networking equipment. Its founding members include AppliedMicro, ARM, Enea, Freescale, LSI, MontaVista, Nokia Siemens Networks and Texas Instruments (TI).[7] With ARM-based SoCs part of the transformation occurring in cloud and mobile infrastructure applications such as switching, routing, base-stations and security, LNG’s members collaborate on fundamental software platforms to enable rapid deployment of new services across a range of converged infrastructure platforms.
History[edit]
In 2010 ARM joined with Freescale Semiconductor, IBM, Samsung, ST-Ericsson and Texas Instruments (TI) in forming Linaro as a not for profit open sourceengineering company, to enhance open source innovation for the next wave of always-connected, always-on computing.[8]
Two new members joined Linaro in October 2012. LG Electronics[9] and HiSilicon[10] joined and will contribute resources and work together with the engineers from other Linaro members. Both companies will join the Technical Steering Committee (TSC), which directs the shared Linaro engineering team of over 100 engineers.
Milestones[edit]
March 2010 – Company founded
- Membership agreements initiated
- Engineering begins
June 2010 – Company launch
- Website and wiki opened
- Engineering organization ramps
- Open engineering
November 2010 – First release
- Linaro‘s 10.11 release is announced at TechCon
May 2011 - Second Release
- Linaro‘s 11.05 release and monthly releases announced
- Linaro Partner Program announced
August 2011
- First independent Linaro Connect held
January 2012
- Demo Friday begins to be held at each Linaro Connect
October 2012
- LG Electronics joins Linaro
- HiSilicon joins Linaro
November 2012
- Linaro Enterprise Group (LEG) announced
February 2013
- Linaro Networking Group (LNG) announced
Release schedule[edit]
It was announced in June 2010 at Computex that Linaro would follow a six-month engineering cycle that would culminate in a release of tools and software that represents an integrated build of software worked on during the cycle.[1] Linaro version 10.11 was released on November 10, 2010. In May 2011 Linaro began a monthly engineering cycle in place of the previous six month cycle.
Platforms[edit]
Linaro runs and continuously tests its output on member platforms. For the ARMv7A code, these include TI‘s OMAP 3 and OMAP 4, Samsung‘s Exynos, and ST-Ericsson‘s NovaThor U8500. For development on platforms prior to silicon availability, e.g. big.LITTLE development starting at the end of 2011 and ARMv8 work begun in 2012, Linaro uses ARM Fast Models and then the ARM Versatile Express platform, when the necessary hardware tiles are available.
Products[edit]
Initial release | 10 November 2010[11] |
---|---|
Stable release | 13.11 / 28 November 2013 |
Platform | ARMv7-A |
License | EPL (default) and other licences |
There are three types of software download available from Linaro:
- At the end of each monthly cycle Linaro release an integrated build
including all the software worked on during the cycle. These images are
available from Linaro.org/Downloads
- There are monthly versions of upstream software, such as GCC or QEMU. These are
downloads from places such aslaunchpad.net/gcc-linaro
- Linaro maintains public staging trees of upstream code they are working
on. For example the kernel and u-boot trees are kept on git.linaro.org
License[edit]
All code developed within Linaro working groups is open source and therefore available under standard Open Source Initiative (OSI) license terms. For more details see Linaro Membership Rules and Linaro Articles of Association.[12]
Core OS[edit]
Linaro is Linux-based and works with the open source community by providing aligned upstream engineering investment.[13]
|
http://en.wikipedia.org/wiki/Yocto_Project
Yocto Project
The Yocto Project is a Linux Foundation workgroup whose goal is to produce tools and processes that will enable the creation of Linux distributions forembedded software that are independent of the underlying architecture of the embedded software itself. The project was announced by the Linux Foundation in 2010.[1] In March 2011, the project aligned itself with OpenEmbedded, an existing framework with similar goals, with the result being The OpenEmbedded-Core Project.
The Yocto Project is an open source project whose focus is on improving the software development process for embedded Linux distributions. The Yocto Project provides interoperable tools, metadata, and processes that enable the rapid, repeatable development of Linux-based embedded systems.
Project Scope[edit]
The Yocto Project has the aim and objective of attempting to improve the lives of developers of customised Linux systems supporting the ARM, MIPS, PowerPC andx86/x86 64 architectures. It is working towards this by focusing on one set of great tools rather than the several sets of mediocre ones that existed when the project was founded.[neutrality is disputed] A key part of this is an open source build system, based around the OpenEmbedded architecture, that enables developers to create their own Linux distribution specific to their environment. This reference implementation of OpenEmbedded is called Poky.
There are several other sub-projects under the project umbrella which include EGLIBC, pseudo, cross-prelink, eclipse integration, ADT/SDK, the matchbox suite of applications, and many others. One of the central goals of the project is interoperability among these tools.
The project offers different sized targets from "tiny" to fully featured images which are configurable and customisable by the end user. The project encourages interaction with upstream projects and has contributed heavily to OpenEmbedded-Core and BitBake as well as to numerous upstream projects, including the Linux kernel.[citation needed] The resulting images are typically useful in systems where embedded Linux would be used, these being single-use focused systems or systems without the usual screens/input devices associated with desktop Linux systems.
As well as building Linux systems, there is also an ability to generate a toolchain for cross compilation and a Software Development Kit (SDK) tailored to their own distribution, also referred to as the Application Developer Toolkit (ADT). The project tries to be software and vendor agnostic. Thus, for example, you can choose which package manager format you intend to use (deb, rpm, or ipk).
Within builds, there are options for various build-time sanity/regression tests, and also the option to boot and test certain images under QEMU to validate the build.
Governance[edit]
The Yocto Project is one of the Labs collaborative software projects at the Linux Foundation.
The project‘s governance is divided loosely into administrative and technical arms, although many members participate in both camps.
At a technical level, the project is overseen by the project architect Richard Purdie (a Linux Foundation Fellow) who has a long history of involvement with many of the project‘s components and technologies. The architect maintains a hierarchy of maintainers for the different components of the system, much as the Linux kernel is maintained.
The administrative arm consists of an Advisory Board made up of representatives from the project‘s member organizations, including several major silicon vendors and software vendors as well as representatives from groups such as software consultants and community members. The member organizations of this board provide resources to the project. There are also several Advisory Board working groups that handle administrative functions for the project such as finance, infrastructure, advocacy and outreach, and community management.
http://en.wikipedia.org/wiki/OpenWrt
OpenWrt
This article may rely excessively on sources too closely associated with the subject, preventing the article from being verifiable and neutral. (November 2013) |
OpenWrt 10.03.1-RC5 ("Backfire")
| |
Company / developer | OpenWrt Project |
---|---|
OS family | Unix-like |
Working state | Current |
Source model | Free and open source software |
Initial release | January 2004 |
Latest stable release | 12.09 (Attitude Adjustment)(April 25, 2013[±][1] | )
Latest unstable release | -- (Barrier Breaker)(26 April 2013[±][2] | )
Available language(s) | 22 languages[3] |
Update method | opkg |
Package manager | opkg |
Supported platforms | 50 different platforms using the followingInstruction sets: AVR32,ARM, CRIS, m68k,MIPS, PowerPC,SPARC, SuperH,Ubicom32, x86,x86-64[4] |
Kernel type | Monolithic(Linux) |
Userland | BusyBox, GNU |
Default user interface | CLI, WebUIs |
License | Free software, mainly the GNU GPL, and other licenses |
Official website |
openwrt.org
|
OpenWrt is an operating system / embedded operating system based on the Linux kernel, and primarily used on embedded devices to route network traffic. The main components are the Linux kernel, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home routers.
OpenWrt is configured using a command-line interface (ash shell), or a web interface (LuCI
OpenWrt can be run on CPE routers, residential gateways, smartphones (e.g. Neo FreeRunner), pocket computers (e.g. Ben NanoNote), and laptops (e.g. One Laptop per Child (OLPC)). Also, it is possible to run OpenWrt on ordinary computers (e.g. x86 architecture). Many patches from the OpenWrt source base have been included upstream in the Linux kernel mainline.
Contents
[hide]
History[edit]
The project came into being because Linksys built the firmware for their WRT54G wireless router from publicly available code licensed under the GPL. Under the terms of that license, they were required to make the source code of their modified version available under the same license, enabling independent developers to create additional derivative versions. Support was originally limited to the WRT54G series, but has since been expanded to include many other chipsets, manufacturers and device types, including Plug Computers and Openmoko mobile phones.
Using this code as a base and later as a reference, developers created
a Linux
distribution that offers many features not previously found in
consumer-level routers. Some features formerly required proprietary software.
Before the introduction of OpenWrt 8.09, using Linux 2.6.25 and
the b43
kernel module, WLAN for many Broadcom-based routers was only
available through the proprietary wl.o
module that was
also provided for Linux kernel version 2.4.x only.
The code names of OpenWrt branches are named after alcoholic beverages, usually including their recipes in the SSH login screen as well, cf. White Russian, Kamikaze, Backfire, Attitude Adjustment, Barrier Breaker.
The bleeding edge development trunk
Releases[edit]
Legend: | Old version | Older version, still supported | Current version | Future release |
---|
Tagged | Code Name | Version | Release date | Linux kernel | C standard library | Binary packages | Source packages | Notes | |
---|---|---|---|---|---|---|---|---|---|
(default) | (available) | ||||||||
N/A | pre Buildroot-NG | 0.x | N/A | N/A | uClibc | 474 | ≈ 310 | ||
r6268 | White Russian | 0.9 | 2006-01 | 2.4.30 | uClibc | ≈ 360 | ≈ 140 | NVRAM-based, nas ,wl . Supported
platform: brcm-2.4 . |
|
r7428 | Kamikaze | 7.06 | 2007-06 | 2.6.19 | uClibc | ≈ 750 | ≈ 450 | Using opkg . Supported
platforms: atheros-2.6 , au1000-2.6 ,brcm-2.4 , brcm47xx-2.6 , ixp4xx-2.6 ,imagicbox-2.6 ,rb532-2.6 and x86-2.6 . |
|
r7832 | Kamikaze | 7.07 | 2007-07 | 2.6.21 | uClibc | ≈ 790 | ≈ 475 | New platform: amcc-2.6 . |
|
r8679 | Kamikaze | 7.09 | 2007-09 | 2.6.21 | uClibc | ≈ 630 | ≈ 500 | ||
r14547 | Kamikaze | 8.09 | 2008-09 | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | ||
r16279 | Kamikaze | 8.09.1 | 2009-06 | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | ||
r18961 | Kamikaze | 8.09.2 | 2010-01-10[5] | 2.6.26 | uClibc | ≈ 1,400 | ≈ 875 | ||
r20742 | Backfire | 10.03 | 2010-04-07[6] | 2.6.32 | uClibc | ≈ 2,350 | ≈ 1,050 | Supported
platforms:adm5120_mips ,adm5120_mipsel ,ar7 , ar71xx ,atheros , au1000 ,avr32 , brcm-2.4 ,brcm47xx , brcm63xx ,cobalt , ep80579 ,ifxmips , ixp4xx ,kirkwood , octeon ,orion , ppc40x ,ppc44x , rb532 , rdc ,x86 and xburst . |
|
r29594 | Backfire | 10.03.1 | 2011-12-21[7] | 2.6.32 | uClibc |
eglibc glibc |
≈ 2,950 | ≈ 1,175 | |
r36088 | Attitude Adjustment | 12.09 | 2013-04-25[8] | 3.3 | uClibc | eglibc | ≈ 3,450 | ≈ 1,150 |
CoDel backported from
Linux 3.5 to 3.3. New platforms:ramips , bcm2708 (Raspberry
Pi) and others. |
trunk | Barrier Breaker | development | continuously | 3.10.21[9] | uClibc |
musl eglibc |
growing | growing | New platforms:i.MX23 , i.MX6 [10]and mvebu . |
Features[edit]
OpenWrt follows the bazaar-philosophy and is known for an abundance of options. Features include:
- A writable root
file system, enabling users to add, remove or modify any file. This is
accomplished by using overlayfs
- The package manager opkg, similar to dpkg, enables users to install and remove software. The package repository contains about 3500 packages. This contrasts with Linux-based firmwares based on read-only file systems without the possibility to modify the installed software without rebuilding and flashing a complete firmware image.
- a set of scripts called UCI (unified configuration interface) intended to unify and simplify the configuration of the entire system[12]
- extensible configuration of the entire hardware drivers, e.g. built-in network switches and their VLAN-capabilities, WNICs, DSL modems, FX, available hardware buttons, etc.
- exhaustive possibilities to configure network-related
features, like:
- routing through iproute2, Quagga, BIRD, etc.
- mesh networking through B.A.T.M.A.N., OLSR and IEEE 802.11s-capabilities of the WNIC drivers
- wireless functionality, e.g. make the device act as a wireless repeater, a wireless access point, a wireless bridge, a captive portal, or a combination of these with e.g. ChilliSpot, WiFiDog Captive Portal, etc.
- wireless security: Packet
injection, e.g. Airpwn
- stateful firewall, NAT and port forwarding through netfilter; additionally PeerGuardian is available
- dynamically-configured port forwarding protocols UPnP and NAT-PMP through upnpd, etc.
- port knocking via knockd and knock
- TR-069[13]
- IPS via Snort (software)
- active queue management (AQM) through the network scheduler of the Linux kernel, with many available queuing disciplines. CoDel has been backported to Kernel 3.3.[14] This encapsulates Traffic shaping to ensure fair distribution of bandwidth among multiple users and Quality of Service (QoS) for simultaneous use of applications such as VoIP, online gaming, and streaming media without experiencing the negative impacts of link saturation.
- load balancing for use with multiple ISPs
- IP tunneling
- extensible realtime network monitoring and statistics through e.g. RRDtool, Collectd, Nagios, Munin lite, Zabbix, etc.
- Domain Name System (DNS) and DHCP through Dnsmasq, MaraDNS, etc.
- Dynamic DNS services to maintain a fixed domain name with an ISP that does not provide a static IP address
- wireless distribution system (WDS) including WPA-PSK, WPA2-PSK, WPA-PSK/WPA2-PSK Mixed-Mode encryption modes
- OpenWrt supports any hardware that has Linux support; devices that can be e.g. connected over USB to an embedded device include
- notable software packages to utilize the hardware support are:
- file sharing via SAMBA, (Windows-compatible), NFS and FTP, printer sharing over the print server CUPS (spooling) or p910nd (non-spooling)
- PulseAudio, Music Player Daemon, Audio/Video streaming via DLNA/UPnP AV standards, iTunes (DAAP) server
- Asterisk (PBX)
- MQ Telemetry Transport through Mosquitto
- an extensive Ajax-enabled web interface, thanks to the LuCI project[15]
- regular bug fixes and updates, even for devices no longer supported by their manufacturers.
Web interface[edit]
Before release 8.09, OpenWrt had a minimal web interface. In OpenWrt releases 8.09 and newer, a more capable web interface is included.[16] This interface is based on LuCI, a MVC framework written in Lua programming language.[15]
The X-Wrt project provides an alternative web interface, named webif2 in the package repositories, for the current and previous versions of OpenWrt.
The Gargoyle Router Management Utility[17] is a web interface for OpenWrt with a strong emphasis on usability. It was originally available as a set of packages for OpenWrt. As the author of Gargoyle started to make modifications to the base system layout of OpenWrt, the package system was dropped and the only currently available downloads are full firmware images. Gargoyle makes extensive use of JavaScript, to offload as much work as possible to the client computer, and is focused on ease of use, striving to reach a level comparable to the appliance feeling of commercial router firmwares.
Hardware incompatibilities[edit]
With the Attitude Adjustment (12.09)
bcm47xx
devices, as issues for those devices came
from dropping support for the legacy Broadcom
target brcm-2.4
.[18][19]
Derivatives[edit]
- CeroWrt[20] - CeroWrt purpose is to complement the debloat-testing kernel tree and provide a platform for real-world testing of bufferbloat fixes.[21]
- Coova chilli - OpenWrt-based with focus on wireless hotspots, a fork of chillifire with focus on wireless hotspot management
-
Flukso
- FON - OpenWrt-based wireless routers acting as hotspots. Sources and toolchain available on fonosfera.org
- Midge Linux
-
OpenSAN
- PacketProtector - OpenWrt-based security distribution that includes IDS, IPS, VPN, and web antivirus capabilities. Project ended on June 7, 2012.[22]
- Diverse grassroots-projects
for wireless
community networks, like Freifunk, RO.B.IN, Obelisco
Development[edit]
OpenWrt‘s development environment and build system are based on a heavily modified Buildroot system. It is a set of Makefiles and patches that automates the process of building a complete Linux-based OpenWrt system for an embedded device, by building and using an appropriate cross-compilation toolchain.[23][24]
Embedded devices usually use a different processor than the one found in host computers used for building their OpenWrt system images, requiring a cross-compilation toolchain. Such a compilation toolchain runs on a host system, but generates code for a targeted embedded device and its processor‘s instruction set architecture (ISA). For example, if a host system uses x86 and a target system uses MIPS32, the regular compilation toolchain of the host runs on x86 and generates code for x86 architecture, while the cross-compilation toolchain runs on x86 and generates code for the MIPS32 architecture. OpenWrt Buildrootautomates this whole process to work on the instruction set architectures of most embedded devices and host systems.[23][25]
OpenWrt Buildroot provides the following features:[23][25]
- makes it easy to port software across architectures
- uses kconfig (Linux kernel menuconfig) for the configuration of all options
- provides an integrated cross-compiler toolchain (gcc, ld, uClibc etc.)
- provides an abstraction for autotools (automake, autoconf), cmake and SCons
- handles standard OpenWrt image build workflow: downloading, patching, configuration, compilation and packaging
- provides a number of common fixes for known badly behaving packages.
Besides building system images, OpenWrt development environment also provides a mechanism for simplified cross-platform building of OpenWrt software packages. Source code for each software package is required to provide a Makefile-like set of building instructions, and an optional set of patches for bug fixes or footprint optimizations.[26]