104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
1

Пересобрать ядро (AlexElec, RPi)

13.06.2018, 19:28. Показов 1869. Ответов 9

Author24 — интернет-сервис помощи студентам
Здравствуйте! Есть такая ОС как AlexElec это переделка и аналогичная система LibreElec, OpenElec и тд.

У меня неадекватно подключается к ней геймпад Shanwan PS3 Controller (клон дуалшока) - постоянно вибрирует.
Так вот, нашел забугром возможное решение проблемы - ТУТ.

Человек пишет:
File linux.../drivers/hid/hid-sony.c should be modified in kernel sources and kernel should be recompiled.
Перекомпилировать.... страшно но я решился. И самое интересное базовых понятий так и не нашел в интернете.
До сих пор не понимаю как это работает, я не последний человек в комп. технике, но даже я не допёр до сих пор.

Так вот - кругом видосы, статьи как собрать НОВОЕ (своё) ядро. Так вот, мне ничего своего собирать не надо, я могу вытянуть уже имеющееся ядро из этой ОС, каким то образом перейти в нём в директорию " linux.../drivers/hid/hid-sony.c" открыть текстовым редактором что то там изменить (это уже другой вопрос) и сохранить всё, и сделать так чтобы было всё тоже самое только в этом файле были изменения.

Я вообще правильно смыслю?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2018, 19:28
Ответы с готовыми решениями:

RPi access point
Здравствуйте, я хочу использовать RPi Zero W, как точку доступа при подключении к которой можно...

Пересобрать ядро FreeBSD
требуется пересобрать ядро FreeBSD чтобы в состав модулей был включен уже модуль ipfw. какие...

Как пересобрать ядро FreeBSD?
подскажите пожалуйста как пересобрать ядро FreeBSD. приходиться изучать ОСь,... знаний у меня о...

Что такое микропроцессорное ядро (и ядро вообще)?
Здравствуйте,начал читать книгу "Архитектура Компьютера",и у меня возник вопрос. Что такое...

9
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
13.06.2018, 19:41 2
Цитата Сообщение от makinaru Посмотреть сообщение
Я вообще правильно смыслю?
Нет. После изменения файла вам придется собрать модуль ядра, затем его установить.
0
104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
13.06.2018, 19:49  [ТС] 3
Цитата Сообщение от gng Посмотреть сообщение
собрать модуль ядра, затем его установить
Тогда что мне нужно знать, минимум, чтобы подправить этот файл, и чтобы операционка осталась такой же как она и была грубо говоря, за исклчюением подправленного файла.
И вообще где этот файл лежит, где этот каталог?!..
Мне нужно на уже установленной системе найти этот файл, изменить, да? А только потом что то делать с "ядром"
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
13.06.2018, 21:04 4
Цитата Сообщение от makinaru Посмотреть сообщение
Тогда что мне нужно знать, минимум, чтобы подправить этот файл, и чтобы операционка осталась такой же как она и была грубо говоря, за исклчюением подправленного файла.
И вообще где этот файл лежит, где этот каталог?!..
Мне нужно на уже установленной системе найти этот файл, изменить, да? А только потом что то делать с "ядром"
Во-первых, нужно скачать исходники ядра. Лучше всего - установкой пакета с исходниками из репозитория своего дистрибутива.
Как называется пакет и как его устанавливать - зависит от дистрибутива. С вашим AlexElec я не знаком.
(Как альтернатива - исходники можно скачать с kernel.org. Но тогда, 1) они будут отличаться от тех, из которых собрано ваше ядро и 2) придется собирать всё ядро, а не только модуль).
Во-вторых, нужно установить компилятор gcc и утилиту сборки make.
Далее, нужно найти нужный файл и внести исправления.
После этого нужно сконфигурировать, собрать и установить модуль. В корневой директории модуля (Либо в той же, где правленый файл, либо н а 1-2 выше по дереву) лежит файл README. Там описано, как это делать.
0
104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
14.06.2018, 08:51  [ТС] 5
Цитата Сообщение от gng Посмотреть сообщение
Во-первых, нужно скачать исходники ядра. Лучше всего - установкой пакета с исходниками из репозитория своего дистрибутива.
Вот тут, на странице Github'а его, есть какая то страница с Raspberry Pi, возможно там есть "ядро"? Я посмотрел на сайт kernel.org - если нажать на " "tarball" начнется скачиваться файл с расширением .gz. Получается ядро - это как я и сказал - файлик-архив?!.

А уже с установленной системы можно взять ядро? или вытащить каким либо способом из .img образа?
Хочется минимум правок вносить, только ту, что в главном посте по ссылке.

Так же, пока что не понимаю как это установить модуль, т.е. на работающей запущенной сборке просто установить как любое приложение? Если так, то хочу предупредить что сборки медиацентров типа LibreElec, AlexElec и тд - ограниченные, там нельзя ничего устанавливать и apt-get не работает. Но должен же быть способ добавить туда что нибудь, это же опенсурс все таки.... Ответьте пожалуйста на каждый вопрос...

