Собранное ядро ​​не может быть установлено правильно - Centos7 - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь собрать и установить несколько ядер на моей машине, все точно такого же выпуска (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 заканчивается иначе.Я не думаю, что у меня была здоровая сборка на этом чипсете.

...