LINUX.ORG.RU

Написать модуль ядра Linux - проще простого

 , ,


0

0

На сайте Linux.com появилась статья с инструкциями о том, как с нуля написать свой модуль ядра. В ней подробно описан весь процесс разработки простого модуля от написания кода до сборки, установки и запуска. Статья окажется полезной не только людям которые будут писать модули и драйверы, но и просто желающим глубже разобраться в особенностях функционирования механизма модулей Linux

>>> Подробности



Проверено: boombick ()

Действительно, элементарно всё. Думаю, сегодня напишу 2 модуля, а завтра возьмусь за это дело с самого утра и осилю 5.

ptarh ★★★★★
()

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

stave ★★★★★
()

Про то,как написать модуль хелловорлд уже over 9000 страниц исписано. Ну и зачем нужна эта статья?

maverik ★★
()

Смысел не в знании макроса MODULE_INIT, а в том, чтобы грамотно интегрироваться в нужную подсистему, не налепить багов и уметь синхронизироваться гитом.

ierton ★★
()

Помню целые 3 недели я писал модуль ядра. Подошел товарищ и спросил "а зачем, ты же не умеешь программировать, и твой кривой модуль нахрен никому не нужен". И так мне горько и обидно стало, дал я ему в морду и не стало у меня товарища.

Sun-ch
()

Для ядра уже итак полно всяких модулей. Может, ну его?
Лучше бы кто выложил инструкцию, как заставить нормально работать уже имеющиеся модули.

ist76 ★★★★★
()

хелловорлд бесполезен. хотя бы в ttyS писало или индикаторами на клавиатуре мерцало :( хочу больше.

UlrichDrepper
()
Ответ на: комментарий от Sun-ch

Кривой модуль.

>Помню целые 3 недели я писал модуль ядра. Подошел товарищ и спросил "а зачем, ты же не умеешь программировать, и твой кривой модуль нахрен никому не нужен". И так мне горько и обидно стало, дал я ему в морду и не стало у меня товарища.

Поддерживаю Sun-ch'а, для человека без достаточной квалификации написание собственных модулей ядра баловство и пустая трата времени, а для тех кто умеет писать на C, статьи уровня hello_world.ko не нужны.

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

У эппла руководство по написанию драйверов начинается с главы "А может ну его нафиг?", в которой они пытаются убедить читателя, что ему лучше решать свою задачу в юзер-спейсе. ИМХО правильный подход. Не надо создавать иллюзию того, что писать модули ядра -- это просто.

Relan ★★★★★
()

на-редкость адекватные коменты

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

>а что в ней интересного и нового?

Теперь я смогу сделать модуль ядра для коврика от мыши, ура! \o/

X-Pilot ★★★★★
()
Ответ на: комментарий от Relan

>У эппла руководство по написанию драйверов начинается с главы "А может ну его нафиг?", в которой они пытаются убедить читателя, что ему лучше решать свою задачу в юзер-спейсе.

Эппл всегда пытается убедить пользователя что ему ничего не надо, ему надо только платить сколько сказали.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от Sun-ch

Откуда ты берешь такие высосанные из пальца истории. У тебя там мини-огородик с травой, на окне, что ли?)

ptah_alexs ★★★★★
()

К сожалению, программисту, для написания модуля ядра, обязательно нужно полноценное руководство на которое эта статья никак не тянет. Зачем человек ее писал вообще непонятно, когда есть например вот это: http://tldp.org/LDP/lkmpg/2.6/html

A-234 ★★★★★
()
Ответ на: комментарий от Sun-ch

>Помню целые 3 недели я писал модуль ядра. Подошел товарищ и спросил "а зачем, ты же не умеешь программировать, и твой кривой модуль нахрен никому не нужен". И так мне горько и обидно стало, дал я ему в морду и не стало у меня товарища.

[исповедь разработчика fglrx]

frame ★★★
()

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

А статей таких много. Толку от них мало. Для тех кто хочет или должен таким заниматься без внимательного прочтения http://lwn.net/Kernel/LDD3/ или http://tldp.org/LDP/lkmpg/2.6/html/index.html не обойтись.

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

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

Капитан, с вами невозможно спорить!
Статья, безусловно, рассчитана именно на тех, кто пишет драйвера для какой-нибудь диковинной железки. Без нее им драйвера не написать вообще никак.

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

>Там мышью?

набрать имя модуля клавиатурой все-таки придется

B084 ★★
()

вот так в линуксе все и работает, а потом кто-то еще заикается про поддержку железа во FreeBSD

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

