Vortex86DX Instructions from ICOP

Alexandru T. and I have exchanged a few emails, and he sent through a few helpful suggestions that were provided from ICOP. I have included them below. Thanks Alexandru!

  1. Install Debian 5.0 on a normal PC (using a netinst image, for minimal install)
  2. After installation boot normally from the same PC
  3. Then, take the kernel from ftp://icop.com.tw/DIS_info/VDX/operating_system/VDX_Linux/linux-image-2.6.30-vortex86mx_1.0_i386.deb and then issue the following commands :
# dpkg -i  linux-image-2.6.30-vortex86mx_1.0_i386.deb
# update-initramfs -k 2.6.30-vortex86mx -c
# update-grub
# restart
  1. Then take the hard-drive and install it on the Vortex86DX
  2. When GRUB menu appears, press “e” and modify the boot loader as follows :
root        (hd0,0)
kernel        /boot/vmlinuz-2.6.30-vortex86mx root=/dev/hdb1 ro         --> if hdb1 does not work you can try (hda1= Primary Master or hdc1=Secondary Master)
initrd        /boot/initrd.img-2.6.30-vortex86mx

Then press b to boot

  1. After booting, go to /boot/grub/menu.lst and make modifications from above permanently, so you will boot without any intervention ;)

**Edit:**Bob A. has also sent through some additional resources for your eboxing pleasures.

FYI - this Swedish company, http://www.lweb.se/tag/ubuntu/, has a pre-made ISO for Ubuntu 8.04LTS with the correct kernel for the eBox 3300/3310. It even supports the new (1011) IDE controller on the recent models. You can just put the ISO on a thumb drive, stick it in your eBox, and install normally. No need to install first on another machine, and no need to update the kernel after you’re done. If you’re happy with running 8.04 then this is way easier than any other install option that I’ve found
so far.

Lenny on Ebox 3310A

As a preface, I take absolutely no credit for the below instructions. Stefan L kindly sent these through these instructions on installing Debian on the 3310A. I need to send a special thanks to Stefan, as I receive a lot of emails about the 3310 - but I don’t have one, so I can’t really do much:

The only edit I’ve done is change out the links to my files on S3. If you find these helpful, or want to suggest an alteration, please leave a comment.

Download these files first:

EDIT 16-03-2025: I have since removed these files.

The steps to install Lenny to CF in brief is:

  1. Install i386 version of Lenny to CF on another computer
  2. Add the revised kernel deb with dpkg -i *.deb
  3. Change fstab from hda1 to sdb1 (sda1 if there is no micro sd card) - uuids may be better
  4. Change /boot/grub/menu.lst to:
title           Debian GNU/Linux, kernel 2.6.31.5-vortex86-sl3
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.31.5-vortex86-sl3 root=/dev/sdb1 ro verbose
  1. Probably need to change /boot/grub/device.map
(hd1)   /dev/sda
(hd0)   /dev/sdb

With no micro sd it would be:

(hd0) /dev/sda
  1. delete the section below “# PCI device ….” in /etc/udev/rules.d/70-persistent-net.rules (Otherwise the eBox network gets remapped to eth1 and may not appear if only eth0 is specified in the network settings)
  2. Reboot & pray The next one is a revised initrd for the current Ubuntu 9.10: http://staff.washington.edu/lombaard/initrd.img-2.6.31-14-generic-pata_rdc. (EDIT 12-03-2025: Lost my image that was linked from here). The two changes are: blacklist dm_raid45 & add pata-rdc.ko “blacklist dm_raid45” needs to be added to /etc/modprobe.d/blacklist.conf I managed to boot into gnome desktop without any further problems. I have enabled PCI IDE Bus Mastering, plug&play and IDE native mode in the bios. Hope this saves someone else a few hours of frustration.

Installing Debian 5.0 on Vortex86DX

After writing about compiling a new kernel for the Vortex86DX, I’ve had quite a few people email me asking how I installed Debian in the first place. The installation is actually quite straightforward, but it involved several quirky techniques. After doing another install I decided to keep track of the process of installing Debian 5.0 on my eBox-3300.

The following guide assumes a few things. First, you are currently using Linux and a debian variety (although instructions could be altered if using Windows). Second, your USB shows up as /dev/sdb. Third, your eBox-3300 has the HDD set in Native mode. Forth, you are patient.

  1. Download the custom vmlinuz and initrd.gz files from my site. Also, download the custom deb files we’ll use near the end of installation:
