Linux loader for Pocket PC


How to compile:

1. Two asm files from asm directory has to be compiled with armasm.exe. This will create two 
obj files, that should be copied into lib directory(and will be included in the project)
2. Compile & link project

The c++ source file also contains some routines to read physical memory and to translate virtual mem to phys.
However, the translation is limited and not fully implemented.

The booting of Linux begins IMMEDIATELLY after program is started.
zImage filename is "image2" (without "")
initrd filename is "initrd"

If it for some reason freezes try removing pieces of code that write into Frame buffer on Axim
(this fb is beyond limits of physical memory and should not cause problems on IPAQ. adr=0x14042000)

Limitations: There are some limitations of file sizes.

If a screen with Hello World appears, there was a problem in booting. Check filenames.

To make it work for SA11x0 you will have to change these lines in asm.asm:
	ldr	r5, =0xa0000100

	ldr	r7, =0xa0400000

with proper adresses and limits of memory( just change the "a" with "8" I think)
Also KERNELCOPY and INITRD macros have to be changed.


author: Demo; cooldemo@inmail.sk


================================================================================

Amendment by Pigeon:

linexec has been changed a lot and therefore some stuff in the above readme
might not be true anymore. But anyway, here is how you use linexec:


To use linexec, you need 4 files.

linexec config file: params

Create a file called "params", and put it under either "\My Documents\", or
"\CF Card\". If you really care where and what this file is called, edit
tester1.cpp and look for load_boot() call.

This params file specifies three lines of config for:
kernel image
initrd image
kernel args

For example, my params looks like this:
\My Documents\zimage
\My Documents\initrd.gz
init=/linuxrc keepinitrd root=/dev/rd/0


(This is what I actually have in my params file, but remember this might not
work for your kernel/device)

(Also a note for the params file, seems that the code is only happy if the
file is in unix format, i.e. newline as \r, but not dos format)


And yes, if you see "Hello World", you've got something wrong.


Pigeon.




