Installing CadSoft Eagle 6.5 in Fedora 19 x86_64
“Linux users please download the file ftp://ftp.cadsoft.de/eagle/program/6.5/eagle-lin-6.5.0.run and run it. This self-extracting shell script will guide you through the setup process. You may need to click on the above link with the right mouse button and select “Save Link As…”. To run this file you need to make it executable, or enter “sh eagle-lin-6.5.0.run” in a shell window. System requirements: Linux based on kernel 2.6 for Intel computers, X11 with a minimum color depth of 8 bpp, 32-bit runtime environment with the libraries libssl.so.1.0.0 and libcrypto.so.1.0.0.”
32-bit runtime libraries
[chris@thinkpad ~]$ sudo yum install glibc.i686 libXrender.i686 libXrandr.i686 libXcursor.i686 libXi.i686 freetype.i686 fontconfig.i686 libstdc++.i686 zlib.i686
libssl.so.1.0.0 and libcrypto.so.1.0.0
[chris@thinkpad ~]$ sudo yum install openssl-libs.i686
[chris@thinkpad ~]$ sudo ln -s /usr/lib/libssl.so.1.0.1e /usr/lib/libssl.so.1.0.0
[chris@thinkpad ~]$ sudo ln -s /usr/lib/libcrypto.so.1.0.1e /usr/lib/libcrypto.so.1.0.0
libpng14.so.14 and libjpeg.so.8
Not longer needed.
[chris@thinkpad Downloads]$ yum install glibc-devel.i686 zlib-devel.i686
[chris@thinkpad Downloads]$ wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.12.tar.gz
[chris@thinkpad Downloads]$ tar -xzf libpng-1.4.12.tar.gz
[chris@thinkpad Downloads]$ cd libpng-1.4.12
[chris@thinkpad libpng-1.4.12]$ ./configure --prefix=/usr --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
[chris@thinkpad libpng-1.4.12]$ make
[chris@thinkpad libpng-1.4.12]$ sudo make install
[chris@thinkpad Downloads]$ wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
[chris@thinkpad Downloads]$ tar -xzf jpegsrc.v8d.tar.gz
[chris@thinkpad Downloads]$ cd jpeg-8d/
[chris@thinkpad jpeg-8d]$ ./configure --prefix=/usr --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
[chris@thinkpad jpeg-8d]$ make
[chris@thinkpad jpeg-8d]$ sudo make install
And finally Eagle
[chris@thinkpad Downloads]$ wget ftp://ftp.cadsoft.de/eagle/program/6.5/eagle-lin-6.5.0.run
[chris@thinkpad Downloads]$ sh eagle-lin-6.5.0.run
Now you only need to create a menu entry in your launcher and the install is complete.
Tiny, hackable (?) quadcopter from China for EUR 22 / USD 35
I have a cool new gadget that is probably hackable too! Have a look:
I’ve ordered it on 21st of September from eBay and received it on 12th of October.
Embedded development with open source tools on Windows
Overview
- Get a proper editor
- Install the GCC ARM Embedded toolchain
- Installing MinGW and MSYS
- Build a simple Hello World program with gcc
- Git version control system
- Ruby
- Python
- MC HCK specific instructions
- Programmer’s Notepad
- Cygwin
- OpenOCD and GDB
- Working with embedded Linux systems
- What’s next
- References/Further Reading
Get a proper editor
You probably want to install Notepad++ http://notepad-plus-plus.org/ or Programmer’s Notepad: http://www.pnotepad.org/.
Install the GCC ARM Embedded toolchain
GNU Tools for ARM Embedded Processors: https://launchpad.net/gcc-arm-embedded
Download the Windows installer from https://launchpad.net/gcc-arm-embedded/+download, for example:
And install it clicking everywhere next but choose a path without spaces, like C:\tools\gcc-arm-4.7-2013q3.
Received my MC HCK prototype boards

