Я пытаюсь собрать и установить несколько ядер на моей машине, все точно такого же выпуска (4.19.10
, найдено здесь ), но с разными моделями вытеснения (для тестирования производительности).Я успешно выполнил начальную сборку и установку ванильного ядра, но все последующие установки не были загрузочными.
Я собираю ядра как пакеты rpm.Опять все точно так же, за исключением 2 изменений в make menuconfig
:
General Setup >> Local version - append to kernel release
- Здесь я добавляю строку для обозначения модели вытеснения, такую как -lld
для рабочего стола с низкой задержкой General Setup >> Preemption Model
- здесь я выбираю модель с вытеснением
Все они (с патчем CONFIG_RT_PREEMPT
и без него) строятся нормально, без ошибок.Я устанавливаю с rpm -ivh kernel-4.19.10_lld-1.x86_64.rpm
, который кажется успешным, пока не достигнет 100% и зависает.В конце концов я убиваю установку с помощью ctrl+c
и проверяю, что работает с top
и вижу, что grub2-editenv
все еще работает.
Отсюда может произойти несколько разных вещей, но все заканчивается тем же,Перезагрузка обычно зависает, вторая перезагрузка приводит меня к командной строке grub или обратно к командной строке с помощью Welcome to emergency mode!
.
Я могу добавить новое ядро в grub с помощью grub2-mkconfig -o /boot/grub2/grub.cfg
, что не вызывает проблем.Но независимо от непосредственного выбора образа загрузки из командной строки grub или добавления его в grub и выбора его во время загрузки, я получаю один и тот же текст:
error: invalid magic number.
error: you need to load the kernel first
Я понимаю, что здесь может быть недостаточно информации дляопределить мою проблему, но я надеялся, по крайней мере, получить какое-то направление и ответить на несколько вопросов:
- Использует
General Setup >> Local version - append to kernel release
достаточно, чтобы сделать эти ядра уникальными, чтобы они могли быть установлены вдоль первой стороныдругое? - Эти признаки свидетельствуют о плохой сборке, неправильно сконфигурированной спецификации rpm или просто неправильной конфигурации grub?
Спасибо
Обновление:Я смог успешно обновить свое ядро с rpm -Uvh kernel-4.19.10_lld-1.x86_64.rpm
и правильно загрузить его, хотя я не смог сделать это с одним из других ядер.Не уверен, что это означает, но я думаю, что проблема, вероятно, заключается в попытке установить те же версии ядра параллельно, и сами сборки, вероятно, в порядке.
Обновление 2: я отказался от решения rpm ипробовал только make modules_install
и make install
.Устанавливает без проблем, но потом работает grub2-mkconfig
зависает.Загрузка зависает на черном экране, перезагрузка приводит меня к командной строке grub.Затем ручная загрузка ядра не дает никаких ошибок, но загрузка заканчивается паникой ядра сразу после идентификации оборудования.Сообщение: Kernel Panic - not syncing: VFS: Unable to mount
.
Вероятно, связано - я построил первое (работающее) ядро на виртуальной машине (оборудование Intel i7), но собирал остальные на чипсете Intel Atom E3950.Я думаю, что это может быть проблемой, потому что menuconfig заканчивается иначе.Я не думаю, что у меня была здоровая сборка на этом чипсете.