Добавлено через 32 минуты
gng, Уважаемый! По моему я что то нашёл - ССЫЛКА на Гитхаб

Там есть две ссылки на Sourсe code - это ли не исходники?
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
14.06.2018, 09:59 6
Цитата Сообщение от makinaru Посмотреть сообщение
Ответьте пожалуйста на каждый вопрос...
Приступаем
Цитата Сообщение от makinaru Посмотреть сообщение
А уже с установленной системы можно взять ядро? или вытащить каким либо способом из .img образа?
Файлы ядра обычно находятся в /boot. Модули в /lib/modules. Но это бинарные файлы и внести туда правки проблематично, а на практике - невозможно.
Цитата Сообщение от makinaru Посмотреть сообщение
Так же, пока что не понимаю как это установить модуль, т.е. на работающей запущенной сборке просто установить как любое приложение?
Если вы правильно соберете модуть нужной версии, то достаточно будет просто заменить файл в /lib/modules/.../
Цитата Сообщение от makinaru Посмотреть сообщение
Там есть две ссылки на Sourсe code - это ли не исходники?
Это исходники. Нужно проверить, что версия ядра и архитектура в точности соответсвовуют вашим. Свою можно посмотреть, выполнив команду
uname -a.
А теперь самое главное - модуль нужно собрать - из исходных текстов на языке Си получить бинарный файл. Для этого используется компилятор и утилита сборки. Не, знаю, как вы с этим справитесь. Советую поискать более простой способ. Узнайте свою архитектуру и версию (uname -a) и где-нибудь на форуме по вашему дистрибутиву или у автора попросите уже собранный (скомлилированый) модуль.
0
104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
14.06.2018, 11:10  [ТС] 7
gng,
Кликните здесь для просмотра всего текста
Пересобрать ядро (AlexElec, RPi)
0
104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
14.06.2018, 11:12  [ТС] 8
gng,
Кликните здесь для просмотра всего текста
Пересобрать ядро (AlexElec, RPi)


Вот версия. Хорошо что эта команда работает.

Вот перечитываю это сообщение автора "File linux.../drivers/hid/hid-sony.c should be modified in kernel sources and kernel should be recompiled." Вот звучит всё как то довольно не сложно, такое ощущение что этот файл должен быть у меня уже непосредственно в системе, но кстати у меня каталога boot совсем нет, либо просто к нему доступа нет.... не могу в него зайти и команда ls -a не видит
0
104 / 47 / 3
Регистрация: 19.03.2013
Сообщений: 448
14.06.2018, 11:18  [ТС] 9
Кликните здесь для просмотра всего текста
Пересобрать ядро (AlexElec, RPi)


Может ядро в другом месте...

Цитата Сообщение от gng Посмотреть сообщение
Если вы правильно соберете модуть нужной версии, то достаточно будет просто заменить файл в /lib/modules/.../
Там мне модуль надо собрать или ядро? Над модулями работать можно независимо от ядра?

Цитата Сообщение от gng Посмотреть сообщение
А теперь самое главное - модуль нужно собрать - из исходных текстов на языке Си получить бинарный файл.
Ни на одном таториале не видел такого Оо. Вот смотрите вроде доходчиво написано тут, но ни слова о сборке модулей или подобного.....они делают на основе ядра из kernel,org.
Кстати я скачал последнее ядро из кернела, открыл в архиве и нашел ту директорию непосредственно о которой говорит автор (файл hid-sony.c) Но это в кернеле....а вот в исходниках Алекса такого не нашел(
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
14.06.2018, 14:32 10
Цитата Сообщение от makinaru Посмотреть сообщение
Вот смотрите вроде доходчиво написано тут, но ни слова о сборке модулей или подобного.....они делают на основе ядра из kernel,org.
Во-первых, при сборке ядра собираются и модули, но это значительно дольше.
Во-вторых, во встраиваемых дистрибутивах ядро может быть собрано и монолитно, без модулей.

Повторю свой совет - обратитесь с вашей проблемой к автору дистрибутива. Возможно, он вовсе не использовал при сборее файл hid-sony.c, а пользовался другим драйвером.
0
14.06.2018, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2018, 14:32
Помогаю со студенческими работами здесь

Не запускается Kali Linux на RPi Zero w
Записывал образ на флешку через win32diskimager и через balenaEtcher результат одинаковый. Образ...

Плата расширения для RPi 1-2-3 и внешнее питание
Решил я тут сделать свою плату для Raspbery Pi 1-2-3 с STM32F4 и двумя nrf24L01+ с усилителями. А...

Выбор технологии разработки для проекта медиаплеер на RPi
Доброго всем времени суток! Народ подскажите плиз, если кто сталкивался. Есть у меня задача и...

Пересобрать SSH
Всем Привет!!! Обясните пожалоста или ткните в ссилку носом.... Вот есть ситуация настроен роутер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru