i.MX515 Project
Assisting Gentoo Linux ARM team

in category Linux Distributions
proposed by steev on 22nd March 2009 (accepted on 2nd July 2010)
Project Summary
I would love to help the Gentoo ARM team out by having one of these machines. I would also be using it in an attempt to help out the Titanium developers in making sure that Titanium (http://titaniumapp.com - an opensource equivalent to Adobe AIR) works on as many architectures as possible.

Currently I have an Efika from the Efika 5200B program, it is being used to generate packages for other Efika Gentoo users (if they want them) - available here: http://tinderbox.dev.gentoo.org/default-linux/ppc-efika/

Being able to do something like that with one (or more - having one to actually use and one to develop the packages to host like the Efika) of these would help increase their usage.

Project Blog Entries

  Hard+Neon
posted by steev on 13th April 2010


Sorry for the not entirely descriptive title.

Thanks to an enterprising user in the #gentoo-embedded IRC channel, we now have stage3 tarballs built with gcc 4.5.0 release candidate, using -mfpu=neon -mfloat-abi=hard - for most users, this means nothing, but for some, it means possibly squeezing out a tad bit more performance.

I'm currently in the process of getting Xorg up and running on the installation. At the moment, I actually have xorg-server 1.8.0 installed, though I do not have the IMX specific bits going.

Low hanging fruits:

gst-plugins-fsl - Errors during compilation, gstXinfo not defined.

licensing issues - just a matter of adding the Freescale EULA to license_groups in the overlay, as well as making sure the different bits are covered. I had a ticket open with their support that they covered some things. They are still checking on one. At the moment, the only file I can't technically host is going to be libz160-bin (they want a click-thru to the fsl_eula) - I'm asking them if requiring the user to specifically accept it is good enough or not.

  Overlay (reposted from forums)
posted by steev on 23rd March 2010


I've been working on this as much as my spare time permits, and at the moment it is in a workable state, although the ebuilds need to be cleaned up a bit - a proper efikamx-headers tarball would be a nice step, as well as a few other misc odds and ends (you can read the git log if interested)

I've got ebuilds for imx-lib, efikamx-headers, and libz160-bin - all 3 of those are required to build xf86-video-imx

Currently, it works - that is the good news.

The bad news is, this isn't 3D ;)

I'm currently working on xf86-video-imx-0.1.0-r1 - do NOT enable this unless you actually intend to install xorg-server, libdrm, and mesa from scm (they are in the overlay as well) 0.1.0 should suit anyone fine on arm or ~arm although the driver itself is only marked ~arm.

Please look at the git log before posting patches and follow the style set out.

http://github.com/steev/efikamx
  Wireless working!
posted by steev on 5th February 2010


So, there has been a new kernel release from Genesi - 2.6.31.12-ER1-efikamx.

On Gentoo, you download the 51mb 2.6.31-ER1-efikamx lzmaball, and then the patch.

extract both - since on a Gentoo machine, it is fairly standard to have the kernel in /usr/src/linux - thats where I extracted the files. Then I moved the patches into the linux-2.6.31.12-ER1-efikamx directory (renamed from 2.6.31-ER1-efikamx) and then created a symlink.

Make the kernel as per norm (by default when you apply the patches, it copies the Genesi config file to .config) editing the config whichever way you prefer to add/remove options, and build it.

Don't forget to mount /dev/sda1 before you make modules_install!

Now we download the driver from Ralink for the RT3070 - 2009_1110_RT3070_Linux_STA_v2.1.2.0.tar.bz2 (sorry, no direct link as they do request you accept the license) - extract it wherever.

Go into the 2009_1110_RT3070_Linux_STA_v2.1.2.0 directory, and then edit os/linux/config.mk

Change HAS_WPA_SUPPLICANT=n to HAS_WPA_SUPPLICANT=y
change HAS_NATIVE_WPA_SUPPLICANT=n to HAS_NATIVE_WPA_SUPPLICANT=y

make

Wait a bit - then delete /tftpboot (Ralink's makefile copies the driver to there)
Then copy the module somewhere in /lib/modules/2.6.31.12-ER1-efikamx (I like to use /extras or /networking) then blacklist all the in-kernel wifi stuff in

/etc/modprobe.d/blacklist.conf

blacklist rt3070sta
blacklist rt2870sta
blacklist rt2800usb
blacklist rt2x00usb
blacklist rt2x00lib
blacklist mac80211
blacklist cfg80211


and then in /etc/modules.autoload.d

add "rt3070sta" (as I'm writing this, yes I see that I'm blacklisting it and then explicitly autoloading it - will fix later)

Don't forget to run depmod -a

Reboot!

Now you need to edit your RT3070STA.dat file - this will reside in /etc/Wireless/RT3070STA/

Mine looks like this:

#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=
ChannelGeography=1
SSID=<YOURSSIDHERE>
NetworkType=Infra
WirelessMode=9
Channel=6
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=WPAPSK
EncrypType=TKIP
WPAPSK=<YOURPASSWORDHERE>
DefaultKeyID=1
Key1Type=0
Key1Str=
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
PSMode=CAM
AutoRoaming=0
RoamThreshold=70
APSDCapable=0
APSDAC=0;0;0;0
HT_RDG=1
HT_EXTCHA=0
HT_OpMode=1
HT_MpduDensity=4
HT_BW=1
HT_BADecline=0
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
HT_MIMOPSMode=3
HT_DisallowTKIP=1
EthConvertMode=
EthCloneMac=
IEEE80211H=0
TGnWifiTest=0
WirelessEvent=0
MeshId=MESH
MeshAutoLink=1
MeshAuthMode=OPEN
MeshEncrypType=NONE
MeshWPAKEY=
MeshDefaultkey=1
MeshWEPKEY=
CarrierDetect=0
AntDiversity=0
BeaconLostTime=4
FtSupport=1
Wapiifname=ra0
WapiPsk=
WapiPskType=
WapiUserCertPath=
WapiAsCertPath=


When playing with wpa_supplicant, you want to have it run non-daemonized while trying to debug it - by default, on the Efika MX you will run it with the following command:

wpa_supplicant -Dwext -Ira0 -c/etc/wpa_supplicant/wpa_supplicant.conf

(Note: the location of wpa_supplicant.conf may be different if you aren't on Gentoo)

If you are on Gentoo and using the stable "arm" keyword, then you may want to go into /etc/conf.d/net and set

modules_ra0=( "!iwconfig" )


So that it will use wpa_supplicant rather than trying to set everything up manually with iwconfig.
  make.conf (so far)
posted by steev on 8th December 2009


CHOST="armv7a-softfloat-linux-gnueabi"
CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fomit-frame-pointer -Os -pipe"
CXXFLAGS=${CFLAGS}
ACCEPT_KEYWORDS="arm ~arm"

Since I'm not entirely familiar with the ARM architecture I'm playing it fairly safely and just going with the softfp for now, although eventually it would be interesting to see the speed difference between softfp and hard - Neko thinks we should see ~10% faster with hard.

Side note: hdmi->dvi cable should arrive via UPS today, so hopefully I can do more than just ssh in soon
  Arrival!
posted by steev on 4th December 2009


I got my Efika MX today *happydance*

So, I posted pictures of unboxing it (including the ever awesome FedEx box that everyone posts the picture of - feel free to send gifts on over to that address any time you want ;) ) - they are at http://dev.gentoo.org/~steev/efika/mx/pics - Kind of blurry, they were taken with my Motorola Krzr phone, and I guess its time to finally ditch the thing (I actually only use it FOR a camera, how sad is that!)

On to the impressions...

So far, I'm lovin it. One thing I noticed - and since I'm waiting on my HDMI->DVI cable I thought I'd post this here. sshd isn't actually set to start - once you get on your Efika MX, if you plan to ssh in, you may want to run update-rc.d ssh enable so that it starts up on boot.
  Woohoo!
posted by steev on 25th November 2009


Okay, I know this is a long time coming, since I was approved 8 Oct 2009, and its now over a month later - I can't wait to get working on this!
Genesi Network: Genesi - Main Site Power2People PowerDeveloper