LINUX.ORG.RU

Ответ на: комментарий от Boy_from_Jungle

Ты хочешь сказать, что этот параметр только для kexec? Вроде же к началу
загрузки ядра сконфигурировано уже что-то порядка 8Мб. Т.е. принципиальной
разницы между 1Мб и 2Мб нет.

ttnl ★★★★★
() автор топика
Ответ на: комментарий от Boy_from_Jungle

В общем, я разобрался. Параметр CONFIG_RELOCATABLE не нужен.

Нужно установить CONFIG_PHYSICAL_START=0x3000000, и тогда ядро загрузится
куда надо. См. строку #3:

(9 early reservations) ==> bootmem [0000000000 - 00377fe000]
#0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
#1 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000]
#2 [0000006000 - 0000007000] TRAMPOLINE ==> [0000006000 - 0000007000]
#3 [0003000000 - 0003565d50] TEXT DATA BSS ==> [0003000000 - 0003565d50]
#4 [000009fc00 - 0000100000] BIOS reserved ==> [000009fc00 - 0000100000]
#5 [0003566000 - 000357414c] BRK ==> [0003566000 - 000357414c]
#6 [0000007000 - 0000008000] PGTABLE ==> [0000007000 - 0000008000]
#7 [0000100000 - 000033a249] NEW RAMDISK ==> [0000100000 - 000033a249]
#8 [0000008000 - 000000f000] BOOTMAP ==> [0000008000 - 000000f000]

Или сюда:

virtual kernel memory layout:
fixmap : 0xfff91000 - 0xfffff000 ( 440 kB)
pkmap : 0xff800000 - 0xffc00000 (4096 kB)
vmalloc : 0xf7ffe000 - 0xff7fe000 ( 120 MB)
lowmem : 0xc0000000 - 0xf77fe000 ( 887 MB)
.init : 0xc34bf000 - 0xc3515000 ( 344 kB)
.data : 0xc3346f5b - 0xc34be018 (1500 kB)
.text : 0xc3000000 - 0xc3346f5b (3355 kB)

Т.е., похоже, это загрузчик ищет адрес начала кода ядра, и туда его
загружает.

ttnl ★★★★★
() автор топика
Ответ на: комментарий от Boy_from_Jungle

Включи «Configure standard kernel features» и он появится в «Processor type and features»

ttnl ★★★★★
() автор топика
Ответ на: комментарий от Boy_from_Jungle

Смотри тут:

arch/x86/kernel/vmlinux.lds.S

После просмотра все становится понятно.

ttnl ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.