Пересборка пакета ядра (Вопрос)

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Пересборка пакета ядра

Сообщение QwErTzz »

Приветствую.
Назрел вопрос: при сборке собственого ядра в debian (lenny) всё проходит штатно, по команде

Код: Выделить всё

fakeroot make-kpkg --append_to_version -custom --revision=rev.01 --initrd kernel_image
собирается пакет, который я устанавливаю в систему. Здесь всё нормально.
Дальше, допустим, я забыл установить в ядре какую-то опцию, например, поддержку переферийной железки. По всем документашкам, наёденным мной в сети я должен набрать команду

Код: Выделить всё

make-kpkg clean
и следом снова первую команду для сборки.
... и опять приходится ждать 1.5 часа, пока ВСЁ ядро скомпилируется. Помоему это как минимум не разумно.
Когда то я сидел на Slackware, там если что-то меняеш в ядре, то по команде make перекомпилируются только затронутые изменения.
Как быть в debian, как его заставить не пересобирать ВСЁ заново?
Спасибо сказали:
Аватара пользователя
gramozeka
Сообщения: 204
ОС: Slackware-14

Re: Пересборка пакета ядра

Сообщение gramozeka »

QwErTzz писал(а):
26.02.2011 14:02
Приветствую.
Назрел вопрос: при сборке собственого ядра в debian (lenny) всё проходит штатно, по команде

Код: Выделить всё

fakeroot make-kpkg --append_to_version -custom --revision=rev.01 --initrd kernel_image
собирается пакет, который я устанавливаю в систему. Здесь всё нормально.
Дальше, допустим, я забыл установить в ядре какую-то опцию, например, поддержку переферийной железки. По всем документашкам, наёденным мной в сети я должен набрать команду

Код: Выделить всё

make-kpkg clean
и следом снова первую команду для сборки.
... и опять приходится ждать 1.5 часа, пока ВСЁ ядро скомпилируется. Помоему это как минимум не разумно.
Когда то я сидел на Slackware, там если что-то меняеш в ядре, то по команде make перекомпилируются только затронутые изменения.
Как быть в debian, как его заставить не пересобирать ВСЁ заново?

Код: Выделить всё

make-kpkg clean

не делай , тогда пересоберётся только то , что изменил , эта команда удаляет все временные файлы сборки ядра , нужна если делается " чистый пакет " , при наладке добавит только время на пересборку .
... ну я же просил четыреста капель , а сдесь четыреста две ...
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

Не проходит, пишет, что нет цели для сборки или что-то вроде, дословно не помню. Смысл похоже в том, что система сборки видит, что пакет уже собран и не делает ничего более, по этому и приходится набирать цель clean.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Пересборка пакета ядра

Сообщение deadhead »

QwErTzz писал(а):
27.02.2011 12:51
мысл похоже в том, что система сборки видит, что пакет уже собран и не делает ничего более, по этому и приходится набирать цель clean.
ну так может стоит лишь пакет удалить
[x] close
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

deadhead писал(а):
27.02.2011 15:29
QwErTzz писал(а):
27.02.2011 12:51
мысл похоже в том, что система сборки видит, что пакет уже собран и не делает ничего более, по этому и приходится набирать цель clean.
ну так может стоит лишь пакет удалить
Который на уровень выше? Удалял конечно, безрезультатно. Ладно, скорее всего у меня в торопях что-то не так пошло. Специально цели я себе не ставил выяснить этот ворос. Просто думал не я один такой)
Всем откликнувшимся спасибо!
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

Ну так что, народ, никто не знает, как многократно пересобирать ядрышко в debian-е, минуя полную компиляцию всего дерева исходного кода при выполнении команд, приведённых мной выше. Может есть ещё какие-то специфические приёмы компиляции ядра, но такие, что бы можно было потом пакет создать для инсталляции через dpkg?
Тема для меня всё ещё актуальна!

PS. С ванильным ядром и способами его компиляции проблем нет, один раз собрал - объектные файлы появились, а в дальнейшем что-нибудь поменял - компилируется только изменение, но установка этого ядра, как мне кажется, не очень вяжется с debain-way ))).
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Пересборка пакета ядра

Сообщение sash-kan »

выполнение этапов make-kpkg фиксирует с помощью stamp-файлов в debian/stamp/
удалите файл с именем нужного этапа или вообще весь каталог stamp.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Пересборка пакета ядра