http://cdn.kelvinism.com/ebox/vmlinuz
http://cdn.kelvinism.com/ebox/initrd.gz
http://cdn.kelvinism.com/ebox/linux-headers-2.6.29.3-vortex86dx.deb
http://cdn.kelvinism.com/ebox/linux-image-2.6.29.3-vortex86dx.deb

EDIT 16-03-2025: I’ve since removed these files.

  1. Download an i386 netinst iso:
http://www.debian.org/CD/netinst/
  1. Make sure the USB has an MBR installed:
apt-get install syslinux mtools mbr
install-mbr /dev/sdb
  1. Format the device as FAT32 with whatever tool you like.
  2. Run syslinux on it:
syslinux /dev/sdb1
  1. Mount the USB (or pull it out and plug it in again so it shows up on your desktop), and copy the downloaded vmlinuz, initrd, netinst.iso and deb files onto the USB. There should be a file called ldlinux.sys already; create a file called syslinux.cfg and put the following in it:
default vmlinuz
append initrd=initrd.gz root=/dev/rd/0 devfs=mount,dall rw DEBCONF_PRIORITY=medium
  1. Unmount the USB, and put it in your eBox-3300. When the system boots up initially, hit F11. Select your USB device. Depending how you created the MBR it might come up as saying “MBR FA:”. Press “A”. When 1234F comes up, press “1”. Press enter at the SYSLINUX “boot:” screen.
  2. Proceed as normal through the menu. It will search for an ISO image, and should detect the netinst image you inserted earlier. When you get to the “Load installer components” section, it will complain about no kernel modules found. Select YES. On the next screen you shouldn’t need to load any components, so hit continue. Proceed as normal.
  3. If you are ever asked about starting PC card services, hit NO. Proceed as normal.
  4. Eventually you will hit a screen that says LVM is not available, hit CONTINUE. Proceed as normal.
  5. Near the end it will toss up a list of available kernels. Select either, it shouldn’t matter. When you are allowed to select drivers to include in the initrd, select TARGETED. Proceed as normal.
  6. You might get to a point where it says Install GRUB boot loader on a hard disk. This will fail. That’s ok, just skip it and select “continue without boot loader”.
  7. You will end up on the “Finish the installation” menu. DO NOT finish! We now need to swap out the current kernel with one that works. Scroll down and select “Execute a shell”. Press CONTINUE. Try these steps when the shell prompt appears:
cd hd-media
cp *.deb /target/usr/src/
cp vmlinuz /target/boot/vmlinuz-2.6.26-2.486
cp initrd.gz /target/boot/
cd /target/boot
gunzip initrd.gz
mv initrd initrd.img-2.6.26-2-486
reboot

Your system will now reboot, and it should actually boot correctly. However, you’re using a kernel that doesn’t have any headers or modules, which means you can’t activate anything. Once the box boots up, login and install the included custom kernels:

cd /usr/src
dpkg -i linux-image-2.6.29.3-vortex86dx.deb
dpkg -i linux-headers-2.6.29.3-vortex86dx.deb
reboot

Once the system comes back up, you should be running a spiffy 2.6.29 kernel, with the ability to add modules.

You may want to follow the tuning section from the MicroClient page on Google Groups. I also modified my fstab file to help reduce wear on the CF card:

tmpfs /var/run tmpfs defaults,noatime 0 0
tmpfs /var/lock tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0

Contribution 1: Francois Fleuret emailed through a kind reminder that the qemu-onto-SD card method is a viable option. So, if you want to go the SD route, and have an SD reader, this might be what you’re after!

Basically, install Debian on a SD card with qemu (start qemu with the
install disk iso as cdrom and the SD card as hda), while you are still
in qemu, download and install the kernel deb file

ftp://ftp.icop.com.tw/upload/Shawn/linux-image-2.6.27.9-vortex86dx_2.6.27.9-vortex86dx_i386.deb

then quit qemu, put the SD card in the box and reboot. You are done!

EDIT 16-03-2025: I have since removed these files.

If you want the source file for the above kernels, you can get it from here: 2.6.29-3 source. I recently recompiled the kernel with some extra modules enabled (e.g. ecryptfs), so if you would like to try a newer kernel, you can download my updated kernels too:

http://cdn.kelvinism.com/ebox/linux-headers-2.6.30.4-vortex86dx.deb
http://cdn.kelvinism.com/ebox/linux-image-2.6.30.4-vortex86dx_2.6.30.4.deb

EDIT 16-03-2025: I have since removed these files.

