LINUX.ORG.RU

Linux Device Drivers, 4th Edition ...soon

 ,


3

1

Уже вроде как собираются выпускать новое издание незаменимой классики:

Linux Device Drivers, 4th Edition

Но что делать до октября, а потом еще пару месяцев пока книга физически дойдет?
Другими словами «есть че почитать по теме кодинга для кернела из более-менее не протухшего?».

И сразу сюда еще, раз уже начал писать: что курить для вливания в железяки и ембеддед, тоже лучше посвежее cast Eddy_Em, некромансер и кто тут еще с железяками воюет.

upd: кстати, может сделать раздел для тех. литературы?

★★★★

Последнее исправление: unt1tled (всего исправлений: 2)

Но что делать до октября, а потом еще пару месяцев пока книга физически дойдет?

Очевидно, читать 3е издание.

Другими словами «есть че почитать по теме кодинга для кернела из более-менее не протухшего?».

http://lwn.net/

geks
()

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

markontheboard
()

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

Eddy_Em ☆☆☆☆☆
()

[#] [пожаловаться] [юзер] [блок-цитата] [цитата] Сообщение удалено unt1tled по причине (0)
Ответ на: комментарий от Eddy_Em 16.03.2015 13:47:04

а как рулить железом из юзерспейса?

Ну так у тебя-то обычно железяка по какому-то порту подключается к компьютеру. Или ты планируешь PCI'ные платы изготавливать?

USB работает через libusb, модулей ведра не нужно.

Со всякими ethernet/CAN/RS232/RS485 и т.п. тоже понятно.

Одноплатник свой ты тоже вряд ли будешь разрабатывать. Да и то, стандартные ведра под ARM уже есть под большинство современных микропроцессоров. Для шустрого ногодрыга GPIO обычно хватает готовых модулей, которые через sysfs работают. Крайняк — DMA, но это уже надо права рута иметь, чтобы с /dev/mem работать, что неудобно ввиду потенциальных дыр.

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

да я понял что херню написал вот и удалил

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

Просто нежно поинтересуюсь, а 4-е переиздание оно будет про какое ведро повествовать, в смысле про какую версию?

ТС: http://free-electrons.com/docs - есть такое по embedded, там есть бесплатные забавные очень понятные слайды

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Просто нежно поинтересуюсь, а 4-е переиздание оно будет про какое ведро повествовать, в смысле про какую версию?

батенька, ну что ж Вы так, звезд понахватались, а по ссылкам не ходите...

«this book covers significant changes to Version 3.2 of the Linux kernel»

ИМХО, ничего особо интересного... минимум до 3.8 нужно было. Это не голословное утверждение, а по анализу «#if LINUX_VERSION_CODE >= KERNEL_VERSION(x,y,z)» у себя.

metawishmaster ★★★★★
()
Последнее исправление: metawishmaster (всего исправлений: 2)
Ответ на: комментарий от metawishmaster

А тем временем, уже ведро 4.0...

Эти книжки никогда не успеют быть актуальными хотя бы полгодика-годик после выпуска.

Eddy_Em ☆☆☆☆☆
()

что курить для вливания в железяки и ембеддед

Очень обширная тема. Что именно из, для начала, интересует?

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

с другой стороны, с 3.8 не было ощутимых изменений... конечно, и выборка маленька, но все ж таки...

p.s. ждем, когда Линус перестанет плохо думать о микроядрах и посмотрит на QNX %)))

metawishmaster ★★★★★
()
Последнее исправление: metawishmaster (всего исправлений: 1)
Ответ на: комментарий от metawishmaster

Знал бы ты, как я плевался, когда на 2.4 портировал модуль CAN-контроллера, изначально написанный под 2.2. А как потом матерился, когда это же повторил для 3.4...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от I-Love-Microsoft

согласен

и такой ответил, будто разбирается в вопросе :3

anonymous
()

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

post-factum ★★★★★
()
Ответ на: комментарий от CYB3R

еще вроде нивкаком виде не существует

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

что курить для вливания в железяки и ембеддед

Очень обширная тема. Что именно из, для начала, интересует?