My first MC HCK
Overview
About
The MC HCK (pronounced: “McHack” [mæk hæk]) is a small, cheap, and versatile microcontroller platform that supports USB for easy programming, and can be built at home for $5. The MC HCK enables everybody to build big and small projects, because spending >$20 for other microcontroller boards is just too much.
Quick Specs
I’ve already ordered a MC HCK prototype kit in July (https://mchck.org/blog/2013-07-27-prototype_kit_funding_succesful/), they were ready for dispatch on 30th September and now I have received them.
Unboxing
The letter contained the following components:
Porting Linux to a new board
Overview
- About the iMX233 Audio Development Board
- Step 1: Get familiar with the debugger
- Step 2: Blinking LED
- Step 3: imx-bootlets
- Step 4: The Application UART
- Step 5: The status led
- Step 6: The second SD card
- Step 7: Audio Support
- Step 8: Using the buttons for playback and recording
- Step 9: Powersaving when on battery
- Step 10: Linux images for the SD card
- Step 11: U-Boot
- Step 12: QEMU
- Further tasks
- References/Further Reading
- Change list
Info
This post is work in process.
I haven’t done this before so I’m a bit nervous whether I get everything working but lets try it.
It’s gorgeous to have a device that will become a consumer device and a goal to do some real development instead of just doing generic experiments with the OLinuXino boards. Now I’m forced to dig through the code to solve all the problems. It makes a lot of fun and I’m also learning a lot.
About the iMX233 Audio Development Board
You can think of the iMX233 Audio Development Board like of a iMX233 based development board to build yourself a MP3 player with the ability to record audio. If I’m correct then it uses the same audio codec like the Apple 8GB iPod nano [1] [2]. The contour of the later handheld device is already printed on the board. I don’t know what the future brings, but it might get released as open source hardware. For more information please visit: http://blog.bones-embedded.ch/imx233-audio-development-board/.
Debugging the iMX233-OLinuXino via SJTAG with OpenOCD
Overview
What you will need
Hardware
A iMX233 based OLinuXino board: https://www.olimex.com/Products/OLinuXino/iMX233/
I’m using a iMX233-OLinuXino-MICRO and since it comes without a plastic header for the SJTAG interface I have added one.
iMX233-OLinuXino: Current State
Overview
This post is work in process so print it into an PDF file if you want to keep an older version as reference.
The Kernel
Please have a look at Building a kernel 3.x for the iMX233-OLinuXino for more detailed build instructions.
You can use a kernel straight from https://www.kernel.org/:
[chris@thinkpad OLinuXino]$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-stable.git
[chris@thinkpad OLinuXino]$ cd linux-stable.git/
[chris@thinkpad linux-stable.git]$ git checkout v3.12
[chris@thinkpad linux-stable.git]$
Note
There is also linux-next with some more bleeding edge kernels:
[chris@thinkpad OLinuXino]$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux-next.git
[chris@thinkpad linux-next.git]$ git checkout next-20130909
To add support for i2c we need to apply the following patch:
[chris@thinkpad linux-stable.git]$ wget https://raw.github.com/koliqi/imx23-olinuxino/3.12-rc2/kernel/0001-ARM-imx23-olinuxino-Add-i2c-support.patch
[chris@thinkpad linux-stable]$ patch -p1 < 0001-ARM-imx23-olinuxino-Add-i2c-support.patch
patching file arch/arm/boot/dts/imx23-olinuxino.dts
patching file arch/arm/boot/dts/imx23.dtsi
Hunk #1 succeeded at 306 with fuzz 2 (offset -1 lines).
Hunk #2 succeeded at 472 (offset -1 lines).
[chris@thinkpad linux-stable.git]$
And to get a spi device we need to apply the following patch:
[chris@thinkpad linux-stable.git]$ curl -L http://sourceforge.net/projects/janncc/files/olinuxino/kernel/3.12-rc3/0005-ARM-imx23-olinuxino-Add-spidev.patch/download -o 0005-ARM-imx23-olinuxino-Add-spidev.patch
[chris@thinkpad linux-stable.git]$ patch -p1 < 0005-ARM-imx23-olinuxino-Add-spidev.patch
patching file arch/arm/boot/dts/imx23-olinuxino.dts
[chris@thinkpad linux-stable]$
Now lets configure and build the kernel:
Building ROS on Fedora 19
Overview
About ROS
ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.
—Source: http://www.ros.org/wiki/
ROS is really a huge software package (a big mess!) and is unlikely that the official installation guide for Fedora (http://www.ros.org/wiki/groovy/Installation/Fedora) will work without issues. Last time it took me several days to fix all build failures. This time I will document my odyssey.
Upgraded to Fedora 19 Alpha alias Schrödinger’s Cat

Fedora 19 Alpha KDE Splash Screen
Fedora, formerly Fedora Core, is an RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and owned by Red Hat. The Fedora Project’s mission is to lead the advancement of free and open source software and content as a collaborative community.
—Source: https://en.wikipedia.org/wiki/Fedora_%28operating_system%29
Last weekend I was brave enough to install the KDE spin of Fedora 19 Alpha on my main working laptop and as by now everything is running great.
So get it now (torrents), have a look at the release schedule for the final release date or study the feature list to see what’s new.
Up until then I was still running Fedora 17 alias Beefy Miracle but slowly it feels old and I had to install some more recent packages from Fedora 18 to be able to compile other programs.
So it was time to upgrade to and since i know how to fix a broken system I decided to skip Fedora 18 and directly install Fedora 19 Alpha.
I’ve done a clean install and before the upgrade I’ve backed up the most important configuration files as well as my home directory. I was able to crash the installer four or five times but then everything went well.
Before the upgrade I’ve created a list of all my installed packages:
[chris@fedora-17 ~]$ rpm -qa --queryformat "%{NAME}.%{ARCH}\n" >packages_thinkpad_F19.log
So that I can reinstall them all at once:
[chris@fedora-19 ~]$ sudo yum -y --skip-broken install $(cat ./packages_thinkpad_before_F19.log )
This will also install a lot of packages that I don’t need anymore (1643 packages +192 dependent packages) but it will save a me lot of time as I don’t have to find all dependencies again when compiling something from source and disk space is cheap nowadays.
You can find my current package list here: packages_thinkpad_F19.log
I’m very happy that sagemath has finally made it into Fedora (sudo yum install sagemath).
Now I have to rebuild all packages that I had installed from sources and then I’m finished.
Btw. I’m running kernel 3.9.0-0.rc8.git0.2.fc19.x86_64 and KDE 4.10.2 at the moment.
If I encounter any update problems or other issues until the final release I will update the blog post below. Lets see how it evolves.
Update:
June 14th, 2013: Fedora 19 logfile explosions:
- http://www.happyassassin.net/2013/06/14/fedora-1920-logfile-explosions/
- http://www.fedora-blog.de/2013/06/fedora-19-rsyslog-bremst-systeme-aus/
I have a file watcher plasmoid on my desktop that monitors /var/log/messages so the whole plasma-desktop was hanging and also the CPU usages was at 100%.
How to find performance bottlenecks in your application

This is a part of a KCachegrind window
Profiling your application to find performance bottlenecks is easier then you may think, I’m using gperftools and KCachegrind to profile Laustracker that makes heavy use of OpenCV functions.
Before you can start profiling you need to install the following tools:
[chris@thinkpad ~]$ sudo yum install pprof gperftools-libs kdesdk-kcachegrind