Handhelds.org - Open source for handheld devices

UserPreferences

x50vHowTo


Dell Axim X50/X51(v) Howto's

Home | Hardware | Downloads | Documentation | How To | Pictures and Screenshots | [WWW]x50(v) Mailing List

Contents

Download

Angstrom/GPE images by Patrick Steiner:

Old downloads:

Boot and log in via USB using Angstrom image

Backup (only needed on X50(v))

Before you begin, do a full backup to either your SD-Card or your CF-card. This page contains all you need to know about x50v native bootloader and backing up the ROM: [WWW]http://www.aximsite.com/boards/showthread.php?t=112267

On X50(v), running Haret will have the same effect as a hard reset, so if you don't backup, you will lose your data. You have been warned.

Booting Instructions

  1. Follow [WWW]README instructions.

  2. on X50v/X51v, enable Mirror Mode(Start>Settings>System>Mirror).

  3. Place Axim in cradle.

  4. Boot using HaRET.

  5. Wait for 30 secondes, remove axim from cradle and place it back (Axim usb0 now detected).

Log in from Linux

  1. ifconfig usb0 10.0.0.1 (configure PC side)

  2. ssh root@10.0.0.2

  3. enter password "x50v-linux" You should now be logged in to your x50(v)/x51(v).

  4. On X51(v), to go back to Wince, just do shutdown -r now and when prompted, press mail key. Be careful, do NOT press contacts key as it will restore factory settings !!!! You can also do  shutdown -h now  and then press the reset button.

NFS setup on your computer (deprecated ?)

The current initrd.gz will attempt to mount the rootfs from a NFS share at 10.0.0.1/home/x50v-root

If the nfs mount fails, it tries to mount the rootfs from SD card

On PC, as root(su), extract the .img file to /home/x50v-root/

mount -o loop x50v-rootfs.img /home/x50v-root/

/etc/exports

/home/x50v-root 10.0.0.*(rw,insecure,sync,no_wdelay,no_root_squash)

Mount system locally to test that NFS share is working

mount -t nfs 10.0.0.1:/home/x50v-root mdir

Setting up usbnet on the desktop (deprecated ?)

Usbnet on the desktop can be quite tricky. As mentioned above with Setting up the desktop for root over NFS you'll be too slow every time with manual configuration of usbnet. See the UsbNet page for automatic setup instructions.

Manually compile a kernel

1. Get 2.6 Kernel sources from the handhelds.org cvs.

Login:

   cvs -d :pserver:anoncvs@anoncvs.handhelds.org:/cvs login

When prompted for a password, type 'anoncvs'

Now checkout the 2.6 kernel source

   cvs -d :pserver:anoncvs@anoncvs.handhelds.org:/cvs checkout -d linux-2.6.x-hh linux/kernel26

At a later date, if you want to recompile your Kernel, download updates 1st by using "cvs update -d" instead of the previous line.

2. Generate .config in the root of the kernel dir.

You can use the default config file provided for Axim X50/X51(v) by copying it to your kernel source root folder :

    cp arch/arm/configs/aximx50_defconfig .config

There are a number of different ways to edit the .config file :

4. Add Cross compiler toolchain for ARM to your PATH Get a ready to go precompiled toolchain here [FTP]ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2 extract it "tar -xvjf arm-linux-gcc-3.4.1.tar.bz2" within the newly extracted folder will be a bin directory. Add this to your PATH.

If you are using a Debian system, a cross-build environment can also be installed from [WWW]http://www.emdebian.org/.

5. Make Your Kernel

A simple

   make

should be enough. If you are using emdebian build environment, use :

   CROSS_COMPILE=arm-linux-gnu- make

When completed, /linux-2.6.x-hh/arch/arm/boot/ should contain a zImage file (Your Kernel).

6. Make and install your modules

You need to be root for this :

   su
   [CROSS_COMPILE=arm-linux-gnu-] make DEPMOD=echo \
              INSTALL_MOD_PATH="Destination Path(Make A Libs Dir)" modules_install

Build a Debian System

To build and boot a Debian system for Axims, you have to :

0. Have a debian workstation.

1. Install qemu as described at [WWW]http://wiki.debian.org/QemuUserEmulation?highlight=%28qemu%29.

2. Make and format partitions on an 1GB SD card. For example, if your SD card is recognized as /dev/sdd :

   fdisk /dev/sdd -> create a swap partition (/dev/sdd1) and your root partition (/dev/sdd2).
   mkfs.ext3 /dev/sdd2

3. mount /dev/sdd2 <somewhere>

4. Install the Debian base packages with :

   debootstrap --foreign --arch arm sid <somewhere> http://ftp.debian.org/debian

5. Add the statically built qemu :

   mkdir -p <somewhere>/usr/lib/qemu-binfmt
   cp /usr/bin/qemu-arm-static <somewhere>/usr/lib/qemu-binfmt/arm

6.

     chroot <somewhere>

7. Finish the root intallation with :

   /debootstrap/debootstrap --second-stage

8. Do a minimum of configuration :

     T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
        /dev/mmcblk0p2  /       ext3    defaults  0       0
        /dev/mmcblk0p1  none    swap    sw        0       0
        proc            /proc   proc    defaults  0       0

9. Modify the kernel command line in your HaRET script to :

   set cmdline "mem=64M console=ttyS0,115200n8 root=/dev/mmcblk0p2"

10. Build a kernel zImage and initrd.img from the Handhelds CVS (see here).

11. Configure your kernel (possibly using an existing config file) and build the Debian kernel package with :

    fakeroot make-kpkg --uc --us --initrd kernel_image --zimage --arch arm

12. Copy this package in your chroot jail (<somewhere>/usr/src is a good choice) and install it with :

    dpkg -i linux-image*.deb

13. Copy the /boot/vmlinuz-* and /boot/initrd.img-* files in the HaRET folder of your PDA, respectively as zImage and initrd.gz.

14. Exit your chroot session, unmount your SD card and insert it in your PDA.

15. Boot using HaRET. You can log in thanks to the serial line using gtkterm or minicom.