1. Does Vortex86sx based devices are worth something?

    At FOSDEM 2009 I grabbed one Vortex86SX based device — Koala Nano PC which is available at Koan software. Device came with Ångström distribution and was running 2.6.26 kernel. I wanted to get something more fresh on it and after some fighting I booted 2.6.29-rc5 kernel today.

    Device use Vortex86SX SoC which is based on 486SX core. Yes — this is x86 machine without FPU. Overall speed of that is… nearly not existing.

    First benchmark which came to my mind was “hdparm -T /dev/sda”. Results were dramatic: 9-13 MB/s for cached reads (with 133MHz memory and 300MHz cpu). I decided to compare against other devices:

    Device Arch CPU CPU speed memory type cached reads
    Koala Nano PC x86 vortex86sx 300MHz DDR2 9-13MB/s
    old PC x86 pentium2 266MHz EDO DRAM 33MB/s
    ATNGW100 av32 AT32AP700x 130MHz SDRAM 35MB/s
    ASUS WL-500gP mips bcm3302 266MHz 46MB/s
    Freecom FSG-3 arm ipx42x 266MHz 43MB/s
    iBook G3 ppc g3 300MHz SDRAM 65MB/s
    AT91SAM9263-EK arm at91sam9263 180MHz SDRAM 62-63MB/s
    Compulab arm pxa270 312MHz SDRAM 74MB/s
    NSLU2 arm ixp420 266MHz SDRAM 74MB/s
    Koala nano33 x86 vortex86dx 1GHz DDR2 74MB/s
    Nokia N810 arm omap2420 400MHz SDRAM 82MB/s
    AT91SAM9G20-EK arm at91sam9G20 400MHz SDRAM 96MB/s
    Linkstation pro duo arm ixp4xx 266MHz 147MB/s
    BeagleBoard arm omap3530 500MHz mDDR 152MB/s
    Alix.1c x86 geodelx 500MHz DDR 209MB/s
    kirkwood reference board1 arm kirkwood 1200MHz DDR2 209MB/s
    BUG arm i.mx31 533MHz DDR 294MB/s
    my desktop x86 core2quad 2400MHz DDR2 3300-3500MB/s
    Cliff’s desktop x86 Core-i7 920 Quad 2.67GHz DDR3 6400-7200MB/s

    But remember that this test is not so good for benchmarking — I am preparing better set of tests to really compare speed of devices. So far it contains openssl speed and MP3 encoding/decoding.

    But device has also few nice things. Everything is integrated so 12x12cm box is enough to keep everything inside. It has ATA controller, FastEthernet, graphics based on XGI core (with accelerated framebuffer able to do 1680x1050 resolution) and working USB. There is a place to put 2.5” HDD inside (normally it boots from CompactFlash card), second Ethernet or WiFi are available options…

    But what is use for such slow device? There are lot of ARM based ones which offer similar (or better) functionality and are faster… But wait — there is one use: event displays as this machine has nicely working framebuffer (I got even 1680x1050 resolution).

    UPDATE: added results from iBook G3 300MHz and some other machines.


    1. kirkwood reference board uses same cpu as SheevaPlug device. 

    Written by Marcin Juszkiewicz on
  2. Serial cables for BUG

    During this year FOSDEM Bug Labs gave 4 BUG Starter Kits for people. Two were given for best ideas of application/module/way of using BUG — here Ken and Peter selected best entries. Other two were possible to win by donating FOSDEM.

    I already knew two of those lucky guys. If you are one of other ones then I want to tell that I have Handylink connectors which can be used to build serial cables for BUG. If someone wants to also have Ethernet then all signals are in connector too — just proper RJ45 socket needs to be added.

    How to get Handylink connector from me? Mail me with your address and I will send you one connector (with cable ending in just wires) by normal post. No costs for You even — whole package costs me ~1€ so I do not need return of costs.

    Written by Marcin Juszkiewicz on
  3. Contributing to Poky is not hard

    About 2 years ago I started to work (as contractor) for OpenedHand as full time Poky developer (I did not worked on kernel/applications — just Poky itself). During that time we made few releases, and last of them (‘elroy’) was prepared but never got released (it is present on OH servers anyway). I also worked on upgrading systems used by OH clients.

    Now I work for other companies and one of them (Bug Labs) use Poky. We use last official release (‘pinky’) which shows it’s age so we bumped some components to newer versions to get some additional software built. During that we had to fork some classes/recipes to make needed changes. Those changes were available only in Bug Labs repository and I decided to review all of them to get as much as possible merged back into Poky.

    I created single patches and started to show them to Richard Purdie to get them accepted. It was hard sometimes but I understand why — there are strict policies for backports in Poky (everything backported has to be present in ‘trunk’ for example). After some of our changes got accepted he created ‘poky-contrib’ repository and gave me access to make it easier in future.

    Since then I created few more backports/fixes and all of them were merged. I do not have to show him every patch separately — it is just “please pull” mails to Poky mailing list or similar discussions via Jabber.

    Having possibility to easy sharing changes is great thing.

    Written by Marcin Juszkiewicz on
  4. AT91SAM9263-EK board

    Some time ago I got AT91SAM9263-EK board which was given by Atmel company. It is not first developer board which I use but first which I own ;)

    Currently I run 2.6.28 kernel on it and have a problem with audio as it works only via OSS emulation and OOPS when ALSA is used directly. I tried 2.6.20 and 2.6.29-rc2 but problem was the same.

    Today I moved from nfsroot to root on NAND flash. But this time I used UBIFS instead of JFFS2 (which I used in past on devices). Kernel is still fetched from TFTP server but I will change that later (there is a space on flash still). I have to admit that my old setup (tftp kernel + nfsroot) is really handy for rapid development — no need to copy anything to device, no need to remember about syncing when RESET key is pressed etc.

    Next plans for board? Not defined yet but I know that I will use it for quite long time as main development platform.

    Written by Marcin Juszkiewicz on
  5. How to install additional software into your OE generated rootfs

    There are few methods of adding software into rootfs. You can copy binaries but you can also go better way by using packages. I know that this can be strange experience for some people (which are used to systems which generates only binaries) but in OpenEmbedded world effect of software build is set of packages which can be used to generate final rootfs image.

    First thing to check is which package contains needed binary. It is easier if package name has binary name (like ‘alsa-utils-aplay’ which contains ‘aplay’ command) but it is not always so easy. Hopefully OpenEmbedded generates ‘Packages.filelist’ file in ‘tmp/deploy/glibc/ipk/’ subdirectories. If they are empty (common situation) they need to be recreated.

    To generate them user needs to remove ‘Packages*’ files from all directories and call bitbake package-index command. When command finishes ‘Packages.filelist’ files should contain all informations — for example ‘update-inetd’ command line looks like this

    update-inetd netbase:armv6:./usr/sbin/update-inetd
    

    The format is simple:

    BINARY-NAME PACKAGE:ARCH:PATH-TO-BINARY
    

    So when package name is known we need to transfer package into device. This part depends on device so I will not elaborate on it.

    Installing package is simple: opkg install package.ipk. But copying single packages can result in frustration called ‘dependency hell’ (package require another package which require another etc). To check which packages will be required the easiest way is dpkg-deb -I package.ipk (as IPK packages are compatible with DEBs).

    Better way is to use repositories of packages — command simplify to opkg update;opkg install package (users of desktop Linux distributions can compare it with apt-get or yum). If you built Ångström distribution then your rootfs already contains all informations needed to use packages from repositories. For other distros user needs to define them by hand.

    Repository informations are stored in ‘/etc/opkg/*-feed.conf’ files. Format is simple:

    src/gz NAME URL
    

    Example:

    src/gz base http://www.angstrom-distribution.org/feeds/2008/ipk/glibc/armv5te/base
    

    Instead of ‘src/gz’ also ‘src’ can be used — it will fetch uncompressed ‘Packages’ file instead of gzipped one.

    When repositories are defined installing software is easy: opkg update;opkg install package will fetch package and all it’s dependencies and then will install them into rootfs.

    I hope that this will simplify that task for some people.

    Written by Marcin Juszkiewicz on
  6. Good bye Zaurus

    Nearly two years ago I wrote about end of Zaurus production. This news ended on many websites around the globe (mostly without quoting source). But it was not end — Sharp was producing Zaurus clamshells from time to time during those two years.

    In December 2008 there was another set of news that Sharp ends Zaurus production. This time it looks like real end. Marc from TRISoft told on OESF forum: “Last production run was March 2008. And we’re now out of stock with new units. Looks like it’s now really over and out.”

    I ended my work on Zaurus machines about year ago. OpenZaurus was ended, I had job to do and other devices to support. But still from time to time I used my c760 for some debug sessions (usually in cases where QEMU was not enough). With serial cable and wifi card it was good substitute of developer board.

    Today I got Atmel AT91SAM9263-EK board. Will work on it on Monday and it will be my main testing/development platform for some time. Probably next will be BeagleBoard or other OMAP3 based device.

    Written by Marcin Juszkiewicz on
  7. Started 10 year with Debian

    Today I talked with Dodji Seketeli about misc things and noticed that I started 10 year of using Debian GNU/Linux.

    First attempts were on my Amiga 1200 equipped with Apollo 1240/40 expansion board (I had 32/48/64MB of RAM on it) and Fast-ATA controller. After installation of “slink” I was playing with system and then moved to “potato”. In Polish Amiga magazine “eXec” I put my article about installing Debian on Amiga systems and also updated “potato” official installation guide. Those were crazy times. All I had was VGA mono text console because running X11 on AGA graphics chipset resulted in very slow display so it was unusable for any serious use. But I learnt lot of things which I was not able to learn on my user accounts on misc x86 Linux boxes. For example with my friend we connected his Commodore 128D via serial line and used to do email/www/irc from it (via serial->ssh connection).

    It was also first time when I used cross-compiler — I used PentiumII based Linux machine to build Amiga (m68k) kernels. It gave nice speedup (also due to much faster harddisk interface).

    In 2001 I sold my Amiga system and moved to x86 land. Here amount of available Linux distributions was much wider (for Amiga/m68k only Debian was available) but as I knew Debian I decided to stick with it. After years I have to admit that it was one of my best decisions when it comes to computers.

    I even used Debian on 386sx based PC with 5MB of memory — it was nice terminal to my main box :)

    Why Debian and not Red Hat/Mandriva/LFS/Gentoo? I think that this is due to DFSG and that license stuff is very good solved. As a result I do not have to check license of application if I want to hack it. I only need to check does it is in “main” part of repository.

    OK, some people can say that Debian has very long release cycle… But I use “sid” (aka “unstable”) not releases (aka “stable”) so the only thing which touch my systems is sometimes lack of newest software (but usually it lands in “experimental” branch).

    Written by Marcin Juszkiewicz on
  8. 2008 timeline

    2008 is ending. As before it was very good year. I have very nice daughter, our family has new flat. My company has clients with interesting projects.

    January

    February

    March

    April

    May

    June

    July

    August

    • Intel acquired OpenedHand — I got job offer in UK but decided to not move. It was nice to visit London again, too bad that I lacked time to see anything (as usual). The whole trip was crazy (have you ever travelled on the night bus standing for 4 hours straight?)
    • We visited my parents and I was asked (again) what exactly I do for living. So I answered and my mother understood.
    • I resolved problem with Nokia N8x0 tablets emulation — one flag needs to be unset to make Maemo boot in QEMU.

    September

    October

    November

    • Unpacked Progear webpad to check how recent kernels work on it and update it’s configuration in OpenEmbedded a bit.

    December

    Written by Marcin Juszkiewicz on
Page 61 / 106