Bug 9901

Summary: Поддержка kernel-image-xen
Product: Sisyphus Reporter: Denis Pynkin <dan4s>
Component: xenAssignee: Alex Yustasov <yust>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: minor    
Priority: P2 CC: shadrinov
Version: unstable   
Hardware: all   
OS: Linux   

Description Denis Pynkin 2006-08-21 12:34:49 MSD
Необходимо добавить в kernel-source-xen Makefile, Config.mk и buildconfigs/*
Это позволяет использовать оригинальные Мakefile для _подготовки_ дерева
исходников ядра к последующей компиляции.


--- xen.spec.orig       2006-06-24 10:41:09 +0400
+++ xen.spec    2006-08-18 14:50:09 +0400
@@ -132,7 +132,7 @@
 %patch6 -p1

 %build
-%__tar --exclude-from=%SOURCE1 -cvjf xen-source-%need_kernel-%version.tar.bz2
linux-2.6-xen-sparse xen patches
+%__tar --exclude-from=%SOURCE1 -cvjf xen-source-%need_kernel-%version.tar.bz2
linux-2.6-xen-sparse xen patches buildconfigs Makefile Config.mk

 # ugly hack for building python binding's // begin
 pushd tools/libxc
Comment 1 Alex Yustasov 2006-08-21 14:41:20 MSD
Т.е. Вам не нравится идея такой сборки, которую предложил я или Вы не донца
посмотрели? Я не собирал все пакеты в сизиф, только заливал в cvs. В cvs/kernel
(как им немного пользоваться http://wiki.sisyphus.ru/devel/KernelCVS?v=chw) или
в git есть пакеты kernel-feat-arch-xen и kernel-fix-arch-xen. Они нужны, чтобы
приложить, как мне кажется, правильно xen-source с наибольшим количеством feat и
fix. Вначале feat-arch-xen c inverse патчами и xen-source; в конце fix-arch-xen,
исправляющий до нужного. Что касается конфигов, то сборка ядра у нас "другая"
немножко, поэтому
xen/buildconfigs я не паковал. Если есть желание, силы и время я могу отдать эти
пакеты, NMU или насовсем. Сейчас я не проверял, собирается ли kernel-image-xen,
с изменениями в feat/fix ядра оно погло поехать.
Comment 2 Denis Pynkin 2006-08-21 15:55:49 MSD
(In reply to comment #1)
> Т.е. Вам не нравится идея такой сборки, которую предложил я или Вы не донца
> посмотрели? Я не собирал все пакеты в сизиф, только заливал в cvs.

значит не до конца посмотрел, если не все пакеты.
Но в общем не совсем нравиться идея подготовки ядра к компиляции, с учетом того,
что разработчики xen уже сделали большую часть работы по подготовке дерева
исходников.
Т.о. можно использовать их скрипты для создания корректного дерева для текущей
версии ядра, при этом не нужно создавать kernel-feat-xen, ну а патчи, которые
предусмотрены разработчиками, также будут накладываться автоматически, т.е.
kernel-fix-arch-xen также становиться ненужным.
Из минусов можно отметить, что при этом используется очень много места, т.к.
происходит неоднократное копирование всего дерева :-(
Из плюсов - меньше работы при пакетировании, поскольку не будет выполняться
дублирование уже проделанной работы, ну и гарантия, что при каких-либо
изменениях внутренней структуры продукта не придется переделывать заново эту
часть работы (хотелось бы на это надеяться)

Фактически на долю майнтейнера остается следить за 2-мя пакетами - xen и
kernel-image-std26-xen.

> исправляющий до нужного. Что касается конфигов, то сборка ядра у нас "другая"
> немножко, поэтому xen/buildconfigs я не паковал.

на самом деле из этого каталога необходимы не конфиги, а Rules.mk и mk-linux-*,
но конфиги, имхо, не помешают, хотя бы в качестве примера.

Кстати, чуть не забыл, надо еще добавить компиляцию и опакечивание tools/misc. В
частности для mbootpack - иначе кроме grub'а ничего нельзя использовать в
качестве загрузчика.

> Если есть желание, силы и время я могу отдать эти
> пакеты, NMU или насовсем. 

хм... надо думать, поскольку заниматься-то я буду (по необходимости, ну и
интересно вообщем-то), но есть разница - делать это для себя и постоянная
поддержка пакета.
Comment 3 Alex Yustasov 2006-08-21 16:07:55 MSD
Разработка xen до сих пор на 2.6.16.13. Если предложите другой вариант, который
позволит приложить вместе с xen kernel-fix-core, например, буду признателен.
> Из минусов можно отметить, что при этом используется очень много места, т.к.
> происходит неоднократное копирование всего дерева :-(
Вы про размеры пакетов? kernel-feat-arch-xen 7K, kernel-fix-arch-xen 3K.
Копирование при сборке да, а дублирования нет.
меньше работы при пакетировании, поскольку не будет выполняться
> Кстати, чуть не забыл, надо еще добавить компиляцию и опакечивание tools/misc. В
> частности для mbootpack - иначе кроме grub'а ничего нельзя использовать в
> качестве загрузчика.
Согласен, я кроме grub больше ничем не пользовался.
Comment 4 Denis Pynkin 2006-08-21 17:14:15 MSD
(In reply to comment #3)
> Разработка xen до сих пор на 2.6.16.13. Если предложите другой вариант,
которыйпозволит приложить вместе с xen kernel-fix-core, например, буду признателен.

Проблема только вот в этом - 2.6_37_x86_64-syscall-exit-tracing.patch
Судя по основательно переписанному arch/x86_64/kernel/entry.S для Xen, наложить
его просто так и не получится :-(
с другой стороны, ядро нормально патчится до последней версии от kernel.org, а
патч на котором валится - не входит в официальную версию.

> > Из минусов можно отметить, что при этом используется очень много места, т.к.
> > происходит неоднократное копирование всего дерева :-(
> Вы про размеры пакетов? kernel-feat-arch-xen 7K, kernel-fix-arch-xen 3K.
> Копирование при сборке да, а дублирования нет.

хм... наверно некоректно выразился. имелось в виду, что использование
оригинальных скриптов от разработчиков требует много копирований во время сборки.
эти плюсы/минусы относились не к Вашей работе, а к использованию готовых
скриптов xen для подготовки дерева исходников.

> > частности для mbootpack - иначе кроме grub'а ничего нельзя использовать в
> > качестве загрузчика.
> Согласен, я кроме grub больше ничем не пользовался.

багу вешать ?
Comment 5 Denis Pynkin 2006-08-21 18:08:29 MSD
(In reply to comment #3)
> Разработка xen до сих пор на 2.6.16.13. Если предложите другой вариант, который
> позволит приложить вместе с xen kernel-fix-core, например, буду признателен.

Ура ! решение есть - использовать более другую версию xen.
в частности на стабильный xen-3.0.2-src.tgz (у меня xen-3.0.2-2) следующие патчи
накладываются:
%add_patch_list kernel-fix-security
%add_patch_list kernel-fix-build
%add_patch_list kernel-fix-core
%add_patch_list kernel-fix-acpi
%add_patch_list kernel-fix-fs
%add_patch_list kernel-fix-net

пока что больше не тестировал.
Comment 6 Alex Yustasov 2006-08-21 19:03:33 MSD
Про misc/tools повесьте, чтобы не забылось.
А остальное... Может попробуете то что лежит в cvs/kernel, оно собирается.
> в частности на стабильный xen-3.0.2-src.tgz (у меня xen-3.0.2-2) следующие патчи
Сами говорили, а если там что-то поменяется. 
> пока что больше не тестировал.
Еще модули попробуйте пособирать.

Comment 7 Denis Pynkin 2006-08-22 15:07:19 MSD
(In reply to comment #6)
> Про misc/tools повесьте, чтобы не забылось.

повесил

> А остальное... Может попробуете то что лежит в cvs/kernel, оно собирается.

верю на слово.
просто нужен еще и spec для сбора всего этого добра в готовый kernel-image, а
его-то я как раз и не смог найти, поэтому сделал сам, о чем в рассылке и написал
(http://lists.altlinux.org/pipermail/sisyphus/2006-August/085525.html), а заодно
и спек скинул, т.к. не только мне это надо оказалось.
Так как я пошел по простейшему пути (решил использовать максимум от
разработчиков), а в текущем пакете не оказалось необходимых файлов, то пришлось
вешать данную багу.

> > в частности на стабильный xen-3.0.2-src.tgz (у меня xen-3.0.2-2) следующие патчи
> Сами говорили, а если там что-то поменяется. 

...то это должно по минимуму влиять на автоматизированную сборку.

> > пока что больше не тестировал.
> Еще модули попробуйте пособирать.

модули ядра ? на данный момент собирается все и работает.
да и не только у меня -
http://lists.altlinux.org/pipermail/sisyphus/2006-August/085604.html. И, кстати,
у человека на текущем сизифе и с kernel-fix-core собралось.

PS если интересно дикуссию продолжать, давайте дальше напрямую связываться, а то
скоро оффтопик будет
Comment 8 Alex Yustasov 2006-08-22 16:29:53 MSD
>> Может попробуете то что лежит в cvs/kernel, оно собирается.
> верю на слово.
Спасибо. Вообщем-то мне как-то странно, когда я еще в прошлый четверг писАл о
cvs/kernel, здесь давал на всякий случай ссылку что это такое, и ядра у нас,
кажется собирались через cvs когда-то, может уже и нет, не следил.
Comment 9 Denis Pynkin 2006-08-22 17:33:05 MSD
(In reply to comment #8)
> >> Может попробуете то что лежит в cvs/kernel, оно собирается.
> > верю на слово.
> Спасибо. Вообщем-то мне как-то странно, когда я еще в прошлый четверг писАл о
> cvs/kernel, здесь давал на всякий случай ссылку что это такое, и ядра у нас,
> кажется собирались через cvs когда-то, может уже и нет, не следил.

в четверг не мне видимо писали.

посмотрел-таки ваши спеки... верю, что работает ;-) но не на _текущем_ сизифе
проблема все же в том, что в сизифе уже на протяжении нескольких месяцев не
наблюдается kernel-fix-*xen и kernel-image-xen*, соответственно складывается
впечетление, что не поддерживается пакет.

что ж, тогда можно считать, что баг заведен неверно, но есть просьба проследить
за появлением ваших пакетов в репозитории.