Unified Extensible Firmware Interface (UEFI) is a specification detailing an interface that helps hand off control of the system for the pre-boot environment (i.e.: after the system is powered on, but before the operating system starts) to an operating system, such as Windows or Linux. UEFI aims to provides a clean interface between operating systems and platform firmware at boot time, and supports an architecture-independent mechanism for initializing add-in cards. UEFI will overtime replace vendor-specific BIOS. It also allows for fast boot and support for large hard drives (> 2.2 TB). There are several documents fully defining the UEFI Specification, API and testing requirements: The UEFI Specification (version 2.3.1) describes an interface between the operating system (OS) and the platform firmware. It describes the requirements for the following components, services and protocols: Boot Manager Protocols – Compression Algorithm Specification EFI System Table Protocols – ACPI Protocols GUID Partition Table (GPT) […]
Installing Ubuntu 10.04 LTS in Acer Aspire One D255E
Since I’d like to try Xibo Python Linux client, I’ve decided to install Ubuntu 10.04 LTS in my netbook Acer Aspire One D255. The bad news is that it did not go so smoothly, the good news is that since the wired & wireless network and SD card did not work I can blog the solution about it. Installing Ubuntu 10.04 from a USB thumb drive. First, I went to Ubuntu Download page, change the version to Ubuntu 10.04 LTS – Long Term Support and downloaded the ISO file (ubuntu-10.04.3-desktop-i386.iso). Then I downloaded the Universal USB Installer (For Windows XP) to install the ISO in my USB thumb drive. Finally, I inserted the USB thumb drive in my netbook and performed the default installation, except for partitioning, where I used the 3rd partition in my hard disk and an extra swap partition to install Ubuntu. After installation, everything seems to […]
How to Write and Submit a Linux Kernel Patch
Greg Kroah-Hartman has a very good tutorial about writing and submitting a patch to the Linux kernel. The video is over 1 year old but this is still relevant. The materials for this tutorial are available via git: git clone git://github.com/gregkh/kernel-tutorial.git Alternatively, you can also download a copy of the presentation slides. The actual presentation is divided into 6 parts: git basics (git branch, git clone…) Kernel coding style (Details can be found in Documentation/CodingStyle) Fixing a file (with scripts/checkpatch.pl scripts) Generating a patch (with git -diff) Email the patch (with scripts/get_maintainer.pl and git send-email) Q&A If you want to skip the git basics and kernel coding style parts (although I don’t recommend it), fast forward to 13:33. All patches by in the linux kernel are checked by at least 2 persons. Before submitting a patch, you’ll have to make sure of the following (Checklist): Kernel builds with patch applied […]
What is GENIVI ? A Software Standard for the Automotive Industry
I’ve recently read in the news that a few operating systems had achieved GENIVI compliance. So let’s see what Wikipedia says about the GENIVI Alliance: The GENIVI Alliance was founded on March 2, 2009 by BMW Group, Delphi, GM, Intel, Magneti-Marelli, PSA Peugeot Citroen, Visteon, and Wind River Systems with the goal of establishing a globally competitive, Linux-based operating system, middleware and platform for the automotive in-vehicle infotainment industry. Since then, the alliance has expanded to more than 100 members who are working together to deliver an open and globally consistent software platform based on Linux for use by the whole car industry. So the clear goal here is to have some set of software specifications and standards (Currently GENEVI 1.0) in the automotive industry in order to speed time to market and reduce the cost of developing Infotainment applications. GENIVI comes from a concatenation of Geneva and IVI (In-Vehicle […]
ARM TechCon 2011: Software & System Design Schedule
ARM Technology Conference (TechCon) 2011 will be hosted in Santa Clara on the 25-27 October 2011. There will be many events and classes related to Chip Design and Software & System Design. The Software & System Design events will take place on the 26th and 27th October 2011. Here’s the schedule for Software & System Design events for the 26th of October: Time Class Track 11 am The 2012 Compute Subsystem Creating Smarter Systems 11 am Practical Cortex Debugging: Serial Wire Viewer and ETM Tracing Developing/Debugging 11 am Integrating a CMOS Imaging Sensor into an ARM-Based Embedded Application Human Interface Design 11 am Embedded IPv6 – Now is the time Networking & Connectivity 11 am RSA & AES Libraries protected against side-channel attacks Safety & Security 11 am Introduction to the ARM Architecture The Fundamentals of ARM 12 pm Optimizing SoC development through a common design foundation Creating Smarter Systems […]
Tiny Core Linux Distribution: 10 MB Linux UI Desktop
If you are looking for a small footprint Linux distribution, you may be interested in Tiny Core Liunx. Here’s the description on Tiny Core Linux Website: Tiny Core Linux is a very small (10 MB) minimal Linux GUI Desktop. It is based on Linux 2.6 kernel, Busybox, Tiny X, and Fltk. The core runs entirely in ram and boots very quickly. Also offered are Micro Core, a 6 MB image that is the console based engine of Tiny Core, and Multi Core, which includes Tiny Core, Micro Core, networking tools and an installer. Micro Core contains CLI versions of Tiny Core’s programs allowing the same functionality of Tiny Core’s extensions, only starting with a console based system. It is not a complete desktop nor is all hardware completely supported. It represents only the core needed to boot into a very minimal X desktop typically with wired internet access. Tiny Core […]
Pandaboard Benchmark: Android (Pandroid) vs Linaro Android
Here’s a video with two Pandaboards (powered by TI OMAP 4) running Android. On the right, there’s Google’s Android, built with the gcc 4.4 toolchain provided by Google and the Pandroid kernel. On the left, there is a Linaro build, using Linaro’s gcc 4.5 toolchain and Linaro’s 3.0 kernel for the Panda board. There is a noticeable difference in the time taken by both boards to execute the demo. (Android Linaro being faster). The demo (Benchmark by 0xlab) uses software decode on both boards. They also showcase the Freescale i.MX53 and ST Ericsson Snowball development boards. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
5 New Atmel SAM9 Processors: SAM9G15, SAM9G25, SAM9G35, SAM9X25, and SAM9X35
Atmel recently announced five new embedded processors for its SAM9 family all running at 400MHz, featuring 100mW consumption, support for DDR2 and NAND flash memory, with some models offering LCD touchscreen support and CAN interfaces: SAM9G15 based on ARM926EJ Embedded Microprocessor Unit with LCD, Touchscreen, HS USB and LPDDR/DDR2/MLC NAND support. SAM9G25 based on ARM926EJ Embedded Microprocessor Unit with Ethernet, HS USB and LPDDR/DDR2/MLC NAND support. SAM9G35 based on ARM926EJ Embedded Microprocessor Unit with LCD, Touchscreen, Ethernet, HS USB and LPDDR/DDR2/MLC NAND support. SAM9X25 based on ARM926EJ Embedded Microprocessor Unit with Dual Ethernet, Dual CAN, HS USB and LPDDR/DDR2/MLC NAND support. SAM9X35 based on ARM926EJ Embedded Microprocessor Unit with LCD, Touchscreen, Ethernet, Dual CAN, HS USB and LPDDR/DDR2/MLC NAND support. The 3 new SAM9G processors are basically a lower cost version of the SAM9G45 with less cache, no video decoding support, etc… The 2 SAM9X processors are similar but feature […]