Содержание
Руководство “шаг-за-шагом” от Mirko Caserta для менеджера релизов и для “сделай сам” авантюрного создателя пакетов .rpm.
Установите RedHat 8 на вашей машине. Эта платформа до настоящего времени используется для получения .rpm, и известно, что она выполняет эту работу хорошо.
Получите обновлённую копию модуля linux-openmosix из репозитория CVS openMosix, детали см. на http://sourceforge.net/cvs/?group_id=46729.
Получите архив .tar для исходников ядра Linux, которые мы собираемся пропатчить, и разместите его в /usr/src/redhat/SOURCES: предполагая, что мы говорим о ядре 2.4.20, получите linux-2.4.20.tar.bz2 с одного из многих зеркал http://www.kernel.org/ по всему миру.
Распакуйте архив .tar в /usr/src, то есть:
# cd /usr/src
# tar vxjf redhat/SOURCES/linux-2.4.20.tar.bz2
|
Создайте символическую ссылку на директорию, куда вы вытянули из CVS модуль linux-openmosix, например:
# ln -s /home/mcaserta/src/linux-openmosix/linux-openmosix \
/usr/src/linux-openmosix
|
Скопируйте .spec файл и все .config файлы, которые могут быть найдены в этой директории, в /usr/src/redhat/SOURCES, то есть:
# cp /usr/src/linux-openmosix/configs/openmosix-kernel.spec \
/usr/src/redhat/SOURCES
# cp /usr/src/linux-openmosix/configs/*.config \
/usr/src/redhat/SOURCES
|
Теперь настало время проверить номера версий, прежде чем мы сделаем патч-файл: удостоверьтесь, что первые строки файлов /usr/src/linux-openmosix/Makefile и /usr/src/redhat/SOURCES/openmosix-kernel.spec имеют правильные версию ядра и номер ревизии openMosix.
Хорошо, время сделать патч (предполагаю, что мы выпускаем патч для ядра Linux 2.4.20 и 3-го релиза openMosix):
# cd /usr/src
# diff -Naur --exclude=CVS --exclude=configs \
linux-2.4.20 linux-openmosix > \
/usr/src/redhat/SOURCES/openMosix-2.4.20-3
# bzip2 /usr/src/redhat/SOURCES/openMosix-2.4.20-3
|
На данный момент ваша директория /usr/src/redhat/SOURCES должна выглядеть похожей на:
# ls /usr/src/redhat/SOURCES
kernel-2.4.20-athlon.config
kernel-2.4.20-athlon-smp.config
kernel-2.4.20-i386.config
kernel-2.4.20-i686.config
kernel-2.4.20-i686-smp.config
linux-2.4.20.tar.bz2
openMosix-2.4.20-3.bz2
openmosix-kernel.spec
|
Теперь вам всего лишь нужно rpmbuild всё: что я обычно делаю, это
# cd /usr/src/redhat/SOURCES
# rpmbuild -ba --target i386 openmosix-kernel.spec
# rpmbuild -bb --target i686 openmosix-kernel.spec
# rpmbuild -bb --target athlon openmosix-kernel.spec
|
но вы можете легко построить все .rpm, запуская
# rpmbuild -ba --target all_x86 openmosix-kernel.spec
|
После того, как rpmbuild выполнит свою работу, вы должны будете получить следующие файлы в директории /usr/src/redhat:
двоичный пакет ядра для i386 UP машин | |
двоичный пакет ядра для i686 UP машин | |
двоичный пакет ядра для i686 SMP машин | |
двоичный пакет ядра для athlon UP машин | |
двоичный пакет ядра для athlon SMP машин | |
исходный пакет ядра для любой x86 машины (в основном это необходимо, если вам нужны заголовочные файлы ядра openMosix) | |
исходный пакет ядра | |
патч-файл ядра, сжатый gzip |
Магическое заклинание для извлечения всех файлов из .srpm:
# rpm2cpio openmosix-kernel-....src.rpm | cpio -di
|
Отдельное спасибо Martin Huy за помощь, когда я пытался собрать все вещи воедино.
Я надеюсь, что вы найдёте этот документ полезным. По крайней мере, он полезен для меня, так как я имею тенденцию забывать вещи в течение нескольких минут после того, как я их закончил :)