Kernel-headers, Glibc, перекомпиляция


Kernel-headers, Glibc, перекомпиляция

При полной перекомпиляции системы «под себя», возникает вопрос, а как это сделать правильно и чтобы все осталось работоспособным? В частности, делаю попытку описать одного из решений перевода системы на использование заголовков ядра более новой версии.

Начинать нужно, как ни странно, не с ядра, а системного пакета Glibc. Glibc - это библиотека C, которая обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и другие. Библиотеку C используют все динамически скомпонованные программы. И она сама "привязана" к тем заголовкам ядра, с помощю которых ее саму скомпилировали. Вывод напрашивается сам собой - необходимо перекомпилировать системный пакет Glibc, "привязав" его заголовкам нового ядра. Делается это просто.

1. Установите исходники нового ядра.
2. Скопируйте каталог glibc с иходниками, заплатами в каталог где собираетесь перекомпилировать пакет glibc.
3. Отредактируйте скрипт glibc.SlackBuild найдите строку:

--with-headers=/usr/src/linux-${HEADERSTWOFOUR}/include

и вместо переменной вставьте версию нового ядра, например:

--with-headers=/usr/src/linux-2.6.18.6/include

Таким образом мы "привязываем" glibc к новым заголовкам ядра. Теперь мы можем создать новый пакет kernel-headers-2.6.18.6-i486-1.tgz, с таким расчетом, чтобы заголовки от нового ядра устанавливались в каталог /usr/include.

4. Перекомпилируйте пакет Glibc

Теперь можно в консоли переустановить пакеты glibc и kernel-headers. Первым шагом после перехода на новые заголовки советую перекомпилировать gcc, ядро, alsa.

Этот Чаво только примерно описывает переход на новые заголовки, поэтому, прошу строго не винить.


Автор - cdrw, взято с форума mopslinux.

 

 

IP Rambler's Top100