Linaro 12.12 Release with Linux Kernel 3.7 and Android 4.2.1

Linaro release 12.12 has just been announced, and includes Linux Kernel 3.7 and Android 4.2.1. The tracking version (stable release) uses Kernel 3.4.22. This release upgrades Android to version 4.2.1, Ubuntu images are now based on Ubuntu 12.10 (Quantal Quetzal) and Linaro U-Boot 2012.12 has been released with support for Origen 4 Quad and Arndale boards. Further improvements have been done for OpenEmbedded ARMv8, where they replaced the php Apache module by php-fpm among other things. On the kernel side, USB drivers have been refactored, and a kernel size analysis have been performed on several platforms. The power management team has mainly worked on big.LITTLE IKS and MP implementations, and it’s the first time LEG (Linaro Enterprise Group) is included in the release, and they worked on UEFI for ARM, GRUB for U-Boot, and provided a Ubuntu server image for Arndale board which can boot via UEFI or UBoot. Here […]

Linux 3.7 Release

Linus Torvalds has announced the release of Linux Kernel 3.7: Whee. After an extra rc release, 3.7 is now out. After a few more trials at fixing things, in the end we ended up reverting the kswapd changes that caused problems. And with the extra rc, I had decided to risk doing the buffer.c cleanups that would otherwise have just been marked for stable during the next merge window, and had enough time to fix a few problems that people found there too. There’s also a fix for a SCSI driver bug that was exposed by the last-minute workqueue fixes in rc8. Other than that, there’s a few networking fixes, and some trivial fixes for sparc and MIPS. Anyway, it’s been a somewhat drawn out release despite the 3.7 merge window having otherwise appeared pretty straightforward, and none of the rc’s were all that big either. But we’re done, and […]

Building Kernel Modules for AllWinner A10 Android Devices (e.g. Joystick Support)

Reader JP has enabled Joystick support in Android 4.0.4 on its Mele A1000, this now works with a Playstation2 joystick via USB adapter, a Huskee PC joystick, and 2 other unbranded joysticks. In order to enable Joystick support he had to build a kernel module, and encountered a few issues, so he wrote an how-to which shows what challenges he went through and what solutions he found to those issues.I’m sharing today a slightly edited version of this how-to. This How-to assumes that you have a valid Linux environment where you can build allwinner A10 kernel. The toolchain used was “Sourcery CodeBench for ARM GNU/Linux Lite“ which can be downloaded here: http://www.codesourcery.com/sgpp/lite/arm/portal/package7853/public/arm-none-linux-gnueabi/arm-2010.09-50-arm-none-linux-gnueabi.bin To install it, simply run:

You’ll also need the latest Allwinner A10 kernel source:

Then follow the usual procedure:

I then selected the modules needed for different kind of joysticks namely:

I saved the […]

Linux 3.5 Release

Linus Torvalds has announced the release of Linux Kernel 3.5: Subject: Linux 3.5 released Ok, not a lot happened since -rc7. There’s a number of MIPS commits (for some reason MIPS has had a horrible track record with the -rc time schedule, I suspect I should just stop pulling late in the game), but most of the rest is pretty small. A couple of dm/md fixes, some gma500 work, make kgdb ‘dmesg’ command work again, some networking fixes, some xfs and cifs noise, yadda yadda. About 50% of the patch is actually the SPEAr clock name renaming that is just some search-and-replace. … Linux 3.4 brought updates to Btrfs file system, some new Intel, AMD and NVidia GPU drivers, X32 ABI, perf tool improvements and support for Yama security module and QNX6 file system. Linux 3.5 brings the following key changes: ext4 metadata checksums:  Ext4 has added the ability to […]

Linux 3.4 Release

Linus Torvalds has just announced the release of Linux Kernel 3.4 on the 20th of May: I just pushed out the 3.4 release. Nothing really exciting happened since -rc7, although the workaround for a linker bug on x86 is larger than I’d have liked at this stage, and sticks out like a sore thumb in the diffstat. That said, it’s not like even that patch was really all that scary. In fact, I think the 3.4 release cycle as a whole has been fairly calm. Sure, I always wish for the -rc’s to calm down more quickly than they ever seem to do, but I think on the whole we didn’t have any big disruptive events, which is just how I like it. Let’s hope the 3.5 merge window is a calm one too. Linus Linux 3.3 merged Android drivers to mainline, added further improvements to btrfs and ext-4 file […]

Linux 3.3 Release

Linux Torvalds announced the release of Linux Kernel 3.3 on the 18th of March: So after the extra -rc release last weekend, now the final 3.3 is out there in the usual locations. Things did indeed calm down during the last week, and the shortlog looks pretty boring. The diffstat from -rc7 is dominated by the arch/tile defconfig changes, the rest is pretty small, although there are changes spread out in various subsystems (drivers, filesystem, networking, perf tools). … And obviously, the 3.3 release means that the merge window for 3.4 is now open, although I may keep of pulling stuff for a day or so to encourage people to test the actual release. Linux 3.2 brought ext-4 and btrfs file system improvements, support for Qualcomm Hexagon processor, an improved profiling tool (perf top), and better CPU and network bandwidth management. Linux 3.3 brings the following key changes: Android merge: […]

Binary Blobs Attack – ELC 2012

Zach Pfeffer, Android Platform Lead at Linaro, talks about (GPU) Binary Blobs and the problems they cause at Embedded Linux Conference 2012. Abstract: Binary Blobs Attack!!! Most SoC vendors distribute binary blobs with Linux kernel shims. These binary blobs enable graphics engines, DSPs and other cores on ARM and other architecture SoCs. These binary blobs tend to be tied to specific kernel versions which limits unreadability and hackability and complicates device manufactures, which slows down innovation and the introduction of new and unique computing devices. Here’s what I noted from this presentation: Most of the issues at Linaro come from (GPU) Binary blobs, they delay projects and cause projects to cost more as FAE and more engineers must be involved in solving problems. Blobs are here to stay mostly due to legal reasons (patents). Binary Blob are usually OS independent, e.g. the same binary is used in Windows and Linux, […]

Raspberry Pi Releases BCM2835 Datasheet for ARM Peripherals

If you have been following Raspberry Pi project, you may have noticed the dearth of documentation related to Broadcom processors. For BCM2835 (The processor used in Raspberry Pi board), Broadcom only has one laconic webpage. But the Raspberry Pi’s “super-team” has managed to get a (partial) datasheet for the SoC showing the details of BCM2835 ARM peripherals which is all that we may need. This would only be useful for people playing around with the Linux (and u-boot) drivers. The document includes details about the processor’s memory map as shown below. It also contains details (registers, implementation details, etc..) about the following ARM peripherals: Timers Interrupt controller GPIO USB PCM / I2S DMA controller I2C master I2C / SPI slave SPI0, SPI1, SPI2 PWM UART0, UART1 You can download BCM2835 datasheet to get the complete documentation. The Raspberry Pi foundation also announced that the boards will be ready on February […]

UP 7000 x86 SBC