Програмиране, линукс, хардуер и може би Аз :)
RSS icon Email icon Home icon
  • PC Engines alix3d3 with Debian Lenny

    Posted on June 4th, 2009 DataMatrix 2 comments

    I have recently bought an alix 3d3 board from ReloadBG. It’s intended to be used in my robotics projects. Since I am a Linux user and Debian distro family fan, I’ve decided to put Debian Lenny (Debian 5) on it. First of all I have made a minimal installation on a 4GB flash stick using the debootstrap ( http://packages.ubuntu.com/jaunty/debootstrap , http://packages.debian.org/lenny/debootstrap ) program. You can read about the process here: http://darwish-07.blogspot.com/2007/08/constructing-minimal-debian-linux-usb.html. After going to a chroot-ed shell I run grub-install –root-directory=/ /dev/sdb to setup grub on the flash stick. There isn’t anything complex here. If you put the flash stick in the alix 3d3, plug in a monitor and give it some power (a standart 12V adapter works good) you would most probably see the kernel loading.

    On the other hand everything goes wrong as I decided to boot without the monitor (vga port empty). I’ve waited for a few minutes for the board to reply my pings via the ethernet port (I’ve set up a static ip address in the interfaces file). I’ve plugged back the monitor and the screen was just showing “Starting Up… Detecting EDD (edd=off to disable)… ok” or something like that and nothing more. After 3-4 minutes it resumed normal boot. I’ve read somewhere that this is a but in the EDD module in the kernel, elsewhere that the alix phoenix bios is to blame (some vga ddc bug). I’ve even read that you should turn off “HPET” in the kernel using kernel paramters, but it turned out that the kernel parameter for disabling hpet or edd doesn’t work. Firstly I was thinking how to trick the system into thinking that there is a monitor still attached, asked arount how to do it. Some people and sources from the net pointed in usign some 75 Omh resistors to pull some of the pins to ground, but I’ve decided to try something else first (I’ve even read at ubuntuforums that on alix3c3 you need to put a paperclip between 2 of the vga pins, but that seemed desperate). I’ve went with the building a custom kernel option. I used this article as guidence: http://www.falkotimme.com/howtos/debian_kernel2.6_compile/. You can follow that guide. I used http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.4.tar.gz. Keep in mind that you need about 500-600MB of free space. It turned out that you also need zlib headers ( zlib-dev or currently in jaunty the package is
    zlib1g-dev ). I’ve removed EDID in firmware and also disabled HPET and EDD. You can download the complete config file here: config

    I’ve started the build process, it took about 1 hour 30 minuts on a AMD Athlon 64 X2 (2.3GHz per core); 2GB RAM; Debian Lenny system. Build time may vary. In the end I ended up with having a .deb fire in my /usr/src directory. You can download the compiled kernel here: linux-image-2.6.29.4_datamatrix.alix3d3.1.0_i386.deb. All that is left to do is to install the package using dpkg, updating initrd image using mkinitramfs (debian/ubuntu) and modifying /boot/grub/menu.lst to add the new kernel. It boots about as fast as before (~40-50 seconds) and has a bit more verbose debugging, but I think it would be useful.

    My “hardware”: http://img.datamatrix-bg.net/robotics/IMG_1222.JPG

    Comments are welcome!

     

    2 responses to “PC Engines alix3d3 with Debian Lenny”

    1. Did you try latest BIOS from PCEngines?

      http://www.pcengines.ch/file/alixbio7.zip

      …Fix LEDs, VGA DDC issue (boot hang), free up MFGPT timers…

    2. There are three files in there, I’m not entirely sure which one to use and how.

      Edit: ok, I understood what the third one does (.com file), but I’m unsure of which version of the firmware to use (alix0.bin or alix2.bin).

    Leave a reply