Bug 42216 - Не собираются внешние модули на ядрах 5.15, 5.16
Summary: Не собираются внешние модули на ядрах 5.15, 5.16
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-mp (show other bugs)
Version: unstable
Hardware: aarch64 Linux
: P5 normal
Assignee: Sergey Bolshakov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-23 09:43 MSK by Alex Moskalenko
Modified: 2022-04-21 12:34 MSK (History)
1 user (show)

See Also:


Attachments
Лог неудачной сборки (9.18 KB, text/x-log)
2022-03-23 09:43 MSK, Alex Moskalenko
no flags Details
Лог удачной сборки с сообщениями об отсутствии pahole-flags.sh (9.11 KB, text/plain)
2022-04-21 11:37 MSK, Alex Moskalenko
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Moskalenko 2022-03-23 09:43:18 MSK
Created attachment 10448 [details]
Лог неудачной сборки

Пытаюсь собрать модуль для WiFi на Orange Pi Zero Plus. Сборка заканчивается с ошибкой из-за отсутствия в пакетах kernel-headers и kernel-headers-modules различных скриптов, требующихся для сборки модуля. Такое поведение было замечено на ядрах 5.15 и 5.16. С пакетами kernel-headers* от ядра 5.10-std-def модуль собирается без ошибок. Также модуль собирается без ошибок на полном дереве исходников ядра, из которых были локально пересобраны пакеты kernel-{image,headers,headers-modules}-5.16.12-mp-alt1 и работает с ним.

Похоже, что в ядрах, начиная с 5.15, что-то изменилось в системе сборки, и в пакеты kernel-headers и kernel-headers-modules попадает не все, что требуется для сборки.

Во вложении - лог неудачной сборки.
Comment 1 Sergey Bolshakov 2022-04-20 13:02:42 MSK
исправлено в 5.17.4-alt1
добавлен также модуль r8189fs, что, по-видимому, должно избавить
от желания собирать отдельно -- но этой платки у меня нет.
Comment 2 Alex Moskalenko 2022-04-21 11:37:00 MSK
Created attachment 10629 [details]
Лог удачной сборки с сообщениями об отсутствии pahole-flags.sh
Comment 3 Alex Moskalenko 2022-04-21 11:44:09 MSK
Спасибо, с новым ядром модуль собирается и работает, правда, сборка ругается на отсутствие scripts/pahole-flags.dh. Закрывать баг или этот pahole-flags.sh нужно доложить в kernel-headers*?

PS Модуль r8189fs из ядра собран с отладочными сообщениями, из-за чего ядро замусоривает логи большим количеством отладочной информации. Если исходники модуля аналогичны моему самосборному, то в файле include/autoconf.h нужно закомментировать #define CONFIG_DEBUG.

PPS Есть небольшой патчик на dts-файл ядра для orange Pi Zero Plus, добавляющий поддержку управления частотой и питанием процессора. Если нам он нужен - могу поделиться.
Comment 4 Sergey Bolshakov 2022-04-21 12:01:42 MSK
(In reply to Alex Moskalenko from comment #2)
> Created attachment 10629 [details]
> Лог удачной сборки с сообщениями об отсутствии pahole-flags.sh

да, я счёл этот скрипт опциональным.
можно добавить, сугубо из эстетических соображений
Comment 5 Alex Moskalenko 2022-04-21 12:10:35 MSK
Если этот мелкий скрипт не потянет за собой зависимостей - можно и добавить. Из эстетических соображений. :)

Баг закрываю. Спасибо!

PS Если есть возможность собрать модуль r8189fs без отладочных сообщений - буду очень признателен.
Comment 6 Sergey Bolshakov 2022-04-21 12:15:28 MSK
(In reply to Alex Moskalenko from comment #3)
> Спасибо, с новым ядром модуль собирается и работает, правда, сборка ругается
> на отсутствие scripts/pahole-flags.dh. Закрывать баг или этот
> pahole-flags.sh нужно доложить в kernel-headers*?
> 
> PS Модуль r8189fs из ядра собран с отладочными сообщениями, из-за чего ядро
> замусоривает логи большим количеством отладочной информации. Если исходники
> модуля аналогичны моему самосборному, то в файле include/autoconf.h нужно
> закомментировать #define CONFIG_DEBUG.

у меня нет этой платки, да и любой с таким wifi, так что было бы хорошо знать,
работает ли оно вообще. Исходники отсюда:
https://github.com/jwrdegoede/rtl8189ES_linux.git
CONFIG_DEBUG в следующей сборке уберу.

> PPS Есть небольшой патчик на dts-файл ядра для orange Pi Zero Plus,
> добавляющий поддержку управления частотой и питанием процессора. Если нам он
> нужен - могу поделиться.

ссылки на patchwork/lkml было бы достаточно, если в этом есть какой-то смысл.
Comment 7 Alex Moskalenko 2022-04-21 12:34:46 MSK
(Ответ для Sergey Bolshakov на комментарий #6)
> у меня нет этой платки, да и любой с таким wifi, так что было бы хорошо
> знать, работает ли оно вообще. Исходники отсюда:
> https://github.com/jwrdegoede/rtl8189ES_linux.git
> CONFIG_DEBUG в следующей сборке уберу.
Мои исходники оттуда же. Оно работает. Не так хорошо, как хотелось бы, но все-таки. Ядро не роняет, машину не вешает.


> > PPS Есть небольшой патчик на dts-файл ядра для orange Pi Zero Plus,
> > добавляющий поддержку управления частотой и питанием процессора. Если нам он
> > нужен - могу поделиться.
> ссылки на patchwork/lkml было бы достаточно, если в этом есть какой-то смысл.
Рабочего набора патчей для Orange Pi Zero Plus не нашел - сделал сам по мотивам https://lore.kernel.org/all/20190130084203.25053-4-wens@csie.org/T/#r7ca6ebe49f179a86448eb12b4114082ebb2423b8
Оригинальные патчи наполовину уже в ядре (таблица частот и напряжений). В файле для Orange Pi Zero Plus отсутствуют ссылки на эту таблицу  и описание регулятора напряжения. Также описание регулятора из патчей по ссылке выше вызывает циклическую перезагрузку платы, которая лечится указанием правильных пинов GPIO для регулятора и удалением вообще упоминаний о enable_gpios.
Стоит ли оно трудов - не знаю. Напряжение, суда по статистике в sysfs, регулируется, частота также повышается-понижается. Температура - минус 2-5 градуса в закрытой коробке (чип с радиатором). Энергопотребление не замерял.