LINUX.ORG.RU

[arm][android][kexec] Нужна помощь ядерного программиста при написании модуля

 ,


0

0

Доброе время суток!
Очень нужна помощь программиста, умеющего написание модулей ядра.
Суть проблемы - загрузить kexec модуль в работающее ядро.
Но ядро не ванильное - от Моторолы.

Как пример http://git.openinkpot.org/contrib/reloaded-2.6.git/tree/main.c
Исходники ядра http://and-developers.com/motorola_milestone:tools:kernel_sources

А вот собственно задача.

Process (by montagnard)

Rough How-To

1. create a new module
2. copy kexec code from /kernel/kexec.c to this file
3. remove kdump support
4. because kexec need export_symbols that are not avaible parse kallsymqs in order to get these symbols
5. import the machine specific part from arm arch to this module
6. we could not add the kexec syscall not problem create a pseudo file system with an ioctl matching the kexec syscall. Do ioctl on the root directory of the pseudo filesystem
Difficulty

Step 1, 2 and 3 are easy. Step 4 could be easy exemple are ready searching for rootkit lkm 2.6 :). Step 5 is self contained in arch directory. Step 6 is easy. Because power management is compiled in (in moto kernel) stopping cleanly the machine is safe by default.

So a 8 hour man project (for the right man, that is!).

Я думаю кто пишет ядерные модули - хорошо читает по-английски.

★★★★★

Вот кстатит пример модуля для ядра моторолы http://pastebin.com/f2b0252a5 Само ядро - патченое 2.6.29

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

>Суть проблемы - загрузить kexec модуль в работающее ядро.

Судя по примеру суть - перезагрузить ядро с новой корневой фс в initrd :) Только я не понял - для моторолы зачем какие-то навороты с псевдофайловой системой ?

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

Ну не совсем. Главное просто ядро использовать лишь как загрузчик для своего ядра (ну и initrd соотв.). Псевдофайловая система нужна из-за каких-то там ограничений на использование таблицы разделов CDT. Но на мой вопрос конкретно зачем, внятного ответа не было - поэтому и привел как есть.

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

Каким способом будешь оплачивать и сколько оплата? А так же вопрос по платформе и удалённой отладке - что вы можете предложить?

Кстати, насколько я помню - могут возникнуть проблемы с загрузкой модуля в моторольное ядро. По крайней мере, раньше, в LJ, была забавная система:

1. Загружается модуль,

2. Через предоставляемый интерфейс загружаются sha256 хеши некоторых секций модуля (т.е. грубо говоря «сигнатуры» всех разрешённых для загрузки модулей).

3. Загруженный модуль в п.1 убирается.

4. Грузить можно только те модули, для которых есть №сигнатуры".

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

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

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

Да, ваши пожелания по поводу оплаты и deadline жду на xvilka[ta]gmail.com

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

> Это сложнее, но думаю лучший вариант - предоставить реальный аппарат. Так скорее всего и будет.

Тут не все из Москвы/Питера, так что с предоставлением девайса могут быть проблемы/задержки

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

> Блин. А ведь и правда... Не подумал Ну тогда только удаленка

Удалённая работа - лишние проблемы обладателю девайса и тебе + увеличение сроков. Для такого маленького проекта затраты на «всё про всё» будет сопоставима по срокам/стоимости с разработкой основной части.

Так что лучше ищи кого-нить в твоём городе. Уверен, что проблем с поиском возникнуть не должно. Лучше искать студента - дешевле выйдет =)

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

Свяжусь в понедельник - в эти дни меняется кое-какая часть необходимых функций модуля в тз.

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