Dell Axim x50v Linux

This version is based on the release by JeDi from the aximx50-port mailing list.

build.txt - build shell script
x50v-linux.tar.bz2 - the working binary package ( zImage, initrd, rootfs & HaRET )
kernel26.tar.bz2 - the kernel source tree (modified kernel from handhelds.org)

Installation instructions:

  • Download and extract the x50v-linux.tar.bz2 file
  • Copy files zImage, initrd, default.txt & haret_uart.exe onto your Axim, in for example a new folder "\Built-in Storage\Linux"
  • Copy x50v-rootfs.img to the top-level of your SD card
  • Enable mirror-mode, execute haret_uart.exe and press "Run"
  • I also included the kernel source code and build script above, the build script assumes you have mounted initrd as /mnt/loop0 and x50v-rootfs.img as /mnt/loop1.

    Apart from getting a working kernel build environment / configuration I havent changed anything else, the touchscreen still only controls 1/4 of the screen.

    *UPDATE* This is a new version containing a workaround by JeDi to make a semi-accurate touchscreen work x50v-linux.tar.bz2

    I just bought the Gomadic Dell Axim x50v DB9 Cable and with the help of a DB9 Female to Female cable got it talking to my PC. Here is a dump of the first boot I captured with it (minus alot of noise)!!

    CODE:
    1. Uncompressing Linux.................................................................... done, booting the kernel.
    2. Linux version 2.6.12-hh2 (root@jdierckx) (gcc version 3.4.1) #32 Mon Jan 9 15:58:29 CET 2006
    3. CPU: XScale-PXA270 [69054114] revision 4 (ARMv5TE)
    4. CPU0: D VIVT undefined 5 cache
    5. CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
    6. CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
    7. Machine: Dell Axim X30
    8. Memory policy: ECC disabled, Data cache writeback
    9. Run Mode clock: 208.00MHz (*16)
    10. Turbo Mode clock: 416.00MHz (*2.0, active)
    11. Memory clock: 208.00MHz (/2)
    12. System bus clock: 208.00MHz
    13. Built 1 zonelists
    14. Kernel command line: root=/dev/ram0 rw ramdisk_size=16384 keepinitrd init=/linuxrc console=tty0 console=ttyS0,115200n8
    15. PID hash table entries: 512 (order: 9, 8192 bytes)
    16. Console: colour dummy device 80x30
    17. Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    18. Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    19. Memory: 64MB = 64MB total
    20. Memory: 61012KB available (1743K code, 348K data, 88K init)
    21. Mount-cache hash table entries: 512
    22. CPU: Testing write buffer coherency: ok
    23. checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
    24. NET: Registered protocol family 16
    25. platform_device_register asic3
    26. platform_device_register x30-core
    27. platform_device_register pxa2xx-keys
    28. platform_device_register pxa2xx-mci
    29. platform_device_register pxa2xx-udc
    30. platform_device_register pxa2xx-fb
    31. platform_device_register pxa2xx-uart
    32. platform_device_register pxa2xx-uart
    33. platform_device_register pxa2xx-uart
    34. platform_device_register pxa2xx-i2c
    35. platform_device_register pxa27x-ohci
    36. NetWinder Floating Point Emulator V0.97 (double precision)
    37. devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
    38. devfs: boot_options: 0x0
    39. JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
    40. Initializing Cryptographic API
    41. pxa2xx-fb pxa2xx-fb: machine LCCR0 setting contains illegal bits: 00300879
    42. pxa2xx-fb pxa2xx-fb: machine LCCR3 setting contains illegal bits: 00300000
    43. Console: switching to colour frame buffer device 60x40
    44. ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART
    45. ttyS1 at MMIO 0x40200000 (irq = 21) is a BTUART
    46. ttyS2 at MMIO 0x40700000 (irq = 20) is a STUART
    47. io scheduler noop registered
    48. io scheduler anticipatory registered
    49. io scheduler deadline registered
    50. RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
    51. IPAQ flash: probing 32-bit flash bus, window=0
    52. Probe at base[0x00](0x00000000) past the end of the map(0xffffffff)
    53. Probe at base[0x00](0x00000000) past the end of the map(0xffffffff)
    54. Probe at base[0x00](0x00000000) past the end of the map(0xffffffff)
    55. NET: Registered protocol family 2
    56. IP: routing cache hash table of 512 buckets, 4Kbytes
    57. TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    58. TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    59. TCP: Hash tables configured (established 4096 bind 4096)
    60. NET: Registered protocol family 1
    61. mmcblk0: mmc0:0001 000000 62720KiB
    62. /dev/mmc/blk0: p1
    63. RAMDISK: Compressed image found at block 0
    64. EXT2-fs warning: checktime reached, running e2fsck is recommended
    65. VFS: Mounted root (ext2 filesystem).
    66. Freeing init memory: 88K
    67. Setting pxa register LCCR1_BLW to 19...
    68. open("/dev/mem"): No such file or directory
    69. Setting pxa register LCCR3_PCD to 4...
    70. open("/dev/mem"): No such file or directory
    71. Initial RAM Disk started ...
    72. Showing dmesg messages (level 8)
    73. Mounting /proc...
    74. Mounting the fat32 SD card...
    75. Mounting the ext2 rootfs image...
    76. loop: loaded (max 8 devices)
    77. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
    78. Moving initrd to /mnt/initrd
    79. pivot_root: pivot_root: No such file or directory
    80. Setting up RAMFS, please wait...
    81. Can't find /dev in /etc/fstab
    82. mount: Mounting devpts on /dev/pts failed: No such file or directory
    83. Can't find /sys in /etc/fstab
    84. Can't find /mnt/ramfs in /etc/fstab
    85. umount: /mnt/initrd: No such file or directory
    86. Setting up some devices
    87. ln: /dev/h3600_ts: File exists
    88. ln: /dev/h3600_tsraw: File exists
    89. ln: /dev/tty0: File exists
    90. ln: /dev/tty1: File exists
    91. ln: /dev/tty2: File exists
    92. ln: /dev/tty3: File exists
    93. ln: /dev/tty4: File exists
    94. ln: /dev/tty5: File exists
    95. ln: /dev/fb0: File exists
    96. ln: /dev/ttyS0: File exists
    97. ln: /dev/ttyS1: File exists
    98. ln: /dev/ttyS2: File exists
    99. ln: /dev/dsp: File exists
    100. ln: /dev/mixer: File exists
    101. Using /h4000_ts.ko
    102. h4000_ts: version magic '2.6.12-hh2 preempt ARMv5 gcc-4.0' should be '2.6.12-hh2 preempt ARMv5 gcc-3.4'
    103. insmod: cannot insert `/h4000_ts.ko': Invalid module format (-1): Exec format error
    104. Using /tsdev.ko
    105. tsdev: version magic '2.6.12-hh2 preempt ARMv5 gcc-4.0' should be '2.6.12-hh2 preempt ARMv5 gcc-3.4'
    106. insmod: cannot insert `/tsdev.ko': Invalid module format (-1): Exec format error
    107. Using /evdev.ko
    108. evdev: version magic '2.6.12-hh2 preempt ARMv5 gcc-4.0' should be '2.6.12-hh2 preempt ARMv5 gcc-3.4'
    109. insmod: cannot insert `/evdev.ko': Invalid module format (-1): Exec format error
    110. Executing /sbin/init...
    111. INIT: version 2.86 booting
    112. Creating initial device nodes...
    113. WARNING: Couldn't open directory /lib/modules/2.6.12-hh2: No such file or directory
    114. FATAL: Could not open /lib/modules/2.6.12-hh2/modules.dep.temp for writing: No such file or directory
    115. Setting up IP spoofing protection: rp_filter.
    116. Configuring network interfaces... done.
    117. Starting portmap daemon: portmap.
    118. Sat Nov 19 19:56:00 UTC 2005
    119. Configuring e2fsprogs-e2fsck
    120. ln: /sbin/fsck.ext2: File exists
    121. ln: /sbin/fsck.ext3: File exists
    122. postinst script returned status 1
    123. ERROR: e2fsprogs-e2fsck.postinst returned 1
    124. Configuring e2fsprogs-mke2fs
    125. ln: /sbin/mkfs.ext2: File exists
    126. ln: /sbin/mkfs.ext3: File exists
    127. postinst script returned status 1
    128. ERROR: e2fsprogs-mke2fs.postinst returned 1
    129. Nothing to be done
    130. INIT: Entering runlevel: 5
    131. Starting Dropbear SSH server:
    132. Starting advanced power management daemon: No APM support in kernel
    133. (failed.)
    134. Starting irattach: .
    135. Starting PCMCIA services: modprobe: could not parse modules.dep
    136. Starting syslogd/klogd: done
    137. Starting Bluetooth subsystem:
    138.  hcid sdpdCan't open HIDP control socket: Address family not supported by protocol
    139. hiddCan't open RFCOMM control socket: Address family not supported by protocol
    140.  rfcomm.
    141. Starting the OBEX Push daemon: opd.
    142. Starting Opie in 5 seconds... press key to interrupt.
    143. You seem to already have a /home/root/Applications directory.
    144. Assuming it is the Opie Applications directory. Exiting.
    145. Starting Opie....
    146.  
    147. Familiar Linux v0.8.3-prerelease-snapshot-20051109 h3900 ttyS0
    148.  
    149. h3900 login: