当前位置: 技术问答>linux和unix
linux内核在板子上启动时读取的内存有误
来源: 互联网 发布时间:2017-05-17
本文导语: 我手上的板子有2G内存,正在自己移植系统。现在内核不能启动,启用了调试信息之后看到有一颗kernel panic。于是就在打印出的调试信息里面找错误。内核版本是3.5 kernel panic是: Kernel panic - not syncing: Attempted to kill init!...
我手上的板子有2G内存,正在自己移植系统。现在内核不能启动,启用了调试信息之后看到有一颗kernel panic。于是就在打印出的调试信息里面找错误。内核版本是3.5
kernel panic是:
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
然后有一个oops:
wm8994 1-001a: Failed to read ID register
Unable to handle kernel NULL pointer dereference at virtual address 00000508
pgd = c0004000
[00000508] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 Not tainted (3.5.0-rc6-g115bae7-dirty #9)
PC is at mfd_remove_devices_fn+0x28/0x48
LR is at device_for_each_child+0x58/0x84
pc : [] lr : [] psr: 60000053
sp : ee043db0 ip : ee043dc0 fp : ee043dbc
r10: ee216800 r9 : c04f9234 r8 : ee216820
r7 : fffffffa r6 : c0281300 r5 : 00000000 r4 : ee043dec
r3 : 00000500 r2 : 00000000 r1 : ee043dec r0 : ec10ac70
Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 4000404a DAC: 00000015
接着我发现内核读取出来的内存大小不对,我板子上的内存有2G,可是内核只读出了728M
Memory: 384MB 344MB = 728MB total
Memory: 713188k/713188k available, 65052k reserved, 0K highmem
现在我想使内核读取正确的内存数,该去修改内核源码的什么地方呢?
我用的是uboot来引导内核,但我没有uboot的源码,只能修改内核代码了
|
这个是你分配给系统的内存,你看下UBOOT里认出的内存大小记传递给kernel的启动参数
|
这么复杂, 找开发板的厂商解决吧