i.MX515 Project
CRUX/ARM support (specific support for Genesi EfikaMX products)

in category Linux Distributions
proposed by acrux on 27th April 2011 (accepted on 28th April 2011)

Developers: Nik Mak, Victor Martinez, Jose V Beneyto
Project Summary
CRUX is a lightweight, source based GNU/Linux distribution targeted at experienced Linux users. The primary focus of this distribution is keep it simple, which is reflected in a straightforward based package system, BSD-style initscripts, and a relatively small collection of trimmed packages. The secondary focus is utilization of new Linux features and recent tools and libraries. CRUX also has a ports system which makes it easy to install and upgrade applications.

Altough there, already, is a CRUX port for ARM it does cover only obsolete models. I, instead, am interested to only support Genesi EfikaMX products making use of our CRUX PPC infrastructure and our consolidated know-how in GNU/Linux operating systems on RISC cpu's family.

CRUX PPC GNU/Linux Project - http://cruxppc.org/

Project Blog Entries

  a new toolchain: gcc-4.7.1 , glibc-2.16.0
posted by acrux on 5th August 2012



root@efikamx:/mnt/DEVEL/HVA/NEW/00# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-unknown-linux-gnueabihf/4.7.1/lto-wrapper
Target: arm-unknown-linux-gnueabihf
Configured with: ../gcc-4.7.1/configure --enable-bootstrap --prefix=/usr --mandir=/usr/man --libexecdir=/usr/lib --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-shared --enable-lto --with-ppl --enable-cloog-backend=isl --disable-ppl-version-check --disable-cloog-version-check --with-arch=armv7-a --with-mode=thumb --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux --disable-nls --with-x=no --with-system-zlib --build=arm-unknown-linux-gnueabihf --with-pkgversion='CRUX ARMHF'
Thread model: posix
gcc version 4.7.1 (CRUX ARMHF)

root@efikamx:/mnt/DEVEL/HVA/NEW/00# /lib/libc.so.6
GNU C Library stable release version 2.16, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.7.1.
Compiled on a Linux 3.5.0 system on 2012-08-04.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B
libc ABIs: UNIQUE
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

root@efikamx:/mnt/DEVEL/HVA/NEW/00# ldd /usr/bin/ar
/usr/lib/libc-neon.so (0x76ef7000)
libbfd-2.22.so => /usr/lib/libbfd-2.22.so (0x76e78000)
libz.so.1 => /usr/lib/libz.so.1 (0x76e61000)
libc.so.6 => /lib/libc.so.6 (0x76d81000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x76d60000)
/lib/ld-linux-armhf.so.3 (0x76f01000)
  CRUX ARMHF (experimental) minor update
posted by acrux on 3rd August 2012


Just a small update before CRUX 3.0 as i'm going to work on the next toolchain (gcc-4.7.1, glibc-2.16) with PPL and Graphite support (ISL backend) and now also with LTO.


root@efikamx:/mnt/DEVEL# uname -a
Linux efikamx 3.4.2 #1 PREEMPT Sun Jun 10 16:53:27 CEST 2012 armv7l ARMv7 Processor rev 5 (v7l) Genesi EfikaMX nettop GNU/Linux

Linux 3.4.x kernel is now able to be compiled/compressed in Thumb2 mode (faster to load).


binutils-2.22, gcc-4.6.3, eglibc-2.14.1
gmp-5.0.5, mpfr-3.1.1, mpc-1.0
ppl-1.0, cloog-0.17.0


It can be only used from serial terminal 'cause it uses a vanilla linux kernel.

Here my last development tree:
http://cruxppc.org/~acrux/arm/2.7-HARD/3/


This is an unsupported release (only core repository) with an advanced/experimental toolchain.
Please, refer to crux-arm.nu for the stable and supported standard softfp/hardfp releases aligned with the x86 main project.
  Smarttop recovered with hw reset
posted by acrux on 17th July 2012


As last attempt with my bricked device removing pSSD and wlan and i saw the hw reset button. Awesome, i found it only needed an hw reset.
It seems that a testing bootkernel caused only a pram corruption trashing all environment variables and luckily the hw reset was able to reload a working u-boot safe env.
  double failure: unluckily two Smarttop are now bricked
posted by acrux on 20th June 2012


Two EfikaMX seems to have hw problems...
After a reboot they hangs. No led light, no boot from ssd nor mmc. Totally unresponsiveness. No idea about the issue.

Now i must plan a way to recover some data from the builtin SSD.
  linux-3.4-rc7 kernel
posted by acrux on 13th May 2012



root@efikamx:~# uname -a
Linux efikamx 3.4.0-rc7 #1 PREEMPT Sun May 13 16:31:17 CEST 2012 armv7l ARMv7 Processor rev 5 (v7l) Genesi EfikaMX nettop GNU/Linux


new kernel is now able to be compiled/compressed in Thumb2 mode (faster to load).
  May 2012 - Genesi EfikaMX with CRUX ARMHF (experimental)
posted by acrux on 1st May 2012



binutils-2.22, gcc-4.6.3, eglibc-2.14.1
gmp-5.0.4, mpfr-3.1.0-p8, mpc-0.9
ppl-0.12.1, cloog-0.17.0


acrux@efikamx:/mnt/DEVEL/HVA# uname -a
Linux efikamx 3.4.0-rc4 #1 PREEMPT Tue Apr 24 14:07:16 CEST 2012 armv7l ARMv7 Processor rev 5 (v7l) Genesi EfikaMX nettop GNU/Linux


It can be only used from serial terminal 'cause it uses a vanilla linux kernel.

Here my latest development tree:
http://cruxppc.org/~acrux/arm/2.7-HARD/2/
or you can browse it "live" on my EfikaMX:
http://acrux.homelinux.org:8080/armhf/


