Вопрос или проблема
Я пытаюсь установить CentOS 6 на новое оборудование для тестирования, поскольку наше программное обеспечение зависит от версий пакетов в CentOS 6. Тривиальный ответ заключался бы в том, чтобы обновить программное обеспечение для работы на более новой версии, так как CentOS 6 уже давно вышел за пределы срока поддержки, но я не разработчик и мы скоро будем рассматривать LOE.
Т текущее состояние:
- У машины процессор Intel 13-го поколения i5-1335U с BIOS только UEFI (нет режима совместимости) и отключенной безопасной загрузкой
- CentOS 7.5+ и Debian 10.0+ работают, но более ранние версии – нет
- Я использую установщики x86_64 и записываю их на сменные носители с помощью Rufus в режиме UEFI
- Я проверил, что при установке они используют GPT-разделы
- Сами установщики загружаются в GRUB (наследственный или 2), но когда они пытаются загрузить ядро и initrd/initramfs, это не удается
- В настоящее время у меня установлен Debian 12 с CentOS 6, поэтому Debian управляет Grub 2, но он по-прежнему не загружается в CentOS 6 – более старое оборудование, у которого есть режим совместимости в BIOS, может использовать как MBR, так и GPT-разделы и загружать CentOS 6 (Intel Atom E3845)
- Я могу виртуализировать RHEL 6 в Qemu, работающем на Debian 12
Неудачные попытки исправить ситуацию до сих пор:
- Воссозданный initramfs RHEL 6 в Debian 12
- Модифицированная запись GRUB 2 для RHEL 6
- Использование GRUB 2 OS prober для создания записи RHEL 6
- При загрузке установщика он либо переходит к мигающему курсору, либо изображение заставки GRUB замораживается на экране. В этом состоянии я не могу переключиться на любые TTY
- Добавление echo-операторов в настраиваемую запись GRUB заставляет казаться, что он загружает initramfs. Он показывает echo-операторы перед загрузкой ядра, после загрузки ядра, но перед загрузкой initramfs, и после загрузки initramfs. После того, как echo-операторы отображаются на экране, он либо перезагружает машину, либо зависает без TTY.
Мои текущие теории:
- Ядра не были скомпилированы с необходимыми модулями/параметрами
- Существуют проблемы с initrd/initramfs, которые не дают ядру загрузиться
- Микрокод Intel, включенный в установщики, не поддерживает новый процессор
- Хотя безопасная загрузка была отключена, мне нужно установить самоподписанный MOK и shim
Есть ли идеи, почему старая дистрибутивная система не загружается на новом оборудовании?
Да, ваша операционная система должна быть совместима с вашим оборудованием; нет простого способа научить старую ОС, как работает новое оборудование.
-
Попытка установить старое программное обеспечение на новые операционные системы должна быть в общем легче, чем установка старых операционных систем на новое оборудование. Если вы не пытались достаточно усердно, попробуйте сейчас.
-
Вы можете запустить вашу старую ОС в виртуальной машине или контейнере. Оба варианта легче настроить, чем устанавливать нативно, даже на оборудовании того времени, так что нет причин просто не установить современную операционную систему на вашем новом оборудовании и не запустить CentOS 6 в виртуальной машине или как контейнер.
Ответ или решение
Установка старой версии дистрибутива на новом оборудовании: решаем проблемы
Установка CentOS 6 на современное оборудование может представлять собой серьезную задачу, так как старые версии операционных систем зачастую не поддерживают новые аппаратные платформы. Эта статья будет полезна тем, кто сталкивается с подобной ситуацией и ищет решения.
Ваша текущая ситуация
Вы находитесь на этапе установки CentOS 6 на машине с процессором Intel 13-го поколения (i5-1335U), мастерски настроенной на использование UEFI с отключенной безопасной загрузкой. Несмотря на то что более новые версии CentOS (7.5+) и Debian (10.0+) работают без проблем, загрузка CentOS 6 вызывает трудности.
Проблемы, с которыми вы столкнулись, включают следующее:
- Установщики CentOS 6 загружаются в GRUB, но при попытке загрузки ядра и initrd/initramfs происходит сбой.
- Ваша попытка загрузить CentOS 6 через GRUB, настроенный в Debian 12, также не увенчалась успехом.
- Вы замечаете зависания и сбои при загрузке, в том числе мигающий курсор или зависание на заставке GRUB.
Причины и возможные решения
-
Несовместимость ядер. Да, действительно, установленное ядро CentOS 6 может не иметь необходимых модулей и параметров для работы с новым оборудованием. Убедитесь, что у вас есть соответствующие модули для поддержки нового процессора.
-
Проблемы с initrd/initramfs. Если при загрузке происходит сбой, это может быть связано с тем, что создаваемый initramfs не содержит необходимых драйверов для вашего оборудования. Возможно, потребуется создать его заново с использованием новых параметров и модулей.
-
Прошивка микрокода Intel. Устаревшие дистрибутивы могут не включать актуальные версии прошивки микрокода для новых процессоров, что вызывает проблемы с загрузкой. Вместо установки можно попробовать добавить необходимые файлы микрокода вручную.
-
Ошибка в grub.conf. Настройка GRUB может оказаться критичной. Проверьте, что параметры в конфигурации GRUB соответствуют вашему оборудованию. Возможно, вам потребуется вручную отредактировать файл конфигурации GRUB.
-
Безопасная загрузка и MOK. Хотя вы отключили безопасную загрузку, некоторые системы могут требовать установки самоподписанного MOK (Machine Owner Key) и шима. Убедитесь, что это не является причиной вашего сбоя.
Альтернативные решения
-
Виртуализация: Стремитесь рассмотреть возможность запуска CentOS 6 в виртуальной среде, такой как QEMU или виртуальная машина, с использованием KVM. Это может сэкономить время и силы, позволяя вам тестировать ваше программное обеспечение на старом дистрибутиве, в то время как основная система останется современной и функциональной.
-
Контейнеры: Еще один практичный вариант — использование контейнерной виртуализации, которая позволяет изолировать ваше приложение и среды выполнения. Docker, например, может помочь вам запустить старые версии программного обеспечения в контролируемых условиях.
-
Обновление софта: Хотя вы упомянули, что не имеете достаточного опыта в этом, рассмотрите возможность обновления вашего программного обеспечения. Это может являться более перспективным вариантом с точки зрения совместимости и безопасности.
Заключение
Установка старой версии дистрибутива на новое оборудование может привести к многочисленным сложностям. Несмотря на то что вы можете испытывать трудности с загрузкой CentOS 6, вам стоит рассмотреть возможность использования виртуализации или даже контейнеризации. Это позволит вам сохранить доступ к старому программному обеспечению без необходимости углубляться в сложную и потенциально опасную установку на новом оборудовании.