Sunday, 26 September 2010

Maverick, Smarttop/Smartbook kernels

All Efika MX Smarttop and MX Smartbooks are now shipping with a pre-release Ubuntu Maverick with Xfce. Source filesystems are available on PowerDeveloper.

Also shipping today: the Smartbook kernel (-efikasb, also a pre-release) and an update to the Smarttop kernel (-efikamx) built from the same point in the git tree. This is in another branch - efikasb-10.07.11.

These kernels match the Maverick support. In this sense installing them on top of Karmic systems is a bad idea. It will produce an unbootable system unless you find a way to not have udev and upstart mount their own /dev and subordinate filesystems. We will make an update in a little while that fixes this for older Linux distributions.

Known issues so far:

  • on Smarttop some DVI monitors again don't work. We are still investigating solutions which work on ALL systems
  • on Smartbook there is a ~5 pixel blank at the end of the panel and the entire display is shifted up slightly
  • Default kernel ships with devtmpfs enabled which means any systems before Ubuntu Lucid (i.e. all previously shipping with Karmic) are recommended NOT to update. We are investigating a solution to make Karmic work with it, and a kernel update for the meantime
  • Smartbook battery driver occasionally doesn't report "current_avg" properly
  • Smartbook lid close event automatically suspends the system, but when it comes back all USB devices are dead. Possibly needs a udev script to handle this.
  • No flash-kernel package support for EfikaMX in Maverick yet so no initramfs created automatically.
  • 2010-09-28 TO2 boards still have SD card detection problems (steev from Gentoo is looking into this last time I checked).
So, if you're not going to be running Maverick, the kernel you have (2.6.31-008 or 2.6.31.14 previous release) will work fine for you. Don't update with the standard kernel, get the "nodevtmpfs" version if you're using Karmic.

Major and minor fixes depending on how you look at it:

  • Several bugs with with the internal variable "pixclk_limit" have been fixed whereby a user with a 1280x720@60 mode set would find that it would corrupt the display after a few blanks or a few hours of runtime. This manifested itself either as garbage on the display for the bottom 3rd of the monitor, or a lockup, or both.
  • The kernel now supports a real 32-bit display mode but needs a recompile to activate it. The Smartbook only has a 16-bit display controller so it is probably better to run in 16-bit and let the OS dither and manage the display, as 32-bit direct mode will cause significant banding.
  • block IO scheduler now defaults to "noop" since having CFQ was soaking CPU cycles without giving any benefit (scheduling block IO to take advantage of "closer" blocks is meaningless on an SSD).
  • ramzswap is back in lieu of being able to include zram.
  • oprofile is enabled in the default configuration. You need to manually load the module before you run oprofile.
  • faster kernel memcpy and kernel preemption enabled
  • Several ARM kernel fixes due for 2.6.35 and 2.6.36 backported
  • RT2870 driver is less chatty (no dmesg lines full of empty #)
  • CRC32 performance optimization meant for 2.6.35 backported
The Maverick filesystems are current as of the freeze implemented before the Maverick beta 2. You can find them at Linux Support. The Kernels are available at Kernel Support.

UPDATE 2010-09-27: to boot the Smartbook from SD card you need to make a "boot.scr" by making a small text file (the simplest can be "run bootcmd_sdhc") and running a command line as so:

mkimage -A arm -O linux -a 0 -e 0 -T script -C none -n "Boot SDHC" -d myscript.txt boot.scr


A U-Boot unification for both platforms that relies on boot.scr for everything (thus letting you have full control over everything from the Linux side, and preconfigured scripts) is coming soon. If anyone has any ideas for preconfigured, board-specific environment variables (such as console="ttymxc0,115200" or so) that can be appended to bootargs or make scripting easier, we are all ears :)

UPDATE 2010-09-28: The Xfce Maverick is mislabeled "maverick-final" - it is not the final Maverick (not released for another 2 weeks..) nor our final update on the matter. However it is the final version for currently shipping products and will be on every new unit. I hope that clarifies it.

Thursday, 26 August 2010

EfikaMX 2.6.31.14 Kernel Update

Update to 2.6.31.14 has been committed, compiled and uploaded for all Efika MX (TO2, TO3) versions. We encourage all users and developers to grab and test this kernel (from an SD card preferably) before installing over a PATA system.

This should be at feature parity with the last TO2 version (2.6.31.12.3) regarding little tweaks and things.

Fixes included:
* Now at 2.6.31.14
* Wireless - RT2870STA backported from Linus' tree works great. You will need the Ralink firmware from their site; it is included in the modules archive. Please read the LICENSE.ralink-firmware.txt in the /lib/firmware directory.
* Much, much better ARMv7, VFP and NEON support. Will fix graphical corruption for anyone who tried Ubuntu Lucid or new versions of Pixman and may fix some weird random crashes.

We have however noticed a couple of things which may be very annoying to some people:

* External SD card does not correctly operate on TO2 boards. We are not sure why this is; some SD cards work, some don't.
* In some rare circumstances display output on DVI-to-HDMI adapters is giving a black screen. Unfortunately the fix needs a recompile of the kernel, and breaks other DVI-to-HDMI adapters and screens, and some HDMI monitors.

