LINUX.ORG.RU

Сборка ядра arch linux с наложением дополнительного патча

 , ,


0

1

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

В общем, в связи с наличествующим у меня багом, на bugs.freedesktop.org мне предложили патч для ядра.

Поставил в арче ABS. Теперь такой вопрос: куда совать этот патч, чтобы он при сборке ядра наложился? Или как его наложить вручную. С каким именем сохранять этот патч?

Гугление даёт варианты для сборки кастомного ядра через ABS и без, но про патчи там глухо.

Кастую активных пользователей арча: geekless, post-factum

★★★★

Добавлять в PKGBUILD. Так-же как остальные патчи, которые там уже есть. Посмотри как там сделано и допиши свой.

Lamppost ★★
()
Ответ на: комментарий от Lamppost

Так, начал сборку - получил такую ошибку:

  -> Найден config
  -> Найден config.x86_64
  -> Найден linux-evrgrn.preset
  -> Найден fix-acerhdf-1810T-bios.patch
  -> Найден change-default-console-loglevel.patch
  -> Найден i915-fix-ghost-tv-output.patch
  -> Найден 3.4.4-fix-backlight-regression.patch
  -> Найден evergreen-fix.patch
==> ОШИБКА: Количество контрольных сумм (md5) не совпадает с количеством файлов в source().
ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

можно просто отключить проверку контрольных сумм (----skipchecksums) или добваить контрольную сумму патча к остальным.

Lamppost ★★
()
Ответ на: комментарий от Lamppost

Угу, уже нашёл куда добавлять.

Теперь другая проблема.

patching file drivers/gpu/drm/i915/intel_tv.c
Hunk #1 succeeded at 1201 (offset -66 lines).
patching file drivers/acpi/video.c
Hunk #1 succeeded at 567 (offset 2 lines).
patching file drivers/platform/x86/acerhdf.c
Hunk #1 succeeded at 185 with fuzz 2 (offset 3 lines).
patching file kernel/printk.c
Hunk #1 succeeded at 61 (offset 3 lines).
patching file kernel/printk.c
Reversed (or previously applied) patch detected!  Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file kernel/printk.c.rej
==> ОШИБКА: Произошел сбой в build().
    Преждевременный выход...

Это-то что? Нужные мне патч в printk.c вроде как изменения не вносит.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

А что так сложно добавить md5 сумму в pkgbuild ?

md5sum evergreen-fix.patch

Полученную сумму добавляете в соответствие с положением файла в 'source='

У вас видим он 8-ой:

md5sums('2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625'
'полученная сумма'
)

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Добавил уже. Он сейчас на другое ругается. И тут я уже без понятия, где проблема.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Вы сначала просто проверьте, что патч накладывется на исходники.

tar -xf linux-3.x.x.tar.bz2
cd linux-3.x.x
cp evergreen-fix.patch ./
patch -p1 -i evergreen-fix.patch
kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Ну вот:

[root@sirius linux-3.4]# patch -p1 -i evergreen-fix.patch 
patching file drivers/gpu/drm/radeon/evergreen.c
Hunk #1 succeeded at 1112 (offset -117 lines).
Hunk #2 succeeded at 1224 (offset -117 lines).
patching file drivers/gpu/drm/radeon/radeon_asic.h
Hunk #1 succeeded at 262 (offset 7 lines).
Hunk #2 succeeded at 398 (offset 12 lines).
patching file drivers/gpu/drm/radeon/rv515.c

Вроде как всё ок.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

Тьфу блин. Открывал для редактирования PKGBUILD 2 раза, во второй раз добавлял изменения для применения самого патча, а сохранить не сохранил. На это он и ругается, второй раз применяется тот же патч. Мде, спать надо больше, однако.

Сейчас попробую исправить.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от Lamppost

Последним. Теперь всё ок, я лоханулся. Скопировал строку с одним из предыдущих патчей и вставил её, сохранил изменения и вышел. Потом опять стал править, но изменения не сохранил. Теперь сборка пошла. Ждёмс.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от ekzotech

И правда, править PKGBUILD не сложно. Но написать с ноля я, в данный момент, точно не осилю =)

И да, я буду всегда внимательным и буду проверять PKGBUILD 2 раза.

ekzotech ★★★★
() автор топика
Ответ на: комментарий от post-factum

Ну вроде как да =)

Тебя скастовал, т.к. ты же ядро со своими патчами собираешь, значит 100% тонкости знаешь =)

ekzotech ★★★★
() автор топика

Ядро можно и не опакечивать, ибо лежит оно в отдельном сральнике, а не по всей системе.

anonymous
()
Ответ на: комментарий от anonymous

Да ладно, жалко что ли =)

Правда я в итоге всё равно косякнул - патченное ядро конфликтует с непатченным. Хотя пофиг. Стандартное удалил, новое поставил, ребутнул - и всё ок, работает нормально, патч помог.

ekzotech ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.