Сообщение sash-kan »

btw
$ man -P 'less -rp "--rootcmd foo"' make-kpkg
запуск из-под fakeroot требуется только для трёх целей: binary, binary-indep, and binary-arch
afair, для остальных целей make-kpkg и сам без подсказок воспользуется fakeroot-ом при необходимости.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Пересборка пакета ядра

Сообщение sash-kan »

QwErTzz
что-то у вас там не в порядке.
сейчас для освежения памяти поставил make-kpkg.
при изменении .config нормально собирается всё, что нужно.
какая версия kernel-package у вас стоит?
$ aptitude show ~ikernel-package | grep -i version
Version: 12.036+nmu1

как крайнее средство — попробуйте удалить весь каталог debian.

p.s. кстати, проверил. нет, kpkg по умолчанию не использует fakeroot. надо явно опцией указывать. а для трёх упомянутых целей, видимо, можно только внутри fakeroot-окружения запускать.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

sash-kan писал(а):
09.04.2011 18:20
QwErTzz
что-то у вас там не в порядке.
сейчас для освежения памяти поставил make-kpkg.
при изменении .config нормально собирается всё, что нужно.
какая версия kernel-package у вас стоит?
$ aptitude show ~ikernel-package | grep -i version
Version: 12.036+nmu1

как крайнее средство — попробуйте удалить весь каталог debian.

p.s. кстати, проверил. нет, kpkg по умолчанию не использует fakeroot. надо явно опцией указывать. а для трёх упомянутых целей, видимо, можно только внутри fakeroot-окружения запускать.

Код: Выделить всё

root@nas:/usr/src/linux-source-2.6.32# aptitude show kernel-package | grep -i Версия
Версия: 12.036+nmu1
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

Итак, к слову, нашёл очень полезный документ http://kernel-handbook.alioth.debian.org/c...common-building, но для чистоты эксперимента, вместо

Код: Выделить всё

$ make clean
$ make KDEB_PKGVERSION=custom.1.0 deb-pkg
компиляцию сделал командой

Код: Выделить всё

# make-kpkg --initrd kernel_image
, затем снова

Код: Выделить всё

make menuconfig
, поудалял ещё немного ненужных мне драйверов на железки и о чудо!, второй раз действительно не всё пересобиралось...
В общем, не ясно, что было до этого, может параметр в ядре тронул, из-за которого всё заново собиралось или ещё чего, остаётся только гадать, но моя цель разобраться достигнута!
Спасибо sash-kan за внимание к моей теме.

Попутно ещё возник вопрос: имя пакета ядра получается двойным (длинным), где-бы узнать, как формируется это имя.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Пересборка пакета ядра

Сообщение sash-kan »

QwErTzz
каталог debian удалили?
попробуйте воссоздать то, что я у себя вижу:
$ make-kpkg --rootcmd fakeroot kernel_image
по завершении:
$ make menuconfig # включаю какую-нибудь опцию
$ make-kpkg --rootcmd fakeroot kernel_image
из сообщений вижу, что включенные части действительно собираются. сохраните лог этого запуска и посмотрите сами. ну или сюда приложите.

upd. опередили.

QwErTzz писал(а):
09.04.2011 21:04
имя пакета ядра получается двойным (длинным), где-бы узнать, как формируется это имя.
там же в man make-kpkg рассказано о формировании всех этих версий подверсий и добавок к подверсиям.

p.s. хорошее руководство по kernel-package: http://newbiedoc.sourceforge.net/system/kernel-pkg.html
в основном, надо думать, и по сей день актуальное.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
QwErTzz
Сообщения: 24
ОС: Kubuntu 14.10

Re: Пересборка пакета ядра

Сообщение QwErTzz »

Всё повторно пересобиралось возможно из-за указания мной доп. аргумента

Код: Выделить всё

--revision=rev.01
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Пересборка пакета ядра

Сообщение sash-kan »

QwErTzz писал(а):
10.04.2011 07:52
Всё повторно пересобиралось возможно из-за указания мной доп. аргумента

Код: Выделить всё

--revision=rev.01
уж точно не по этой причине.
скорее всего, вы в конфиге какую-то глобальную опцию изменили.
которая и повлекла за собой перекомпиляцию.

p.s. вообще _сборка_ программы происходит, конечно, каждый раз при запусе make (его запускает make-kpkg).
ведь сборка и компиляция — это, всё-таки несколько разные вещи.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: