我正在研究定制的嵌入式板。它当前运行的 3.10 内核
我正在尝试从 3.10 升级到 4.19。
因此,基于 3.10 中的内核配置选项,我在 4.19 中启用/禁用默认内核选项。
在这样做的时候,我一定搞砸了,因为我得到了这个:
[ 0.000000] Memory: 433580K/458752K available (4837K kernel code, 307K rwdata, 1136K rodata, 348K init, 165K bss, 25172K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0x9c800000 - 0xff800000 (1584 MB)
[ 0.000000] lowmem : 0x80000000 - 0x9c000000 ( 448 MB)
[ 0.000000] modules : 0x7f000000 - 0x80000000 ( 16 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (4839 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) ( 348 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 308 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 166 kB)
我想了解哪个内核配置选项负责设置这些地址?
我应该如何调试这个?任何指针/起点将不胜感激
值在那里,只是没有打印出来。Linux 已更新打印函数以不暴露内核地址。请参阅内核文档中的“普通指针”部分:
printk
这可以通过内核引导参数禁用,
debug_boot_weak_hash
但您仍然会得到一个散列,而不是真正的指针值。