Re: Generating elf kernel ?
From: Guillaume Dargaud <hidden>
Date: 2010-09-16 07:23:40
quoted
quoted
Please use simpleImage.<your target dts name>.elf.Great, that seems to be it... Except that nothing happens when I jump to 0x40000, no message from the0x40000? I recalled the entry point should be 0x400000 for simepleImage.*.elf. So you have to change this on the file, arch/powerpc/boot/wrapper.
Correct, I skipped a zero, the address is indeed 0x400000
And also you should confirm if the upstream kernel support your board.
Our board is a custom derivative from a ML405. My previous project uses ARCH=PPC and has been working fine for 2 years. I'm currently trying to go to ARCH=PowerPC and understand dts files in order to boot my first kernel. I assume I shouldn't have to change anything in my bootloader. After I jump to the kernel address, I don't even get the usual: loaded at: 00400000 004F559C board data at: 004F3520 004F359C relocated to: 0040505C 004050D8 zimage at: 00405E48 004F211C avail ram: 004F6000 08000000 Linux/PPC load: console=ttyUL0,115200 rw root=/dev/nfs ip=bootp Uncompressing Linux...done. Now booting the kernel Something wrong with my serial console ?
Additionally let's assume your bootloader create the map between the virtual address and the physical address as 1:1. If so you want to execute from 0x40000. But the actual PC address should be the loader address + offset. You can get this by readelf. Here if your loader address is zero, the offset will be pc address, not 0x40000. You can dump your memory to check this.
The bootloader has no concept of virtual address, right ? -- Guillaume Dargaud http://www.gdargaud.net/