We would greatly appreciate any feedback users have on this, and our forums are always open (for kernel dmesg output you can paste them into PowerDeveloper forum post for posterity - pastebin etc. expires but our forums do not. Make sure you use the [code]tag[/code]).

As always the kernel source has been published, and since it is now in git, we would greatly appreciate a merge request, patch, or any comments on any problems anyone may have.

Thursday, 19 August 2010

EfikaMX Kernel Git Repo Update

You may have been watching and seen a lot of stuff being pushed into git: well, here is a summary of changes.

http://www.gitorious.org/efikamx/linux-kernel
(efikamx-10.07.11 branch)

* Fixed a CPU scheduler regression since 2.6.30
* Synchronized some PMIC changes with MX51 Babbage. Should reduce power consumption by a few mW
* Pass DI clocks as platform data to IPU. Pixel clocks should be correct now, less "Input Not Supported" on your monitors
* Several updates to ARMv7 MMU and VFP/NEON handling which solves some odd problems with display corruption (some of these were applied in previous PD releases but not in the TO3 one) and TO2 boards now do not have the NEON feature flag exported to stop well designed code like pixman from plugging in functions that will crash your board.
* Reparented clocks more frugally
* Audio works but it plays half-speed for some reason

What we have now is a TO3 kernel that matches the previous TO2 PD kernel with regards to most of the esoteric patches, and should be pretty stable. We're still looking at a few other things.

We will release a build of the kernel on PowerDeveloper shortly but we have some pending problems to fix, namely that reboot/shutdown again do not act correctly and for some reason audio is played at half speed. When we resolve these issues there will be a prebuilt kernel with wireless and 3D.

In the meantime you can grab the source via git or download a tarball from the link on the right of the gitorious site (make sure you are downloading efikamx-10.07.11.tar.gz :)

After that the main task is to move in the Smartbook code.

Tuesday, 17 August 2010

EfikaMX Kernel Git Repository

Still in development, but here it is at last!

http://gitorious.org/efikamx/linux-kernel/commits/efikamx-10.07.11

You will find here a nice Linux kernel based on 2.6.31.14 with the latest Freescale BSP attached. We will be updating patches here. Please test it out and see how it goes for you.

Thursday, 29 July 2010

Fines Double In This Area

This kernel has been superceded by the git repository. Please go use that. For more information see this blog post.

An experimental kernel source release (linux-2.6.31-TO3-efikamx.tar.xz) is now on PowerDeveloper for the Efika MX TO2 and TO3 boards. To clarify, despite the name, it does work on older boards.

This represents a clean port to the Freescale 10.05 BSP release, which offers a lot of cleanup opportunity. Platform files have been split into subsystem. It will probably give us the first kernel with working multimedia and GPU acceleration support that doesn't suck. And the Smartbook kernel will be the same source tree to unify it all. But, it's source only.

This kernel is being put out there because we really would like to see enterprising individuals to get bored of the missing features and add the support. Areas that need work:
  • It's a big blob and some seperate patches would be nice. The FSL BSP is on the Freescale Website. We're still working on a git repository.
  • Audio doesn't work
  • MMC light doesn't point to the right port, but the code is there to switch it. Odd.
  • Wireless drivers crash wildly (can someone compile the very latest RT3070STA driver?)
  • No attempt to appease developers with custom config options or point releases has been made (this is a stock 2.6.31 with the FSL BSP patches and some minor things like "epoll" support , any extras from other mainline trees have been taken back out)
  • Anyone who can make it standby or suspend to ram (echo mem >/sys/power/state) and come back again will be rewarded with a basket of kittens*
Any improvements or patches anyone makes will be graciously accepted so that we can bring this kernel up to be world-class. We are working on it too, don't worry, but there's a big difference between a small team and the whole open-source community. Have fun.

* kittens and basket are not real.

Monday, 19 July 2010

Kernel for new "TO3" units

We are prepping a release for TO3, in the meantime anyone using a TO3 will have to live with the kernel shipped on the units. In the meantime PLEASE DO NOT use any of the kernels on PowerDeveloper for TO3 boards. There have been some design changes on the board between chip revisions which means the SD card slots have moved around, and some other minor but fairly important changes to the layout of the board and use of peripheral units which means booting a TO3 unit with a kernel made for TO2 is going to basically not operate at it's best. You can't burn it, but.. you will be annoyed :)

The release will come near the end of the week hopefully. The kernel on the boards is "2.6.31-008" which is Pegatron's revision. We are backporting our PowerDeveloper kernel with these changes, all the patches we pushed in, and have some problems with the new BSP which should be resolved fairly shortly. If you are desperate for a new kernel or want to help out testing you can contact matt at genesi-usa dot com.

* (FYI TO2 = Tape-Out 2, TO3 = Tape-Out 3, these are chip designations from Freescale which mark the chip revision based on what they send to the fab to be built)

Tuesday, 13 April 2010

Quickstart Guide

A quickstart guide has been posted to the Efika MX Linux support pages. It is still a draft version but will be updated as time goes by and guide users from booting their Efika MX once they get it to installing packages and desktops and upgrading the software.

Future guides will explain how to install other Linux distributions and operating systems (using the SD card or SSD installed system as a base). Any suggestions on guides or application notes pertaining to installation of the Efika MX, expandability, Linux kernel etc. would be appreciated and can be left in the comments section here or posted to the forums on PowerDeveloper.