[mdk-re] Re: custom kernels

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_lic145=2Ekiev=2Eua?=
Пт Фев 22 15:50:05 MSK 2002


On Fri, Feb 22, 2002 at 03:10:13PM +0300, Serge Skorokhodov wrote:
> Намекните, как идеологически выдержанно делать конфиг для custom
Ловите сливки...

---

Цитирую Vadim <checked на mail.ru>:

> Я сунулся раз пересобирать ядро, но успеха не добился - пока ума не
> хватает.
rpm -ivh kernel<vers>.src.rpm
if((manual change)==Ok)
    {
    cd /usr/src/RPM/SOURCES
    emacs kernel<you arch>.config
    [change codepage && remote NLS && other]
    F10 f s F10 f e
    }
else
    {
    cd /usr/src/linux
    make xconfig
    [load config from /usr/src/RPM/SOURCES, Change,
save to /usr/src/RPM/SOURCES]
    }
[В случае пакетов от Alt - задействовать CUSTOM, т.е.
custom.config]

cd /usr/src/RPM/SPECS
rpm -ba kernel<vers>.spec [--target arch]
cd /usr/src/RPM/RMPS/<you arch>
rpm -ivh newkernel.rpm

Кажется, что действий больше, но на самом деле это не
так, к тому же будете застрвхоаны от всякого
безобразия, старое ядро не потеряется (будет доступно в
меню загрузки), да и аккуратнее через RPM.


Rgds!
Roman Savelyev

---

On Fri, 14 Sep 2001 11:34:58 +0400
Leonid Mogilevskiy <leonid.khimki на rambler.ru> wrote:
> А вот на счет последнего, можно ли поподробнее, а то я сделел, но
> строчку
> >пересобрать рпм с кернелем и поставить его.
> не совсем понял.
Мне этот метод тоже не так давно открыли, так что разнести опыт - святая обязанность :)

--------------------------------------------------------------------------------------------------------------------------------------

от рута:

#apt-get source kernel24-up  // загрузить rpm.src пакет, который прописан в указанном пакете (у меня он сохраняется в текущем каталоге)
#rpm -ivh tratata.src.rpm  // подготавливает пакет для сборки (извлекает исходники и спек в дерево /usr/src/RPM/*) опция vh добавляет красивых рюшечек в процесс установки пакета и позволяет отделить чайника от чайника с понятиями :)
--------------------------------------------------------------------------------------------------------------------------------------
вот отсюдова и начинается сборка.

1) перейти в /usr/src/RPM/SPECS

2) отредактировать его под свои нужды
конкретно изменить единички на нолики если данные опции не нужны и наоборот нолик на еденичку если нужны.
смысл опций очевиден из названия, например, build_kernel_doc = 0 это значит не создавать рпм с документацией и тд
3)rpm -bа tratata.spec	//исполнить все стадии спека (build all -ba) 

поставить нужные рпмки из соответствующей директории в /usr/src/RPM/RPMS/твойпроц

---------------------------------------------------------------------------
возможно тебе захочется собрать custom ядро, то есть свое.
естественно конфига для ядра в таком случае заранее нет
тогда имеет смысл дать команду 
1) в спеке поставить 1 напротив build-custom
2) rpm -bp tratata.spec    //исполнить стадию prepare (build prepare  -bp)
после чего перейти в дир /usr/src/RPM/build
и там как обычно сделать make mrproper; make menuconfig
после чего конфиг (.config) скопировать к другим готовым конфигам в /usr/src/RPM/sources/ядро-версия-custom.config
имя смотри по аналогии с другими конфигами.
3) rpm -ba tratata.spec	//исполнить все стадии спека (build all -ba) 
далее как обычно


-----------------------------------------------------------------------
поскольку среди майнтайнеров альтлинукса замечены скрытые философы, то есть люди одновременно радикальные, но очень чуткие до высших истин
неудивительно, что ядро может несобраться сразу.
стоит проверить наличие
flex,byacc,perl и возможно еще какой-нибудь мелочи.
и снова 
rpm -ba tratata.spec

---

Пн 29 Октябрь 2001 13:34, Вы написали:
> Здравствуйте Evgeny,
>
> Monday, October 29, 2001, 3:31:05 PM, you wrote:
>
> EY> Здравствуйте All,
>
> EY> После сегодняшнего апгрейда из Сизифа установилось 2 копии Grub причем
> EY> старая не хочет удаляться! :o(
> Ок спасибо ужо поправил... :o)
> Кстати а ктонибудь может объяснить технологию по пунктам как
> пересобрать кастом ядро!?
1. Ставится пакет src.rpm
2. В файле /usr/src/RPM/SPECS/kernel-2.4.spec правятся
%define BUILD_CUSTOM 1
%define ВUILD_BOOT 0
%define BUILD_SECURE_SMP 0
%define BUILD_SECURE_UP 0
%define BUILD_RSBAC_SMP 0
%define BUILD_RSBAC_UP 0
%define BUILD_SMP 0
%define BUILD_UP 0
...
здесь на выбор
...
%define CUSTOM <здесь как хотите назовите>
%define BUILD_CUSTOM_PCMCIA 1/0     - что вам нужно - ставите 1
%define BUILD_CUSTOM_ALSA 1/0
%define BUILD_CUSTOM_DRM 1/0
%define BUILD_CUSTOM_DXR2 1/0
...
В функции BuildKernel()
make oldconfig правьте на 
make {menuconfig|config}
...

3. В каталоге /us/src/RPM/SOURCES берется файл (для PII/PIII) 
kernel-2.4.12-i686-up.config и копируется в файл kernel-2.4.12-i686-<имя 
CUSTOM>.config
4. Пользователем запускается rpm -bb kernel-2.4.spec
5. Настраиваете ядро по своему вкусу.
6. Получаете готовенькое

В последствии можно переправить строку с make обратно на make oldconfig и 
просто таскать из ядра в ядро свой конфиг, меняя в нем только версию ядра.
Ежели что-то непонятно - пишите.
- -- 
С уважением, Епифанов Сергей.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ http://visa.chem.univ.kiev.ua/~mike/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 232 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20020222/36a407c8/attachment-0008.bin>


Подробная информация о списке рассылки community