Supporting 200 Different Expansions Boards: The Broken Promise of Device Tree – ELCE 2012

Koen Kooi, software engineering manager at Circuitco Electronics and lead developer of the Angstrom distribution, explains that device tree does help with the ARM Linux kernel, but brings all the complexity to the bootloader(s), taking the variety of Beaglebone capes as example, at the Embedded Linux Conference in Barcelona, Spain, on November 6, 2012. Abstract: Devicetree is marketed as the one ring to rule them all when it comes to non-discoverable hardware for Linux on ARM. The problem with devicetree is that the complexity gets removed from the kernel and put into the bootloader. Koen first gives an overview of device tree, and provides an example (am33xx.dtsi) to show device tree data structure. Then time for some Beaglebone and capes promotion overview,  before moving to the core of the problem: Pinctrl Resource tracking EVM/bone split uboot/uimage/dtb lockstep pdata only Keycodes and other non-hardware bits You can also download the presentation slides for this talk. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Embedded Linux Boot Time Optimizations – ELCE 2012

Alexandre Belloni, embedded Linux engineer and trainer at Adeneo Embedded, gives a presentation about different techniques to optimize boot time for Embedded Linux at ELCE 2012. He also explains how they’ve measured the boot time. Abstract: A common problem faced when embedding Linux is the long boot time before the system is functional. There are many ways to improve boot up time. For a particular project, we had to answer a CAN message from Linux userspace in less than 420 ms from going out of CPU reset. We will describe our methodology and the techniques we finally chose to implement in that particular use case. We will also detail how we measured the boot time efficiently. A live demo will show the results of our work. More specifically, Alexandre discusses two projects at Adeneo where boot time was critical: An automotive platform based on Freescale i.mx53 needs to reply to a CAN message in less than 500ms An OpenGL application …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Motorola Announces ATRIX HD Smartphone Developer Edition

After 5 months after Motorola ATRIX HD hit the market, Motorola announced it would make a developer edition of the core Qualcomm MSM8960 Snapdragon based smartphone that comes with unlockable bootloader so that developers can play around and install their own firmware. Apparently the ability to unlock the bootloader is the only extra “feature” you get with this phone. You’ll then need to use a tool to unlock the device, lose your warranty, and start creating and flashing custom ROM to your phone. There is no plan to allow this on the “standard” edition of the phone  however, and efforts by the XDA developer community to unlock the bootloader do not appear to have been successful to date, except for some some Atrix HD bought from Ebay which already came unlocked.  Motorola ATRIX HD developer edition will be available soon for an undisclosed price, and only in the US. If you live in another part of the world, other Motorola …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Android Device Porting Tutorial – Android Builder Summit 2012

Benjamin Zores, Open Source Software and Multimedia Architect at Alcatel-Lucent, gives step-by-step to port Android to your own device at Android Builder Summit in February 2012. Abstract: This talk is presented as a step by step tutorial meant for Android platform rookies, as to discover all Androidisms one has to tackle down to bring his own custom device to life. Based on a real-life Android 4.0 ICS device porting experience, the talk will cover early board bringup (from U-Boot and Fastboot to Linux kernel and drivers), AOSP device integration, Android-specific device init customization, touchscreen input layer adaptations and Hardware Abstraction Layer (HAL) driver interfaces development. You can also download the presentation slides on linuxfoundation.org website. 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 Support CNX Software – Donate via PayPal or become a …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Build the bootloaders (U-boot & X-Loader) for Pandaboard

I’ve tried to compile u-boot and x-loader for Pandaboard by following the instructions given at http://omappedia.org/wiki/Get_started_with_ubuntu_on_omap4#Bootloaders. I did this in Ubuntu 10.04 LTS with Linaro gcc compiler. Here are the instructions for the build: Create the folders: Get u-boot and checkout the omap4_dev branch: You may use a different tag. Simply run “git tag -l | grep L24” to see the list of tags. (I used the latest at the time of this post). Build u-boot for OMAP4 At this point, you should get U-boot (u-boot.bin). get x-loader and checkout the omap4_dev branch: N.B: Both u-boot and x-loader folders must be at the same directory level. build x-loader for OMAP4: The x-loader (MLO) should now be ready. Finally, you simply need to copy MLO and u-boot.bin files to the SD card. 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 …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Online Petition Requesting to Allow Linux Installation on Windows 8 Devices

Back in September, some concerns emerged about UEFI secure boot requirement for Windows 8 and its possible consequences on Linux and other open source operating systems: it may be impossible to install such systems on computers or devices shipped with Windows 8, either by replacing Windows 8 or in a dual boot installation as the bootloader (UEFI) would prevent such installation for security reasons. Microsoft has already replied to those concerns and stated that: At the end of the day, the customer is in control of their PC. … We work with our OEM ecosystem to provide customers with this flexibility. The security that UEFI has to offer with secure boot means that most customers will have their systems protected against boot loader attacks. For the enthusiast who wants to run older operating systems, the option is there to allow you to make that decision. So there should be an option to disable/enable “Attempt Secure Boot” as shown below (UEFI …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

UEFI Secure Boot – Windows 8 vs Linux

Last week, Microsoft showcased Windows 8 PCs with super fast boot thanks to the Unified Extensible Firmware Interface (UEFI). The latest UEFI standard, released on April 8, includes a secure boot protocol which will be required for Windows 8 clients. Secure UEFI is intended to thwart rootkit infections by requiring keys before allowing executables or drivers to be loaded onto the device. Problem is, such keys can also be used to keep the PC’s owner from wiping out the current OS and installing another option such as Linux. It all started with slide 11 in one Powerpoint presentation entitled “Delivering a secure and fast boot experience with UEFI”  presented by Arie van der Hoeven, Principal Lead Program Manager Microsoft Corporation during Build conference: Secure boot Current issues with boot Growing class of malware targets the boot path Often the only fix is to reinstall the operating system UEFI and secure boot harden the boot process All firmware and software in …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Bootloader to OS with Unified Extensible Firmware Interface (UEFI)

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) Disk Layout EFI Byte Code Virtual Machine Services — Boot …

Support CNX Software – Donate via PayPal or become a Patron on Patreon