Форум программистов, компьютерный форум, киберфорум
chocobo
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Материалы для изучения Linux Kernel и написания модулей/драйверов

Запись от chocobo размещена 26.12.2014 в 09:13
Показов 26913 Комментарии 3

Всё на английском!

1) Самая лучшая книга по ядру - это исходники. Лучший сайт по исходникам ядра, я считаю

http://lxr.free-electrons.com/ident

Поиск по идентификатору, например вводите struct file и вперед, смотреть как и что.

2) Начнем с русского языка. Очень хорошо описал написание дров, модулей и проччих вещей в ядре - Олег Цилюрик. Очень редко можно встретить более менее актуальный материал по ядру на русском! Очень рекомендую.
http://rus-linux.net/MyLDP/BOO... index.html

3) На opennet.ru тоже есть материал на русском, но там немного посложнее, средний уровень подготовки я считаю, но мне как новичку помогло.

http://www.opennet.ru/base/dev... s.txt.html

4) Теперь перейдем к топовым книгам. Коротенькая, информативная, стандарт для разработчиков ядра, это конечно же Linux Device Driver, 3 издание и Adison.Wesley.Linux.Kernel.Development.3 rd.Edition . По первой (LDD) я делал мноиге примеры, очень рекомендую ее. Вторая как раз по структуре ядра, идеальная прям, открываете оглавление и читаете то что интересно.

Первая книга есть в октрытом доступе, вот оффициальная ссылка.
http://lwn.net/Kernel/LDD3/

5) По написанию дров под линь, очень мало современных материалов и книг, очень прям мало. Потому что ядро развивается очень быстро, каждый день сотни коммитов, поэтому уследить трудно. Но есть еще одна хорошенькая книга. Называется Essential Linux Device Drivers.

Ссылка на амазон:
http://www.amazon.com/Essentia... 0132396556

6) Фундаментальный труд по ядру, это конечно же книга - Undestanding the linux kernel,3rd edition (почти 1000 страниц)

на амазоне
http://www.amazon.com/Understa... 0596005652

Рекомендую Adison.Wesley.Linux.Kernel.Development и Цирюльника, для старта самое то.

Есть еще очень хороший сайт
http://eudyptula-challenge.org/
Который высылает вам задание на почту по программированию в ядре, сложность нарастающая, начиная с hello world, заканчивая патчами в РЕАЛЬНОЕ ядро. Многие после прохождения всех заданий, реально получают работу как kernel developer\kernel hacker.[/QUOTE]

На моем гитхабе вы можете посмотреть следующие примеры (которые перекликаются с примерами из книги Linux Device Driver):

1) Реализация блочного девайса
https://github.com/thatskriptk... lock_dev.c

2) Реализация символьного девайса
https://github.com/thatskriptk... e_module.c

3) Шифрование в ядре, с использованием userspace либы Polarssl (перевел в kernelspace)
https://github.com/thatskriptk... _example.c

4) Простой пример input/output в ядре
https://github.com/thatskriptk... ernel_IO.c
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
  1. Старый комментарий
    Аватар для tezaurismosis
    Большое спасибо. -> в закладки
    Запись от tezaurismosis размещена 26.12.2014 в 19:10 tezaurismosis вне форума
  2. Старый комментарий
    Аватар для chocobo
    пожалуйста собираюсь еще много полезных ссылок вывалить
    Запись от chocobo размещена 27.12.2014 в 16:54 chocobo вне форума
  3. Старый комментарий
    Огромное спасибо за информацию про учебники, именно полезные.
    Но сейчас 2021 год. Статью вашу прочитал сейчас.
    Какие сегодня толковые книги по Линукс ядру и железу? Хотя может и по вышеназванным можно также учиться ?
    Да. Главное читать на русском языке. ( Ну для начала )
    Запись от megavolt2013 размещена 24.03.2021 в 22:02 megavolt2013 вне форума
 
Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru