- 论坛徽章:
- 0
|
是的
你的Android的代码里面用的是lk还是别的什么?
里面应该有一个指定ramdisk和kernel的位置的实现
- n = ROUND_TO_PAGE(hdr->kernel_size, page_mask);
- if (flash_read(ptn, offset, (void *)hdr->kernel_addr, n)) {
- dprintf(CRITICAL, "ERROR: Cannot read kernel image\n");
- return -1;
- }
- offset += n;
- n = ROUND_TO_PAGE(hdr->ramdisk_size, page_mask);
- if (flash_read(ptn, offset, (void *)hdr->ramdisk_addr, n)) {
- dprintf(CRITICAL, "ERROR: Cannot read ramdisk image\n");
- return -1;
- }
- offset += n;
复制代码 然后在后面的boot_linux里面实现linux的加载,关键的就是boot_linux里面了
- boot_linux((void *)hdr->kernel_addr, (void *)TAGS_ADDR,
- (const char *)cmdline, board_machtype(),
- (void *)hdr->ramdisk_addr, hdr->ramdisk_size);
复制代码 然后在boot_linux里面可以看到加载kernel的操作 |
|