Can you reveal how you extract this rom ?
So that I too can view its contents.
no, that boot rom which check aimage and than running linux kernel from it
[div align=\"right\"][a href=\"index.php?act=findpost&pid=100156\"][{POST_SNAPBACK}][/a][/div]
[/quote]
[div align=\"right\"][a href=\"index.php?act=findpost&pid=100161\"][{POST_SNAPBACK}][/a][/div]
[/quote]
bootrom attached - look inside, there very funny text messages, maybe we can install linux derectly on HD.
If press Archos button during power on (when linux not booted yet) that will show debug info. There will physical memory map. I wrote simple module for access to ROM physical memory, which create proc entry. Read from this will read from ROM memory maybe there more easy access, but i used this:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifdef CONFIG_PROC_FS
#include
#endif
//#define FLASH_PHYS_ADDR 0x12A00000
//#define FLASH_PHYS_ADDR_LEN (0x14000000 - FLASH_PHYS_ADDR)
#define FLASH_PHYS_ADDR 0x00000000
#define FLASH_PHYS_ADDR_LEN 0x80000
static void *remapped_base;
static struct proc_dir_entry *proc_rom;
static int rom_read_proc ( char *page, char **start, off_t off, int count, int *eof, void *data_unused )
{
off_t begin = 0;
int i = 0;
unsigned char *c = remapped_base;
printk(KERN_NOTICE "count = %d, off = %d.\n", count, off);
if ((count) >= FLASH_PHYS_ADDR_LEN) {
count = FLASH_PHYS_ADDR_LEN;
*eof = 1;
}
while (count--) {
page[i] = c[i + off];
i++;
}
done:
*start = page;// + (off-begin);
return i;
}
static int __init phys_init(void)
{
int i;
remapped_base = ioremap(FLASH_PHYS_ADDR, FLASH_PHYS_ADDR_LEN);
{
unsigned char *c = remapped_base;
printk(KERN_NOTICE "Test BOOTROM location\n");
for (i=0; i<16; i++) {
printk("%c", c[i + 0x43000]);
}
printk(KERN_NOTICE "Done\n");
}
printk(KERN_NOTICE "Access to physical memory installed.\n");
if ((proc_rom = create_proc_entry( "bootrom", 0, 0 )))
proc_rom->read_proc = rom_read_proc;
return 0;
}
static void __exit phys_exit(void)
{
if (proc_rom)
remove_proc_entry( "bootrom", 0);
iounmap(remapped_base);
printk(KERN_NOTICE "Access to physical memory uninstalled.\n");
}
module_init (phys_init);
module_exit (phys_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR ("sash@pdaXrom.org");
MODULE_DESCRIPTION ("Physical memory access");