mainline ядро теперь зависит от libc6 2.33, неустанавливаемое в focal?

Я с удовольствием устанавливал ядра 5.10 mainline (из https://kernel.ubuntu.com/~kernel-ppa/mainline/) на мою Ubuntu 20.04.

Пытаясь обновиться до 5.10.33, я обнаружил нежелательную зависимость от libc >=2.33 (фокус находится на 2.31) для пакета -headers (хотя и не для самого образа - но кто хочет жить без заголовков).

AFAIK, libc6 практически невозможно обновить. Это... оно? Я застрял на 5.10.32, если не откажусь от LTS? Есть ли у этих людей сайт, где можно сообщить об ошибках?

8
задан 29 April 2021 в 13:28

2 ответа

Вы можете остаться с LTS, но вам придется самостоятельно скомпилировать ядра основной линии , чтобы преодолеть новую проблему зависимостей.

Используемая версия компилятора mainline, кажется, только что изменилась:

doug@s19:~/temp-k-git/linux$ scripts/diffconfig .config-5.12.0-051200rc6-lowlatency .config-5.12.0-051200-lowlatency
 CC_VERSION_TEXT "gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0" -> "gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0"
 GCC_VERSION 100200 -> 100300
 LD_VERSION 23501 -> 23601
+DEBUG_INFO_BTF_MODULES y
+PAHOLE_HAS_SPLIT_BTF y

Но если я просто возьму конфигурацию ядра Ubuntu и скомпилирую ее сам, на моем основном тестовом сервере 20.04, то он отлично установится. Т.е. зависимость - это функция используемой версии компилятора, а не исходного кода ядра.

Не совсем уместно, но вот конфигурационная разница для того, что я скомпилировал:

doug@s19:~/temp-k-git/linux$ scripts/diffconfig .config-5.12.0-051200-lowlatency .config
-DEBUG_INFO_BTF y
-DEBUG_INFO_BTF_MODULES y
-DEBUG_INFO_COMPRESSED n
-DEBUG_INFO_DWARF4 y
-DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT n
-DEBUG_INFO_REDUCED n
-DEBUG_INFO_SPLIT n
-GDB_SCRIPTS y
-PAHOLE_HAS_SPLIT_BTF y
 CC_VERSION_TEXT "gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0" -> "gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0"
 DEBUG_INFO y -> n
 GCC_VERSION 100300 -> 90300
 LD_VERSION 23601 -> 23400
 SYSTEM_TRUSTED_KEYS "debian/canonical-certs.pem" -> ""
3
ответ дан 7 May 2021 в 17:42

Вот как я создал модули dkms, сгенерированные с ядром 5.11.18, из основного ядра ubuntu. Я запускаю Linux Mint 20.1 Cinnamon и использую nvidia-driver-460 версии 460.73.01-0ubuntu0.20.04.1 в dkms. Я использую gcc версии 10.3. Все работало нормально с версией 5.11.16-generic, но остановилось, когда я попробовал 5.11.18. Я попытался найти проблема, почему dkms не скомпилировал модули ядра. Я сделал следующее:

  1. Установил ядро ​​5.11.18-generic
  2. Обнаружил, что в заголовках ядра программа fixdep связана с glibc 2.33
  3. Найдено что в заголовках ядра программа modpost относится к glibc 2.33
  4. Заменен /lib/modules/5.11.18-generic/build/scripts/basic/fixdep на один из 5.11.16
  5. Заменен /lib/modules/5.11. 18-generic / build / scripts / mod / modpost с одним из 5.11.16
  6. Запуск dkms против ядра 5.11.18 (/ usr / lib / dkms / dkms_autoinstaller start 5.11.18-051118-generic)
  7. Успешно сгенерированы модули ядра nvidia. Перезагрузился, все работает нормально. Даже пробовал то же самое с ядро 5.12.1 и все заработало.

Надеюсь, это поможет.

2
ответ дан 7 May 2021 в 17:42

Другие вопросы по тегам:

Похожие вопросы: