1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. BUG has arrived

    On Thursday I got package from DHL courier (one note for future: if you need to send me something by courier service avoid Fedex). Inside was nice box with BugLabs logo.

    After unpacking I got BUG, or to be more precise:

    • BUGbase
    • BUGview module
    • BUGmotion module
    • VonHippel module
    • BUGlocate module
    • external antenna for BUGlocate GPS
    • power supply
    • SD->microSD adapter
    • 2GB microSD card

    This is how modules look:

    Base and modules
    Base and modules

    VonHippel is interesting module as it gives access to I²C, serial, I²S, DAC, ADC, GPIO, SPI, power signals. It is named after MIT professor Eric von Hippel (because he thought of it!) author of “Democratizing Innovation”. This module allows to connect just about anything electronic to the BUG. Interview with professor can be seen on BUG Blogger website.

    VonHippel module
    VonHippel module

    Size is comparable with Nokia N810 tablet. Would be nice to get 800x480 screen for BUG (i.mx31 has OpenGL acceleration).

    BUGbase on bottom, N810 on top
    BUGbase on bottom, N810 on top
    BUGbase on bottom, N810 on top
    BUGbase on bottom, N810 on top

    This is usual configuration when I work with device (just screen and VonHippel):

    Top view with screen and VH attached
    Top view with screen and VH attached

    There is 64MB of flash in device but by default it boots from microSD card (2GB one was in package). This allows for easy rootfs tweaking/updating. Kernel flashing takes lot of time but we plan to work on other methods of booting kernel.

    microSD, USB, Handylink, power switch, power LED, power. USB Host in VonHippel
    microSD, USB, Handylink, power switch, power LED, power. USB Host in VonHippel

    With all modules plugged in it starts to be thick… You can notice 4 function keys on left side, joystick and button on right and monochrome screen between. By default it shows clock and icons of plugged modules but with joystick some system menu can be used.

    Front view with all modules plugged in
    Front view with all modules plugged in

    Whole device is powered by BUG Linux which is based on Poky ‘pinky’ release with some updates. Access to all modules is only from Java at that moment. But that not mean that it is closed device — everything in BUG and its modules is open and free. There is a WiFi module (not released yet) which uses chipset from “libertas” family (same family as the one in OLPC).

    I am curious what will future bring for this tool.

    Written by Marcin Juszkiewicz on
  7. Beavers invasion

    Today my workplace was invaded by beavers. But they are not normal beavers but Poky Linux ones.

    At the beginning there was just one of them — he came and checked clock to know which timezone is in use here:

    First was one
    First was one

    Few minutes later his companies arrived and synchronized clocks:

    Synchronizing clocks
    Synchronizing clocks

    After few minutes they invaded my working place…

    Invasion!
    Invasion!

    Good that they are friendly and came to help me support Poky Linux based systems :)

    Written by Marcin Juszkiewicz on
  8. Alix.1c and Koala MiniPC case

    Today I got case for Alix.1c mainboard. For reminding: this is PC Engines board in mini-ITX format, powered by AMD Geode LX800.

    Package arrived from Koan Software and contained one of their products: MiniPC 2PCI case.

    Package contents

    There were many addons in the box:

    • 60W 12V AC adapter
    • 2.5” ATA -> Slim DVD/CD adapter
    • PCI riser for 2 slots
    • wall mounting elements
    • 2.5” ATA 3.5” ATA adapters
    • bracket for 3 DB9 connectors (additional serials anyone?)

    AC adapter is added because case contains small PSU with few connectors. I do not use it because Alix.1c mainboard consists similar one already (and lack ATX power connector).

    Inside view

    Inside case there is a lot of space available:

    Inside view
    Inside view

    There are mounting places for 3.5” HDD, 2.5” HDD and slim DVD/CD drive (signal adapter attached). There are also 2 fans (60mm each) but I left them not connected (Alix does not require cooling and lack sockets for fans).

    Front panel

    Front view
    Front view

    Front panel has 2 USB sockets, HDD and power leds and power button. As usual in mini-ITX cases there is no Reset button. Not present in my case (but available as option) is CompactFlash slot accessible from front. I did not ordered it because Alix has such one integrated.

    Summary

    Case is very high quality made — no sharp edges, easy access to all peripherals. And all those addons which are in a box makes overall cost smaller. If someone is searching for good mini-ITX case then MiniPC ones are good choice (and there is smaller version without place for PCI cards).

    PCI 3.3V :(

    As I wrote before I plan to make router based on Alix.1c — but after putting it into case I discovered one problem with board itself. It has 3.3V PCI slot so I have no use of PCI riser which was added to case. Will search for VIA one because it is universal (3.3V/5V) so I will get slots (but have to remember that cards have to accept 3.3V signals).

    Written by Marcin Juszkiewicz on
Page 61 / 106