Hallo to everyone (more technically oriented)
I have to change the firmware of an ipcam. (an Wl-5460 cam, but with lots of identical "sisters" from various manufacturers.)
The firmwareupdate from an manufacturer should countain the kernel and the needed serverapplication in an compressed ramdisk!?
So I removed the first bytes of the firmware-file until the "file" command realized it as an gzip archieve.
(this happened after 32 bytes.)
So i found out that I had to do something like:
dd if=manufacturer-update of=foo.gz bs=1 skip=32
Then I got a compressed file containing a "vmlinux.bin" file.
someone told me that this file can be mounted as a usual filesystem,
but i cant figure out wchich filesystem i have to use. i tried scramfs squashfs and so on.
I dont want to keep this try-an-error like my first approuch witch the removing of the firt bytes.
1) Is there an nice method/command to find out more about the content of such an binary or its headers?
The hardware is an adm5120. I made a wigglercable and patched openwince jtagtools for ejtag. after this I was able to read from the flash.
The boot-address starts with 0x1FC0 0000. From there I have 4MB till to 0x2000 0000. what matches the size of the onboard flash.
but i can also detect and read the adress 0x3FC0 0000 und higher???
And on some pages they say that the entrypoint for the kernel should be around 0x8000 0000.
But this is physically not possible. Does the MMU mirror the Addresses to different sections?
2) How can I find out more about the flash/memory partitioning of an given system?
(yes, i obtained and read the adm refferences. but they left me clueless.)
I searched a lot in the internet in the last weeks. But all the information about my hardware seems to be removed years ago (eg.: http://wiki.kuban.tv).
And I dont want to copy the great investigations others did. I want to be able to discover such infomations like pinouts or memory-partitioning on my own.
In other words: I need help to help my self.
3) btw, when I read the first 32kB after flash Address 0x1FC0 0000 is this the complete bootloader?
I want to have it in case the cam gets bricked while playing around.