Как скомпилировать ядро Ubuntu Linux из архива linux-5.4.288.tar.xz в Ubuntu 24.10?

Я прохожу курс “от 0 до Linux админа” вот здесь https://yodo.im/courses/linux/?v=1d20b5ff1ee9 и столкнулся с проблемой при компиляции ядра Ubuntu Linux из архива linux-5.4.288.tar.xz в Ubuntu 24.10.

Я пытаюсь скомпилировать vmlinuz-5.4.288, чтобы установить его в каталог /boot и сделать доступным в качестве одного из расширенных параметров загрузки, чтобы установить графические драйверы, которые недоступны с новыми версиями ядра.

Я следую ответу на вопрос из статьи: Скачать и извлечь исходный код ядра, который вы хотите собрать. Я скачал архив linux-5.4.288.tar.xz и извлек его в отдельный каталог с помощью команды:

xz -cd linux-5.4.288.tar.xz | tar xvf -

После этого, перейдя в директорию linux-5.4.288, я попытался установить зависимости:

sudo apt-get install libqt4-dev pkg-config

Но на этом этапе у меня возникла ошибка компилятора:

E: Unable to locate package libqt4-dev

Я следовал рекомендациям из статьи “E: Unable to locate package libqt4-dev” while trying to install torch (Ubuntu 22.04) и добавил PPA:

sudo add-apt-repository ppa:ubuntuhandbook1/ppa

Однако это вызвало ошибки, и при выполнении команды:

sudo apt-get update

Я снова получил сообщения об ошибках, включая отсутствие файла Release в PPA.

Затем, когда я попытался установить другие пакеты с помощью:

sudo apt-get install qt4-dev-tools libqt4-dev libqtcore4 libqtgui4

Я увидел сообщения о том, что пакеты отсутствуют или устарели.

Я продолжил, игнорируя предыдущие сообщения об ошибках:

make oldconfig

Затем выполнил:

make

Компилятор продолжал, но снова столкнулся с ошибкой:

make[1]: *** No rule to make target 'debian/canonical-certs.pem', needed by 'certs/x509_certificate_list'.  Stop.
make: *** [Makefile:1750: certs] Error 2

Я нашел статью, которая предложила некоторые решения, но, несмотря на это, я не смог преодолеть возникшие ошибки.

Как я могу скомпилировать ядро linux-5.4 под управлением Ubuntu 24.10? Я застрял на вышеуказанных ошибках и не знаю, как продолжить.

Если у кого-то есть идеи или рекомендации, буду признателен!

Спасибо за подробный ответ! У меня все получилось, и я смог скомпилировать ядро Ubuntu Linux из архива linux-5.4.288.tar.xz в Ubuntu 24.10. Очень признателен за помощь!

Привет! Давай попробуем разобраться с твоими проблемами при компиляции ядра Linux 5.4 на Ubuntu 24.10.

Проблема с пакетом libqt4-dev

Ошибка E: Unable to locate package libqt4-dev говорит о том, что пакет libqt4-dev недоступен в репозиториях Ubuntu 24.10. На самом деле, начиная с более новых версий Ubuntu, Qt4 больше не поддерживается, и вместо него рекомендуется использовать Qt5 или даже Qt6.

Что можно сделать?

  1. Используй Qt5 или Qt6. Попробуй установить заменяющие пакеты:

    sudo apt-get install qt5-default qtbase5-dev
    

    Возможно, тебе придется адаптировать команды или конфигурации, если у тебя есть специфические изменения, зависящие от Qt4.

  2. Обновление PPA. Убедись, что PPA, которое ты добавил, актуально для твоей версии Ubuntu. Иногда PPA может не поддерживать новую версию, и в этом случае лучше поискать альтернативные источники или вернуться к официальным репозиториям.

Ошибка make[1]: *** No rule to make target 'debian/canonical-certs.pem'

Эта ошибка указывает на то, что отсутствует один из файлов, необходимых для дальнейшей сборки.

Попробуй сделать следующее:

  1. Проверь наличие файлов в каталоге debian/. Вероятно, у тебя не хватает некоторых файлов, или они неправильно настроены. Если ты скачивал чистый архив ядра, попробуй скопировать debian каталоги из рабочей версии ядра или скачать их из другого источника (например, из репозитория на GitHub).

  2. Используйте другие опции сборки. Для упрощения процесса сборки ты можешь использовать следующие команды:

    make menuconfig  # настрой конфигурацию ядра
    make -j$(nproc)  # сборка с использованием всех процессоров
    
  3. Изучите конфигурационные файлы, такие как config (может находиться в каталоге с исходниками). Возможно, они требуют определенных изменений.

Общие рекомендации

  • Убедись, что у тебя установлены все необходимые зависимости для сборки ядра. Это может быть выполнено с помощью:

    sudo apt-get build-dep linux
    
  • Если ошибки продолжают возникать, рассмотрите возможность использования более новой версии ядра или консультации с документацией для ядра, так как иногда есть изменения между версиями, влияющие на сборку.

Если у тебя есть дополнительная информация о том, какие именно настройки ты проводишь или какие шаги уже делал, делись! Это может помочь найти более точное решение. Удачи в работе с Linux! . Я ответил на ваш вопрос?

Отлично, здорово слышать, что у тебя все получилось! :tada: Скомпилировать ядро – это всегда интересный и довольно полезный опыт. Если у тебя будут еще вопросы или понадобятся советы по работе с Ubuntu или чем-то другим, не стесняйся спрашивать. Удачи с настройками и дальнейшими экспериментами! :rocket: . Я ответил на ваш вопрос?