Contribution 2: Trent L has also recompiled a 2.6.28 kernel with wireless extensions built into it, which is what was needed for his wireless card. He has kindly allowed me to distribute them; you can find them here:

http://cdn.kelvinism.com/ebox/linux-source-2.6.28.10_vortex86dx.deb
http://cdn.kelvinism.com/ebox/linux-image-2.6.28.10_vortex86dx.deb
http://cdn.kelvinism.com/ebox/linux-headers-2.6.28.10_vortex86dx.deb
http://cdn.kelvinism.com/ebox/2.6.28.config

EDIT 16-03-2025: I have since removed these files.

Contribution 3: If you have the ebox-3310, you can still read through this, but you may also want to see a suggested installation method and kernels from Stefan.

Contribution 4: Alexandru T. sent through some instructions directly received from ICOP. I’ve added another page with the details. Thanks Alex!

Contribution 5:: Rainbow sent through the solution if your kernel panics with:

it report "kernel bug at fs/buffer.c 1864" and system go mad, even
> "halt" "reboot" take no effect.

Rainbow reported that:

this issue cause by an error Vcore, 0.90v refered by datasheet, and it should be above 0.97.

Contribution 6:: Bob’s also sent through his config file.

Contribution 7: Bob A. has sent through some resources about a special ISO specific for the ebox. It has been added to another page.

Update: I’ve needed to recompile a new Lenny vortex86dx-enabled kernel for 2.6.31.5: image, headers, source and config.

Compiling kernel for Vortex86dx

Update: I’ve written up a short tutorial on the method I used to install Debian 5.0 on this device.

A few months ago I purchased the eBox-3300 from WDL Systems. The system was promptly shipped, and there were no “gotchas” from WDL. The little box fit my exact needs - it is small, and built very, very well. I flew back to Australia and, after some trial and error, installed Debian 5.0 on it. For quite some time I was just using the vmlinuz file provided by WDL, which was provided by ICOP (DMP). This worked well, but there were two issues:

  1. I couldn’t load any modules (e.g. NFS).
  2. I received an annoying email from OSSEC every few hours telling me it couldn’t find modules.dep.

At the end of last week I finally decided to do something about it, and considering this little box is “x86 compliant”, I figured it wouldn’t be too hard to create a new package. It has been several years since I last created a self-compiled Debian-packaged kernel, so I decided to document the process for the next time I do it. These steps are really just a summary - but if you have much Linux experience, they should be enough to guide you. If I’m unclear, just send me an email.

Because the eBox-3300 is embedded, I logically decided to create the package on another system. However, I wanted to maximize the chances of it working, so I installed Debian 5.0 in VirtualBox, updated it, and proceeded.

As a prep, you may need to install ncurses-dev and kernel-package in your build environment.

apt-get install ncurses-dev kernel-package
  1. Download latest kernel from: http://www.kernel.org/pub/linux/kernel/v2.6/
  2. Download the DMP provided patch/config file for 2.6.27.3, copy it to /usr/src. Alternatively, you can borrow my 2.6.29.3 config Make a backup.
  3. Untar kernel, cd into the kernel directory. Issue:
make menuconfig
  1. Configure kernel. If you used my config file, a lot of these should already be ticked.
  • Load alternative config file, I selected mine as /usr/src/config-2.6.27.9-vortex86dx, or if you downloaded the one from me, use config-2.6.29.3-vortex86dx
  • Enable generic x86 support
  • Enable Kernel .config support
  • Device drivers -> Network -> 10 or 100Mbit -> RDC R6040, set at built in
  • Turn off generic IDE support
  • Exit, make sure to save the kernel
  • Verify .config exists. If it doesn’t, copy the config-2.6.x.x-vortex86dx file to .config
  1. Create the kernel debs. In the kernel directory, issue these commands. This will build the kernel image, the headers, and the modules.
make-kpkg --initrd kernel_image kernel_source kernel_headers modules_image
  1. Make coffee
  2. Copy the debs to your running ebox by sftp (or usb, or whatever is available)
  3. Install kernel in eBox-3300
dpkg -i linux-source-2.6.29.3-vortex86dx.deb
dpkg -i linux-headers-2.6.29.3-vortex86dx.deb
dpkg -i linux-image-2.6.29.3-vortex86dx.deb
  1. Reboot. If you want my compiled kernel/sources/header .DEBs, just shoot me an email and I’ll make them available.

Summary: My only gripe about this little box was the lack of an easily customizable kernel, but no more. I’m still very happy with this $150 purchase.