1) you should understand the boot process. See
http://chdk.setepontos.com/index.php/topic,1454.0.html2) You need adjust all the asm in loader and platform to be correct for your camera. Generally, this means
- find the corresponding function in your firmwares ROM
- Copy it to inline asm.
- Modify in a way that is equivalent to the modifications done in the reference cam.
3) Find the addresses for stubs_min.S and various platform C files. The general process is
- look at a firmware for a similar camera
- finding where the desired value is used in. Frequently, the actual constant isn't used directly. Instead and offset is calculated that results in the desired address, or the address is built from a sequence of shifts and adds.
- find the corresponding code in your camera firmware to get the address.
4) Verify that all the automatically detected entry points in stubs_entry.S are correct. This is done by comparing the function in your firmware to the same function in a known good firmware. Where they are wrong, find the correct function and add it to stubs_entry_2.S.
5) Find any additional entry in the stubs_entry_2.S of your reference camera, and add them to stubs_entry_2.S of your camera.
I've probably left some things out.
Now a rant.
There is no way anyone can just tell you what you need to do. To make a port, you have to understand the loader an platform directories, and have a general idea how the rest fits together.
No amount of tutorials or forum posts will do this for you. Only reading and understanding the code will do it. If you don't understand them, then you can't make a port. We can give you hints of where to start, but the major effort has to come from your side. If you aren't sufficiently knowledgeable in C and ASM to understand these files, you need to learn, or give up. There is no shortcut.