+ -
当前位置:首页 → 问答吧 → linux内核运行从什么地址开始的啊

linux内核运行从什么地址开始的啊

时间:2005-12-08

来源:互联网

linux内核运行从什么地址开始的啊

在head.S中有:
LC0:        .word    LC0            @ r1
        .word    __bss_start        @ r2
        .word    _end            @ r3
        .word    _load_addr        @ r4
        .word    _start            @ r5
        .word    _got_start        @ r6
        .word    _got_end        @ ip
        .word    user_stack+4096        @ sp

_start应该是  但是怎么定义呢
在config文件中有
CONFIG_EP93XX_PHYS_ADDR=0x00000000
CONFIG_EP93XX_ZRELADDR=0x00008000
CONFIG_EP93XX_PARAMS_PHYS=0x00000100
CONFIG_EP93XX_INITRD_PHYS=0x01000000

ZRELADDR这个是定义的什么呢


我用的redboot启动的内核

RedBoot> load -v -r -b 0x1000000 ramdisk.gz
\
Raw file loaded 0x01000000-0x012380fc, assumed entry at 0x01000000
RedBoot> load -v -r -b 0x80000 zImage
-
Raw file loaded 0x00080000-0x0010b3fb, assumed entry at 0x00080000
RedBoot> exec -r 0x1000000 -s 0x260000
Using base address 0x00080000 and length 0x0008b3fc
Uncompressing Linux....................................... done, booting the ker
nel.
然后就死掉不动了  


是不是redboot设置的问题呢   redboot应该怎么设置呢      

作者: newer_zhk   发布时间: 2005-12-08

CONFIG_EP93XX_PHYS_ADDR=0x00000000 // RAM的第一个Bank的物理地址
CONFIG_EP93XX_ZRELADDR=0x00008000 // 存放解压缩后的内核的起始地址,在RAM中
CONFIG_EP93XX_PARAMS_PHYS=0x00000100 // 内核参数在RAM中的物理地址
CONFIG_EP93XX_INITRD_PHYS=0x01000000 // initrd在RAM中的物理地址
如果你的系统中第一个RAM的Bank起始地址确实为0x0的话,并且大于16MB(0x1000000)的话,以上的设置就没有问题。      

作者: jarodwang   发布时间: 2005-12-19

在 RedBoot> exec -r 0x1000000 -s 0x260000
前要设置console.
你的内版本是什么?      

作者: coolwyc   发布时间: 2005-12-27

热门下载

更多