Я в этой теме шарю чуть более чем никак.
В принципе критерии тривиальны: язык си (не плюсы), простенький асм по типу MIPS/ARM, чтобы не дохлое было и здесь и сейчас деньги платили, востребованность. Склоняюсь к армам.

ну, плюс еще линупс каким-нибудь боком к этому всему :)

unt1tled ★★★★
() автор топика
Последнее исправление: unt1tled (всего исправлений: 1)

Рекомендую для погружения автора Олег Цирюлик. У него есть самиздат про ядро и набор статей на http://www.ibm.com/developerworks Ну и есть еще книжка про qnx тоже весьма познавательная.

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

Не знаю, я LDD не читал (точней выборочно). Но вроде как у него рассматриваются чуть более новые версии ядра. Плюс разъясняются какие-то моменты человеческим языком. Вряд ли вы найдете одну книгу которая ответит вам на все ваши вопросы. А вот 2-3-4 может быть и помогут.

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

Например, вот книжка про ARM, правда, она на енглише, но в IT без него никуда. Вот, по сям относительно свежая книга, опять же. Ну и всякие документации по определённому контроллеру тоже, на сайтах производителей искать.

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

За енглиш не беспокойся, говорю на нем как на родном :) на сях, кстати, тоже*. Книгу ту про арм я тут выше уже показывал.

*Это я в ембеддед нибумбум, а так вполне себе магистр CS с опытом работы на C/C++/Java/C#/PLSQL продакшн-ентерпрайз-иформочкикудажебезних-быдлокодер.

unt1tled ★★★★
() автор топика
Последнее исправление: unt1tled (всего исправлений: 1)
Ответ на: комментарий от unt1tled

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

one_more_hokum ★★★
()

Но что делать до октября, а потом еще пару месяцев пока книга физически дойдет?

Полистай книгу Роберт Лав «Разработка ядра Linux» второе издание - это самая лучшая книга, там есть все что необходимо знать. LDD желательно, но не обязательно, лучше смотри исходники актуального ванильного ядра. И пару советов - досконально проработай вопрос о примитивах синхронизации, максимально упрощай код и алгоритмы, бей в ебло поттерингу при встрече.

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

p.s. ждем, когда Линус перестанет плохо думать о микроядрах и посмотрит на QNX %)))

Зачем уродовать слона и делать ему операцию по превращению в буйвола? И слон, и буйвол хороши на своём месте. Нужно микроядро - можно допиливать Hurd, благо лицензия совместимая.

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

Знал бы ты, как я плевался, когда на 2.4 портировал модуль CAN-контроллера, изначально написанный под 2.2. А как потом матерился, когда это же повторил для 3.4...

В первое охотно верю. А в 3.x разве изменения не более косметические были?

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

Там тоже с некоторыми структурами и инициализациями западло устроили. Не хотели legacy поддерживать и выкинули нахрен все.

Eddy_Em ☆☆☆☆☆
()

Гугл и исходники в виде html (делается с помощью gnu global). Ну и конечно писать что-то, а не только читать.

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

Зачем уродовать слона и делать ему операцию по превращению в буйвола?

да это было больше в качестве шутки, но было бы полезно и в десктопной ОС то, что, при падении драйвера, ОС остается работоспособной.

мне так думается

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

Ну и конечно писать что-то, а не только читать.

Вопрос только в том, как найти себе интересную задачу. Многие рекомендуют замочить жену^W^W написать собственную ФС, но мне, например, это было (и осталось) не интересно...

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

И не устану рекламировать CERT C Secure Coding Standards.

Там реально много полезного и не в стиле Пауло Коэльо?

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

Вопрос только в том, как найти себе интересную задачу.

это, кстати говоря, сложнее всего, ибо интерес не пропадает через 2 дня только если что-то действительно нужно

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

Наверное лучше всего купить какой нибудь девборд с армом и тренироваться на нем. Начать например с драйвера RTC или сенсоров (если есть).

Puzan ★★★★★
()
16 июля 2016 г.

Final Release Date: November >>> 2017 <<< (est.)

Version 3.2 of the Linux kernel

мде...

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