Перейти к собственно контенту

Архив

Метка: kernel

Попросили тут обновить ядро до стабильной версии с kernel.org
Качаем исходники kernel с kernel.org
Ставим нужные пакеты:

apt-get install debhelper mc kernel-package libncurses5-dev tar bzip2

Что-то из этого уже может стоять у вас в системе.
Копируем исходники ядра в /usr/src и распаковываем. Я делал при помощи MC.
Создаём символьную ссылку на свои исходники, это избавит от многих проблем потом:
Переходим в папку с исходниками и конфигурируем:

cd /usr/src/каталог с сорцами
make menuconfig

Собираем пакетик с ядром:
make-kpkg linux_image --initrd

После всего этого остаётся подняться на директорию вверх и поставить пакет готовый из /usr/src/linux-image-< версия>-.deb с помощью dpkg

Решил обновить систему с 8.1 STABLE до 8.2 RC1

Шаг1: Получение исходных кодов.

Я использовал утилиту csup:

1) Скопируем пример конфигурационного файла для cvsup в удобную директорию, например /root/share/csup

deathstar# mkdir -p /root/share/csup/
deathstar# cp /usr/share/examples/cvsup/stable-supfile /root/share/csup/

b) Откроем /root/share/csup/stable-supfile на редактирование, где как минимум, необходимо задать на какую ревизию обновлять и откуда.

default release=cvs tag=RELENG_8_2

где tag= указывает, какую ветку следует синхронизировать.

Если Вы хотите иметь N-stable, ставьте RELENG_N

Если Вы хотите N.M-RELEASE, ставьте RELENG_N_M

Если Вы хотите обновится на HEAD (CURRENT), девелоп-версию FreeBSD, ставьте tag=.
default host=CHANGE_THIS.FreeBSD.org

CHANGE_THIS.FreeBSD.org — изменить на зеркало CVSup. Их список можно просмотреть, например здесь http://www.freebsd.org/doc/handbook/mirrors.html

Hint: можно использовать утилиту sysutils/fastest_cvsup для поиска наиболее быстрого/ближайшего для Вас зеркала

Строчки

default host=cvsup4.ru.FreeBSD.org
default release=cvs tag=RELENG_8_2

Заставят дерево исходных кодов обновиться до 8.2-RC1 (на момент написания статьи) с зеркала cvsup4.ru.freebsd.org

c) Создадим скрипт для запуска csup, например /root/bin/csup-bsd.sh

Содержимое файла:

#!/bin/sh
CSUP=`which csup`
CONFFILE="/root/share/csup/stable-supfile"

if [ ! -z ${CSUP} ]; then
${CSUP} -g -z ${CONFFILE}
else
echo "csup not found"
fi

d) Сделать скрипт выполняемым и запустить:

deathstar# chmod +x /root/bin/csup-bsd.sh
deathstar# sh /root/bin/csup-bsd.sh

Шаг1: Компилируем новую систему.
После обновления идем в папку /usr/src. Все изменения версий описаны в файле UPDATING.
Дальше буду писать какие надо выполнять команды:
1)
deathstar# cd /usr/obj
deathstar# rm -rf *
deathstar# cd /usr/src

Собираем мир:
2)
deathstar# make buildworld

Собираем (далее…)