This is an unsupported release (only core repository) with an advanced/experimental toolchain.
Please, refer to crux-arm.nu for the stable and supported standard softfp/hardfp releases aligned with the x86 main project.
  November 2011 - Genesi EfikaMX with CRUX ARMHF (experimental)
posted by acrux on 24th November 2011



binutils-2.22, gcc-4.6.2, eglibc-2.14.1
gmp-5.0.2-2, mpfr-3.1.0-p3, mpc-0.9
ppl-0.11.2, cloog-0.16.3

acrux@efikamx:~# uname -a
Linux efikamx 3.1.0-rc6+ #3 PREEMPT Tue Sep 20 17:38:20 CEST 2011 armv7l ARMv7 Processor rev 5 (v7l) Genesi EfikaMX nettop GNU/Linux

root@efikamx:~# ld -version
GNU ld (GNU Binutils) 2.22
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

root@efikamx:~# /lib/libc.so.6
GNU C Library (EGLIBC) stable release version 2.14.1, by Roland McGrath et al.
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.6.2.
Compiled on a Linux 2.6.39 system on 2011-11-23.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B
libc ABIs: UNIQUE
For bug reporting instructions, please see:
<http://www.eglibc.org/issues/>.

root@efikamx:~# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-unknown-linux-gnueabihf/4.6.2/lto-wrapper
Target: arm-unknown-linux-gnueabihf
Configured with: ../gcc-4.6.2/configure --prefix=/usr --mandir=/usr/man --libexecdir=/usr/lib --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-shared --with-ppl --enable-cloog-backend=isl --with-arch=armv7-a --with-mode=thumb --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux --disable-nls --with-x=no --with-system-zlib --build=arm-unknown-linux-gnueabihf --with-pkgversion='CRUX ARMHF'
Thread model: posix
gcc version 4.6.2 (CRUX ARMHF)



This is an unsupported release (only core repository) with an advanced/experimental toolchain.
Please, refer to crux-arm.nu for the stable and supported standard softfp/hardfp releases aligned with the x86 main project.
  CRUX ARMHF - september report
posted by acrux on 23rd September 2011


From July I only did some minor updates. And my work was still focused on the new toolchain that is really advanced and actually better than cruxppc one i used as start point (and it already has graphite support from 2.6 release).

Everything is always available, the server (cruxppc.org) was offline a couple of weeks ago 'cause a disk failure but i successfully repaired it and the raid5 helped me a lot.

- From July just some minor update (not yet released) i did:
*) binutils is now 2.21.53-20110722 and we always must wait for the upcoming 2.22 stable release ;
*) file-5.09 fixes arm/ppc bugs thus no fedora's patches are needed anymore ;
*) cloog is now 0.16.3 ;
*) i rebuilt gcc and binutils against the new cloog-0.16.3 (ABI changed) ;
*) i've updated the kernel to 3.1.0-rc6+(pengutronix+rtp's patches) but audio and sdma are still unable to work and, now, rtc is not perfect.
  CRUX-ARM 2.7 released
posted by acrux on 21st September 2011


25 August 2011
CRUX-ARM 2.7 released


The rootfs can be found here [1] and changelog for this release here [2].
Documentation for efikamx device can be found here [3].

It hasn't hardfp support at this time. We'll put hands on since now to prepare the future release and its support.

All opinions, feedback and bug reports are welcome.

Best regards, CRUX-ARM team.


[1] http://crux-arm.nu/Main/Download
[2] http://crux-arm.nu/Documentation/Changelog
[3] http://crux-arm.nu/Main/Documentation


CRUX-ARM is a port of CRUX distribution for the ARM architecture.
It's a non-profit project and it's managed by volunteers.
CRUX ARM - http://crux-arm.nu/
  CRUX ARMHF new test image available
posted by acrux on 16th July 2011


CRUX ARMHF new test image available

I've uploaded some stuff thus you can review and start to play with.

It seems really stable and, now, the only trunk is binutils-(20110627). Now the toochain has Graphite support built-in.
binutils-2.21.52, gcc-4.6.1, eglibc-2.14
gmp-5.0.2-2, mpfr-3.0.1-p4, mpc-0.9
ppl-0.11.2, cloog-0.16.2


Only the kernel is dirty as it's built using a mix of some unreleased rtp's patches but is good enough to work on and to use an updated udev.

Known issues:
1) sdma doesn't work properly. Broken kernel driver.
2) alsa-utils does build but segfault. Broken kernel driver.


Here there is the latest toolchain and system:
http://cruxppc.org/~acrux/arm/2.7-HARD/1/
http://cruxppc.org/~acrux/arm/sources/

crux-armhf-2.7-test1-2G_image.xz (887M)
- it's a full working MMC image of my machine that does use ilenia as
ports manager and overlay supervisor. Thus a 'man ilenia' could help.
It has the serial console and sshd enabled and a static IP
(192.168.0.211).
The 'root' pasword is 'cruxppc' as i've a lot of devel machines from
CRUX PPC project and i use to have the same root password everywhere.
The arm ports tree overlay is located 'as local' in /usr/ports/arm .

arm-ports.tar.bz2 (635K)
- it's an archive with ports from the arm overlay

core.tar.bz2 (99M)
opt.tar.bz2 (21M)
pkg.list (3.2K)
- they're archives with the built packages to install as chroot.

linux-2.6.39.2-efikamx.config (57K)
- it's the kernel config i used to build the "dirty" bootkernel

uImage (3.5M)
bootkernel-modules.tar.bz2 (779K)
- they'are boot kernel and modules/firmware

Genesi Network: Genesi - Main Site Power2People PowerDeveloper