Handhelds.org - Open source for handheld devices

UserPreferences

HpJornada56x


HP Jornada 56x Series

Linux support for the 568 seems to be doing rather well. See the [WWW]official Jornada 56x project page to check the current status.

A howto can be found [WWW]here. (recovered from archive.org)


Note: The above document is currently unavailable (March 2007). Here is a replacement; feel free to modify or improve it.

To be improved soon...

Supported devices

hp Jornada 564/565 - 32MB RAM
hp Jornada 567/568 - 64MB RAM

Required tools

Hardware

- hp Jornada 56x
- original or quality aftermarket serial cable/cradle (preferably tested) - it will NOT work with USB
- AC power adapter
- A CF card (at least 16MB) formatted with FAT16
- A 'helper machine' with a working 9-pin RS-232 serial port

Software

You will find the necessary tools [WWW]here; read/ask on the mailing list about the current status and the latest available images.

- bootblaster.exe from handhelds.org (details below) on the CF card
- bootldr from handhelds.org (details below) on the CF card
- Linux *.jffs2 image and the bootldr from handhelds.org on the 'helper machine' (details below)

- a terminal emulator program (Unix: minicom; Windows: hyperterminal) on the 'helper machine' (provided by your OS, not by handhelds.org)

Installation

I assume that you have a working Windows CE installed on the Jornada.

1.) Back up your data from Windows CE

2.) Copy the bootblaster-j56x.exe and the bootldr to the CF card.
You must choose one of the boot loaders according to your Jornada type:
- 564/565: bootldr-j56x-32M-2.21.12.bin
- 567/568: bootldr-j56x-64M-2.21.12.bin

3.) Execute the bootblaster:
- Save the Windows CE bootable image to the CF card for fallback
- Flash the boot loader to the ROM
For details, see [WWW]Installing bootloader using CF/MMC/SD

Find a comfortable place for the PDA on your desk, making sure the cables are safely arranged - a disconnect can lead to unrecoverable damage of the Jornada.

4.) Reset the device (reset button on the back of the Jornada). Remove the main and the backup battery and wait a few seconds.

5.) Connect the serial cable to the PC and start your terminal emulator with the following settings:
- Baud rate (Bits per second): 115200
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: None

You may want to turn on data capture if you want to keep the output.

6.) Power on the device without the batteries (plug in the power cord or put the device on the serial cradle) and watch the terminal as the boot loader comes up. You have a few seconds to hit Esc or Backspace (theoretically, any key except Enter).

You will see something like this:

>> Compaq OHH BootLoader, Rev 2-21-11 [BIG_KERNEL] [MONO]
>> 03-10-07_18:08

>> Last link date: Tue Oct  7 18:08:14 CEST 2003
>> Contact: bootldr@handhelds.org

Cpu company: INTEL
Cpu Architecture: StrongArm
Cpu Part: SA1110
processor ID: 6901B118
>> (c) 2000-2001 Compaq Computer Corporation, provided with NO WARRANTY under the terms of 
the GNU General Public License.
>> See http://www.handhelds.org/bootldr/ for full license and sourcesPress Return to 
start the OS now, any other key for monitor menu

params_eval: prefix_in =bootldr:
params_eval: just_show =00000000
boot> 

7.) The boot loader will stop at a boot> prompt. Type 'load root'

You will see something like this:

boot> load root

partition root is a jffs2 partition: 
 expecting .jffs2 or wince_image.gz.
 After receiving file, will automatically uncompress .gz images
loading flash region root
using ymodem
ready for YMODEM transfer...

8.) Upload the Linux jffs2 image file via ymodem transfer.
- If you receive an "erase error!" message, you may have installed the bootldr-j56x-64M-2.21.12.bin on a 32 MEG system. If you have installed the wrong bootldr you will need to install the correct one.
At the boot prompt, load the correct bootldr with 'load bootldr'
Then retry 'load root' and uploading the Linux image.

The upload takes approximately 25 minutes.
After the upload of the Linux image is done, flashing will start automatically.
During flashing the Linux image, you will see something like this:

00FC0000 bytes loaded to C0000400

programming flash...erasing ...
Erasing sector 00040000
Erasing sector 00080000
Erasing sector 000C0000
Erasing sector 00100000
Erasing sector 00140000
Erasing sector 00180000
Erasing sector 001C0000
Erasing sector 00200000
Erasing sector 00240000
...
addr: 00FC0000 data: 20051985
addr: 00FD0000 data: FFFFFFFF
addr: 00FE0000 data: FFFFFFFF
addr: 00FF0000 data: FFFFFFFF
verifying ... 
formatting ... done.
boot> 

9.) Boot Linux: type 'boot' at the bootldr prompt. It will look like this:

boot> boot

booting jffs2...
booting boot/zImage from partition >root<
Scanning all of flash for your JFFS2 convenience. Est Time: 6-12 seconds!
build_list: max = 01FBFFBC
..
dir entries = 000007B1
frag entries = 0000260B
+4 increments = 00000000
+file_offset increments = 00002DFB
loaded file of size = 0x0012D00C at location 0xC0008000
kernel partition base C0008000
kernel_magic=E1A00000
kernel_region_words[9]=016F2818
Linux ELF flash_imgstart=50040000 size=01FC0000 dest=C0000000 offset=00008000
MMU Control=C19F4071
MMU PIDVAM=00000000
Skipping kernel copy by request.

C0008000: E1A00000
C0008004: E1A00000
C0008008: E1A00000
C000800C: E1A00000
C0008010: E1A00000
C0008014: E1A00000
C0008018: E1A00000
C000801C: E1A00000
C0008020: EA000002
C0008024: 016F2818
root_filesystem_name=ramdisk
Grabbed linuxargs, argc = 00000001
Using mach_type 000000A7
setting boot parameters to
 noinitrd root=/dev/mtdblock1 init=/linuxrc console=ttySA0
mdcnfg=B254B257
Making core tag at C0000100
Making cmdline tag at C0000114
Making mem32 tag at C00001B4
command line is: mtdparts=ipaq:0x00040000@0x00000000(bootldr)ro,0x01FC0000@0x00040000(root)
noinitrd root=/dev/mtdblock1 init=/linuxrc console=ttySA0  rootfstype=jffs2 
linuxEntryPoint=C0008000
Booting Linux image
Uncompressing Linux................................................................................ 
done, booting the kernel.
Linux version 2.6.19-hh7 (root@alex) (gcc version 4.1.1) #1 PREEMPT Wed Dec 27 14:14:05 CET 2006

Note that this actually happens every time you turn the device off and on, so be patient...

If everything is OK, Opie will start and after calibrating the touchscreen, you will have a working Jornada running Linux.

If you want to get WinCE back, with "load root" flash the wince_image.gz and then with "load bootldr" flash the saved_bootldr.gz.

Useful links

[WWW]Jornada 56x status page
[WWW]hp iPAQ installation howto

BootBlaster