The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Приложение A. Как сделать .rpm пакеты ядра openMosix

Содержание

A.1. Как сделать .rpm пакеты ядра openMosix?

A.1. Как сделать .rpm пакеты ядра openMosix?

Руководство “шаг-за-шагом” от Mirko Caserta для менеджера релизов и для “сделай сам” авантюрного создателя пакетов .rpm.

  1. Установите RedHat 8 на вашей машине. Эта платформа до настоящего времени используется для получения .rpm, и известно, что она выполняет эту работу хорошо.

  2. Получите обновлённую копию модуля linux-openmosix из репозитория CVS openMosix, детали см. на http://sourceforge.net/cvs/?group_id=46729.

  3. Получите архив .tar для исходников ядра Linux, которые мы собираемся пропатчить, и разместите его в /usr/src/redhat/SOURCES: предполагая, что мы говорим о ядре 2.4.20, получите linux-2.4.20.tar.bz2 с одного из многих зеркал http://www.kernel.org/ по всему миру.

  4. Распакуйте архив .tar в /usr/src, то есть:

    # cd /usr/src
    # tar vxjf redhat/SOURCES/linux-2.4.20.tar.bz2
    

  5. Создайте символическую ссылку на директорию, куда вы вытянули из CVS модуль linux-openmosix, например:

    # ln -s /home/mcaserta/src/linux-openmosix/linux-openmosix \
     /usr/src/linux-openmosix
    

  6. Скопируйте .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
    

  7. Теперь настало время проверить номера версий, прежде чем мы сделаем патч-файл: удостоверьтесь, что первые строки файлов /usr/src/linux-openmosix/Makefile и /usr/src/redhat/SOURCES/openmosix-kernel.spec имеют правильные версию ядра и номер ревизии openMosix.

  8. Хорошо, время сделать патч (предполагаю, что мы выпускаем патч для ядра 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
    

  9. На данный момент ваша директория /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
    

  10. Теперь вам всего лишь нужно 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
    

  11. После того, как rpmbuild выполнит свою работу, вы должны будете получить следующие файлы в директории /usr/src/redhat:

    RPMS/i386/openmosix-kernel-2.4.20-openmosix3.i386.rpm		1
    RPMS/i686/openmosix-kernel-2.4.20-openmosix3.i686.rpm		2
    RPMS/i686/openmosix-kernel-smp-2.4.20-openmosix3.i686.rpm	3
    RPMS/athlon/openmosix-kernel-2.4.20-openmosix3.athlon.rpm	4
    RPMS/athlon/openmosix-kernel-smp-2.4.20-openmosix3.athlon.rpm	5
    RPMS/i386/openmosix-kernel-source-2.4.20-openmosix3.i386.rpm	6
    SRPMS/openmosix-kernel-2.4.20-openmosix3.src.rpm		7
    SOURCES/openMosix-2.4.20-3.gz					8
    

    1 двоичный пакет ядра для i386 UP машин
    2 двоичный пакет ядра для i686 UP машин
    3 двоичный пакет ядра для i686 SMP машин
    4 двоичный пакет ядра для athlon UP машин
    5 двоичный пакет ядра для athlon SMP машин
    6 исходный пакет ядра для любой x86 машины (в основном это необходимо, если вам нужны заголовочные файлы ядра openMosix)
    7 исходный пакет ядра
    8 патч-файл ядра, сжатый gzip

  12. Магическое заклинание для извлечения всех файлов из .srpm:

    # rpm2cpio openmosix-kernel-....src.rpm | cpio -di
    

Отдельное спасибо Martin Huy за помощь, когда я пытался собрать все вещи воедино.

Я надеюсь, что вы найдёте этот документ полезным. По крайней мере, он полезен для меня, так как я имею тенденцию забывать вещи в течение нескольких минут после того, как я их закончил :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру