Образ ядра Linux больше KERNEL_IMAGE_SIZE при сборке с помощью alliesconfig+Linux

Ответить
Anonymous
 Образ ядра Linux больше KERNEL_IMAGE_SIZE при сборке с помощью alliesconfig+

Сообщение Anonymous »

Я пытаюсь собрать ядро ​​Linux 6.8.9 с поддержкой alliesconfig с небольшими дополнениями.
Для изменений я удалил CONFIG_SLUB_TINY и добавил CONFIG_KASAN через make nconfig. Когда я попытался собрать ядро ​​обычным способом, имея более чем достаточно оперативной памяти, я получил ошибку компоновщика: ld: образ ядра больше KERNEL_IMAGE_SIZE.
Я поискал в источнике, где там написано:

Код: Выделить всё

/*
...
* This can be at most 1 GiB, due to the fixmap living in the next 1 GiB (see
* level2_kernel_pgt in arch/x86/kernel/head_64.S).
...
*/
#ifdef CONFIG_RANDOMIZE_BASE
#define KERNEL_IMAGE_SIZE       (1024 * 1024 * 1024)
#else
Похоже, что мои изменения превысили максимальный виртуальный адрес, доступный ядру.
Это поднимает вопрос, были ли внесенные мной изменения огромными (по размеру) или уже был установлен alliesconfig использует близкое к максимальному KERNEL_IMAGE_SIZE?
В любом случае, мне, вероятно, придется удалить некоторые вещи, чтобы иметь возможность снова скомпилировать/связать ссылку. Однако мне нужно сохранить как можно больше доступных пользователю функций и кода в ядре, сохраняя при этом базовые принципы ядра по умолчанию (например, сохраняя стандартный распределитель SLUB и другие основные механизмы).
Я использую это как образец, однако я не могу применить все эти предложения и не знаю, компенсируют ли они объем памяти, необходимой мне для KASAN.
Есть ли у вас дополнительные предложения, что удалить? (также, например, большие нестандартные компоненты)

Могу ли я еще что-нибудь сделать в этой ситуации?

Подробнее здесь: https://stackoverflow.com/questions/784 ... lyesconfig
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»