Я использовал CentOS 6.2 как виртуальную машину под Hyper-V в моей системе Windows Server 2008 R2.
Если я запускаю «uname -r», моя текущая версия Linux отображается как «2.6.32-220.4.1.el6.x86_64».
Некоторое время назад я сделал обновление программного обеспечения, и в него было включено обновление ядра. Когда я перезагрузил виртуальную машину Linux, она выдала сообщение о панике ядра и не могла продолжить. Я понял, что если я нажму пробел во время загрузки и выберу старую (исходную) версию ядра Linux, система загрузится нормально.
Я немного погуглил и нашел сайт, на котором объясняется, что код Linux Integration Services необходимо перекомпилировать для ядра, которое вы используете. Поскольку я не могу загрузиться в это ядро, я не уверен, как это вообще возможно.
Еще поиск в Google получил следующий сайт - http://support.microsoft.com/kb/2387594/de - в котором говорится, что мне нужно установить поддержку модуля динамического ядра - DKMS (что я сделал), но когда я буду следовать инструкциям дальше, он ссылается на файл «dkms.conf», которого не существует. Создание пустого файла также не работает, поскольку при попытке выполнить команду «dkms add -m linuxic -v 3.2» (я использую Linux Integration Services 3.2) возвращается сообщение «Ошибка! Неверный файл conf».
Есть какие-нибудь подсказки относительно того, как решить эту проблему, чтобы я мог поддерживать свое ядро Linux в актуальном состоянии на CentOS 6 с драйверами Linux Integration Services 3.2?
Оказывается, проблема была в устанавливаемых ядрах CentosPlus. Источник "CentOS-6-Plus" был проверен в "Установка и удаление программного обеспечения-> Система-> Источники программного обеспечения", и ядра "плюс" устанавливались с обновлениями программного обеспечения.
Очевидно, между этими ядрами Plus существует некоторая несовместимость (они содержат «плюс» в имени ядра, что можно увидеть, набрав «rpm -q kernel» на экране терминала).
Я снял отметку «CentOS-6 Plus» в качестве источника программного обеспечения и удалил новые версии ядра Plus, которые были установлены с помощью «yum remove», а затем при следующем обновлении программного обеспечения была установлена версия обновленного ядра, отличная от Plus, и система загрузилась без паники ядра.
Надеюсь, это поможет кому-то еще в той же лодке.
У меня была аналогичная проблема, но с CentOS 6.5-> 6.6 и LIS 4.0 Вот что я сделал:
1) Загрузитесь в предыдущую версию ядра
2) Откройте папку LIS [скопируйте ее на диск, если на CD]
3) Откройте файл /install.sh для НОВОЙ версии ядра, которую вы установили, а НЕ той, которую вы используете. В моем случае это был RHEL66.
4) Внутри файла, в котором выполняется команда rpm (в моем случае это было дважды), в конец команды rpm добавьте «--force» без кавычек.
5) Повторно запустите install.sh от имени пользователя root. Это должно установить модули RPM. Перезагрузите систему, но на этот раз загрузитесь с новым ядром. ПРИМЕЧАНИЕ. Я рекомендую сделать снимок виртуальной машины ПЕРЕД этим. Это сработало для меня, но может не сработать для вас.
Вам не нужно собирать модули ядра LIS против Бег ядро, просто установлены один. Обновленных заголовков ядра должно быть достаточно для сборки модуля для нового ядра.
Я никогда в жизни не касался Hyper-V (и, если мне не очень повезет, это никогда не изменится), поэтому я не могу дать вам никаких конкретных инструкций, но предполагаю, что документы покажут вам, как укажите, как собрать модуль (ы) на основе установленных вами заголовков.
Инструкции Microsoft написаны для компонентов интеграции Linux версии 2.1 - когда они еще доставляли их в исходном формате. Итак, вы смогли запустить make и следовать их различным инструкциям.
Текущие версии 3.4 (или даже 3.2) поставляются в формате RPM без исходного кода, поэтому ни один из файлов и папок, которые они упоминают, не существует.
Основная проблема (по-видимому) заключается в том, что IC содержит улучшенные драйверы для смоделированных дисков Hyper-V, а в новом ядре их не будет, и поэтому он не знает, как получить доступ к файловой системе.