>вот так в линуксе все и работает, а потом кто-то еще заикается про поддержку железа во FreeBSD

как можно заикаться о том чего нет?

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

Лучшая в мире система - РусОС! Правда, в ней ни хрена нет, но "отсутствие, имхо, лучше чем кривые драйверы"

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

> Лучшая в мире система - РусОС! Правда, в ней ни хрена нет, но "отсутствие, имхо, лучше чем кривые драйверы"

ты лучше в конфу зайди иль в жаббир мне напиши, кой чего спросить тебя нужно :)

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

Ну дык ты как будто жид мой не знаешь. В профиль хоть загляни, что ли :)

MYMUR ★★★★
()

Лет пять назад читал такую же статью на русском языке, на новость точно не тянет.

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

Неправда Ваша! Лучшая в мире ОС -- "принцип". Там все работает :)

gns ★★★★★
()

Ну вот, ждем продолжения:

"Сетевой драйвер для чайников" и "Руководство по созданию файловых систем для полных идиотов".

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

> Не надо создавать иллюзию того, что писать модули ядра -- это просто.

Солидарен! Это грабли по которым уже сто раз ходили. Причём грабли детские. Мой батя в своё время занимался ремонтом телевизоров, так матерился на книжки типа "Телевизор это просто", "Отремонтируй телевизор своими руками" и.т.п. В результате приходилось восстанавливать технику после того, как там самоуверенный дурак полазит...

А у нас сейчас то и дело вылазят всякие "Компьютер это просто". В итоге масса необучаемых идиотов мнит себя сисадминами и ездят по ушам наивным юзверям заявами, что всё, блин, легко! А те и верят же! Потом фиг кому докажешь, что твоя работа только со стороны кажется лёгкой, а на самом деле требует массу внимания, знаний и стоит денег.

Сорри за оффтоп.

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

ЧСВ такое ЧСВ.

>Потом фиг кому докажешь, что твоя работа только со стороны кажется лёгкой, а на самом деле требует массу внимания, знаний и стоит денег.

Боишься, что скоро уволят? Правильно делаешь.

Christmas_tree_Toys
()

Зря ты тут сюда эту новость запостил. Вот щас вся школота собирется и напишет, каждый по три, нет - по четыре модуля ядра! И будет тогда Линуксу счатие.

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

>так матерился на книжки типа "Телевизор это просто", "Отремонтируй телевизор своими руками" и.т.п.

Кстати, да. Когда учился в универе, то был там такой препод, электронщик. Суровый такой с проедеными Гостом мознами.

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

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

Ну, во первых, не ЧСВ, а банальное "За отчизну обидно".

Во вторых, меня не уволят - это я могу уволить.

Ты по себе не суди.

А вот договора заключать, когда приходится доказывать, что работа моих ребят, которые с нормальными "вышками" и сертификатами, стоит денег - приходится. И это приходится доказывать после таких дебилизмов, когда очередной долбодятел школьного возраста заявил, что "неисправна звуковуха или что-то с драйверами", а делов-то снять галку, выключающую звук в регулировке громкости, которую воткнул бестолковый пользователь... Причём как и когда воткнул - сам не помнит и не заметил.

И ты ему покажешь эту фигню, и в следующий раз он опять позовёт какую-то "школоту", которая бъёт себя пяткой в грудь...

P.S. Слава Богу есть и адекватные заказчики...

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

Ну он хоть на студента собак и спустил, да дело не в студентах... Вот когда голимый электрик лезет в электронику, а потом искренне удивляется что у него ничего не работает... А тебе будет доказывать, что то, что ты вернул всё в рабочее состояние, не так уж оказалось и сложно, и что ты много денег хочешь за свою работу. Такое вот и достаёт.

С компьютерами будет такая же проблема, если создавать иллюзию, что всё просто.

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

>Заголовок жжот.

Ага. :) "... проще простого. Том 3-й, стр. 867"

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

> топменеджер детектед

Не обзывайся. Я не только рулю. Я ещё и непосредственно участвую в работе.

> сам дурак, ололо

Прям даже не знаю как реагировать... Начало каникул уже отпраздновал? Список литературы на лето маме показал?

Короче, веди себя прилично. [Тон спокойный. Это просьба.]

AndreiBA
()

Интересно, а с чего лучше начать написание драйвера для HP ScanJet 2400 C(был куплен давно, когда стояла винда, теперь есть закрытый 32-битный драйвер, желание перелезть на 64 и нежелание ставить вторую систему из-за одного сканера)?

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