Developer Information

Linux Bootimage

The Sources on CVS contain scripts that will automatically fetch and compile all the software dependencies used while building the bootimage. Read the README file and peruse the Makefile for details. The resulting bootimage plus bootloader executable can easily fit within 2.5MB of vfat partition on a CompactFlash card.

Check our project status page to see what remains to be done. For details, see TODO file in our sources. You may join our mailing-lists to discuss your progress and blocks if you're doing any serious hacking with our code base. You may join the project if you want -- just show us your code, create a account, tell us the username, and we'll add you.

Surviving with WinCE

> Incidentally, I talked to HP the other day and asked
> about detailed hardware specs, and they
> basically said, "If you're not M$ we ain't talking
> to you."
> *** Joseph Knapka ***  linux-sh mailing list (22 Aug 2000).


Our current bootloader is hpcboot from NetBSD (compiled binary). Oleg Gusev tailored a modified version for the Jornada 820 -- beg the sources from him!

Oleg recommends that we should switch to linexec in the future. A fork of linexec named j820boot is now in our CVS.


For now, so as to compile hpcboot, you will need the old version of Embedded Visual C++ 3.0 on (hint EN_WINCE_EMBDVTOOLS30.exe), it includes the WinCE 2.11 SDK.

GNU binutils support 'arm-wince-pe' since ages, and gcc-3.4.0 is supposed to have the 'arm-wince-pe' target (I have not tested it). The free software solution is not far away, but needs your help ;-) See for instance this page (and download here).

TODO list

  1. Actually port linexec to the gcc toolchain. We will thus have a bootloader that allows for command-line arguments, etc.
  2. Modify the bootloader to really take over the machine from WinCE: preserve just enough of the memory layout so that at startup, WinCE will chain into hpcboot once more when the machine restarts.
  3. Be able to keep the date and time from Windows when initializing Linux.
  4. Be able to leave the machine in a clean state when rebooting under WinCE.
  5. Be able to leave the machine in a state that autolaunches linexec, when shutting down.
  6. Be able to load a new kernel (using LAB) without going through WinCE.

wince kernel vmem and pmem layout

1. static vmem and pmem allocations

  vaddr     paddr     size 
 80000000   00000000  00000020   rom         32mb 
 82000000   12000000  00000020   ???         32mb 
 84000000   18000000  00000004   sa1101 regs  4mb 
 84800000   1a000000  00000004   ???          4mb 
 84c00000   1b000000  00000004   ???          4mb 
 90000000   20000000  00000020   pcmcia s1 io 32mb
 92000000   24000000  00000020        reserved    
 94000000   28000000  00000020           attr     
 96000000   2c000000  00000020           mem      
 98000000   30000000  00000020   pcmcia s0 io 32mb
 9a000000   34000000  00000020        reserved    
 9c000000   38000000  00000020           attr     
 9e000000   3c000000  00000020           mem      
 85000000   80000000  00000004   sa1100 pcmr   4mb
 85400000   90000000  00000004   sa1100 scmr   4mb
 85800000   a0000000  00000004   sa1100 mecm   4mb
 85c00000   b0000000  00000004   sa1100 lcddma 4mb
 88000000   c0000000  00000010   ram bank0    16mb
 8b000000   c8000000  00000010   ram bank1    16mb
 89000000   d0000000  00000010   ram bank2    16mb
 8a000000   d8000000  00000010   ram bank3    16mb
 8c000000   e0000000  00000010   zero         16mb


Hardware types

820 (US)
820E (DE,ES,FR, others?)

Main processor

DEC StrongARM SA1100.


Sony Energytec 4x
US103463 3.6 1650 10 34 62.8 58 278 102 21.4





Hardware Manuals

All the documentation we have about the ARM and its companion, and other chips within the 820. A few quicklinks:
Back to Linux for HP Jornada 820 Home Page Logo