1. My OpenEmbedded environment II

    Year ago I wrote post about my directory structure for all my work with OpenEmbedded. Recently I discovered that some people on #oe IRC channel follow this too. But they had some questions so I decided to write this post.

    I use ~/devel/ to keep all things:

    • bitbake/ — Subversion tree of BitBake
    • build/ — place where I do all OE builds — for example:

    • build/native/ — native i686 build for developing OPIE

    • build/wrt/ — build for my OpenWRT powered router

    • doc/ — misc documentation (QT/E, Qtopia and other)

    • oe/ — OpenEmbedded directory

    • oe/org.openembedded.dev/ — development repository

    • oe/branch.oz354x/ — frozen repository for release
    • oe/hrw-packages/ — my misc testing packages

    • openwrt/ — copy of OpenWRT build system

    • opie/ — development for OPIE
    • sources/ — sources for builds:

    • cvs_dir/ — cvs checkouts

    • svn_dir/ — subversion checkouts
    • git_dir/ — git trees
    • dl_dir/ — archives

    Each build dir contain those entries:

    • packages/ — symlink to packages tree of proper branch (for short paths when I play with bitbake -b)
    • conf/ — all configuration files:

    • site.conf — contain all paths (CVSDIR, SVNDIR, GITDIR, DL_DIR, BBFILES and common variables like BBINCLUDELOGS

    • local.confDISTRO setting and build related things like SRCDATE
    • auto.confMACHINE entry

    Split into those 3 files give me possibility to start with new build fast. As I use multimachine thing only change to auto.conf is needed to build for other target device (file is generated with echo command). All common settings are in one site.conf file so for new build I only need to create ~/devel/build/newbuild/conf directory, copy site.conf& local.conf, generate auto.conf, edit local.conf and can start new build.

    I hope that someone will find that info useful.

    My site.conf:

    DL_DIR = "/home/hrw/devel/sources/dl_dir/"
    CVSDIR = "/home/hrw/devel/sources/cvs_dir/"
    GITDIR = "/home/hrw/devel/sources/git_dir/"
    SVNDIR = "/home/hrw/devel/sources/svn_dir/"
    
    PKGDIR = "/home/hrw/devel/oe/org.openembedded.dev/packages/"
    BBFILES = "${PKGDIR}/*/*.bb"
    
    BBINCLUDELOGS = "yes"
    PARALLEL_MAKE = "-j4"
    
    Written by Marcin Juszkiewicz on
  2. Debian + Firefox browser + me = Argh!

    As I already wrote I switched to amd64 platform and reinstalled Debian on it. Everything works now… except Firefox.

    Yes Firefox… I understand that Debian developers decided to not ship it due some licensing problems. But there was discussion about Iceweasel instead of it — too bad that it was only discussion ;( Today I have few possibilities:

    • use Firefox 1.5.0.x which is old
    • forget about Firefox and stick to Konqueror
    • switch to Ubuntu which I do not want to do as I use Debian for years
    • build Firefox 2.0 from source
    • build Firefox 2.0 from Ubuntu sources

    Probably will select one of last ones when will find some free time.

    And Opera does not provide amd64 packages too ;(

    UPDATE: I have Firefox 2.0 working now. To get it installed and working few steps need to be done:

    • add experimental into APT sources
    • upgrade libc6 and libgtk2 to ones from experimental
    • fetch firefox and libnss3 libnspr4 from Ubuntu
    • install fetched packages
    Written by Marcin Juszkiewicz on
  3. CompactFlash 802.11g card

    Some time ago one company contacted me. They have 802.11g CF card which they want to put on market but first want to get it supported in all Zaurus distributions. Driver is available but only for 2.4 kernel, and OpenZaurus use 2.6 on most of models.

    I got driver source (without license information inside) and started hacking on it. During searching for patches I discovered that there are newer versions of Marvell CF8385 driver but due to license (or rather lack of it) you can not get sources..

    Weekend will be related to driver hacking — having 54Mbps instead of 11Mbps is something nice ;)

    Card info:

    Socket 1:
      product info: "Marvell", "802.11 CF", "ID: 04", ""
      manfid: 0x02df, 0x8103
      function: 6 (network)
    

    This is reference card, final version will be branded by one of popular manufacturer (and it is not Linksys or Sparklan).

    Written by Marcin Juszkiewicz on
  4. OpenWRT WhiteRussian RC6

    My home router is powered by OpenWRT WhiteRussian RC5 which I installed months ago. For my usage it is ok, but as there is a new release I decided to look does it is worth upgrading.

    Their website give access to Changelog but as ‘svn log’ output nearly which is bad because they write useless comments like “fix dependency” or “oops... typo :)” so you can’t find out what was really changed. And you can not upgrade with ipkg update; ipkg upgrade — reflashing is required.

    Looks like sooner or later I will give a try to DD-WRT or other distro.

    Written by Marcin Juszkiewicz on
  5. Sound is working on DFI RS482

    Nearly week ago decided to stop fighting with getting sound working on my new DFI RS482 mainboard and reported bug in Linux bugtracker. After few days and few patches from Dan Carpenter I have sound working. No more atiixp: codec read timeout messages, just working music.

    If someone has this problem then here is solution (until it will get resolved finally in mainline):

    1. unpack kernel sources
    2. fetch this patch
    3. build kernel and modules
    4. modprobe snd-atiixp ac97_codec=0
    5. run audio player

    Now it is time to wait until this will go into mainline.

    Written by Marcin Juszkiewicz on
  6. I got Progear 1050HX+ webpad

    Yesterday I got Progear 1050HX+ webpad from one of OpenZaurus users. It has Transmeta Crusoe CPU (TM3200/400MHz), 2.5” harddisk inside, Orinoco WiFi card (so no WPA for me) and the best part: 1024x768 touchscreen panel. After booting I got very stripped installation of MS Windows 98SE and played a bit. Due to fact that it has USB ports I connected my PS/2 -> USB converter and not used PS/2 keyboard — it’s nice platform for PuTTy or web browser (but this will be slower due to small amount of RAM).

    Sharp Zaurus SL-C3000 on left, Progear 1050 HX+ on right
    Sharp Zaurus SL-C3000 on left, Progear 1050 HX+ on right

    When I will get free time I will install Linux on this thing. First Debian to get it working and then will work on support for progear in OpenEmbedded.

    Written by Marcin Juszkiewicz on
  7. OpenMoKo phone

    Yesterday during “Open Source in Mobile” conference in Amsterdam First International Computing’s (FIC’s) introduced “Neo1973” or FIC-GTA001 — the first phone based on the open-source “OpenMoKo” platform.

    Why I’m writing about it? It is that SuperSecretProject device which Mickeyl Lauer was talking about on OEDEM. We were informed that this will be Open, will have some wireless possibilities (but no Irda) but it was nearly impossible to get some more informations (you know: NDA etc). From mickeyl’s talks and posts on his website it was clear that this device will use GTK+ 2.0 as base toolkit. They decided to do not use closed source Qtopia Phone Edition but writing own framework instead.

    The idea of phone device which has phone software installed and rest depends on what user want sounds delicious for me. And as the phone software was built with OpenEmbedded maybe there will be some discounts for us, developers :)

    Written by Marcin Juszkiewicz on
  8. How to flash BIOS without floppy disk drive

    During building my current home PC I decided to get rid of FDD and disabled it in BIOS, did not connect cable and power into drive (which is still in computer case due my laziness). But how to upgrade BIOS without floppy?

    There are some solutions:

    1. Create floppy image and burn it to CD

    2. Create floppy image and use MEMDISK

    Where to get floppy image? Good one is FreeDOS fdboot.img — mount it via loop, remove directories, put flasher and bios image, umount. Then time for another step.

    If you want to go CD way, you need to start CD writing program (I used K3b) and use you floppy image as bootable image. No need for any other files — you only flash 1.4M. Then boot computer from CD, select ‘Safe Mode’ in FreeDOS and run flasher.

    Memdisk way is a bit simpler. You need to download syslinux package from your distro or built it (I used Debian package). Then you have to find memdisk binary (/usr/share/syslinux/ in Debian) and copy it to /boot/. Then copy floppy image into same directory. Next step is configuration of boot loader (I use GRUB). Add new entry with memdisk as kernel and floppy image as initrd. Then reboot, selecting proper entry from list and select ‘Safe Mode’ in FreeDOS and run flasher.

    Small modification of second step can be skip of configuration editing and usage of GRUB shell to do same.

    I hope that someone will find that howto useful.

    UPDATE: in some places I found informations that memdisk is not good way to reflash BIOS — some flashers refuse to work or breaks.

    Written by Marcin Juszkiewicz on
Page 91 / 106