You are on page 1of 2

Инструменты kernel hacking'а.

Итак, первое и самое важное это конечно же исходный код ядра. Взять его
можно на сайте http://kernel.org/. Могу посоветовать скачать, как последний
релиз (на сегодняшний день это 2.6.32.7), так и тот, на котором работает ваша
система. На случай, если соберетесь писать модули ядра, то установите
заголовочные файлы. В ubuntu это можно сделать командой:

sudo apt-get install linux-headers-`uname-r`

Второе, нам необходим редактор с помощью которого мы будем ориентироваться


в ядре. Для этого необходимо, чтобы ваш редактор поддерживал (например модулями)
ctags. Для начала установим ctags:

sudo apt-get install exuberant-ctags

*создать файл с тегами можно к примеру командой: ctags -R -o out_tags_file

Выбор редактора это дело каждого (vim, emacas, gedit, etc), мой выбор пал
на старенький Nedit (Nirvana Editor - http://www.nedit.org/). Также есть и
разные online навигаторы по ядру, вот довольно неплохой ресурс на мой взгляд -
http://lxr.free-electrons.com/source/.

Далее документация. Главную документацию нам предоставляют исходные тексты


ядра. Они представлены в виде 9 раздела справочного руководства (man). Для того,
чтобы их установить необходимо открыть каталог с исходным кодом. Далее:

make mandocs
sudo make installmandocs

*как я понимаю там собраны функции, которые экспортируются ядром

Может понадобиться документация по системным вызовам, чтобы ей


пользоваться необходимо установить пакет manpages-dev:

sudo apt-get install manpages-dev

*информация из manpages-dev находится во 2 и 3 разделах руководства man

Также некоторую документацию можно найти в папке Documentation исходных


текстов ядра. Из обычной печатной литературы сложно что-либо рекомендовать
просто потому, что печатные издания в России несколько устаревшие (года на 2 от
издания в стране «производителя», а для ядра это немаленький срок) в связи с
затратами времени на перевод, но в любом случае в них есть довольно много
актуальной информации.
Можете время от времени заглядывать в рассылку http://lkml.org/ и следить
за происходящим.

Теперь установим Git (http://ru.wikipedia.org/wiki/Git), чтобы быть в


курсе «вся и всего»:

sudo apt-get install git-core

Создайте папку в удобном для вас месте, куда будет скачано дерево ядра
Linux (Linux kernel tree. Внимание! На сегодняшний день это чуть более 700 Мб):

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-


2.6.git linux-2.6

Для большего удобства поставим GUI:

sudo apt-get install giggle


*для kde: sudo apt-get install qgit

Есть неплохое руководство на русском для ознакомления с возможностями git


http://freesource.info/wiki/RuslanHihin/gitusermanual?v=b7s&.

Также в процессе изучения могут понадобиться отладчик и трассировщики. В


большинстве систем они установлены «из коробки». В качестве отладчика
используется gdb (руководство на русском - http://mitya.pp.ru/gdb/gdb_toc.html),
а в качестве трассировщиков ltrace и strace (конечно вы можете использовать
другой отладчик и другие трассировщики).

Вот и все. Я предполагаю, что для большинства задач, связанных с


кодокопанием, информации написанной здесь должно быть достаточно.