Лучший дистрибутив Linux для программирования модулей ядра
Я хочу сделать программирование модуля ядра. Но все источники сообщают, что дистрибутивы linux исправляют исходное ядро и что коды модулей могут на них не работать. Если это правда, что я должен делать. Я пытался сделать lfs, используя ubuntu, но ошибки возникали почти на каждом этапе. Я где-то видел, что arch, gentoo, Ubuntu Server без каких-либо пакетов, выбранных во время установки, slackware, susestudio и т. Д. Являются ванильными дистрибутивами. Итак, могу ли я использовать их для программирования модулей?
Пожалуйста, обратите внимание, что мне нужен графический интерфейс в дистрибутиве.
Можно ли этим следовать?
PS: У меня процессор Intel Core i3, и я буду работать с дистрибутивами на рабочей станции vmware.
1 ответ
Если вы хотите программировать модули ядра, то не имеет значения, какой дистрибутив вы выберете. Вам нужно будет иметь возможность перекомпилировать ядро из исходного кода и установить новое ядро самостоятельно. Даже для модуля ядра вы захотите иметь возможность скомпилировать новейшее ядро и разрабатывать его, в противном случае вы не сможете принять модуль в mainline.
Альтернативой, если модуль не должен быть выпущен, является разработка под конкретную версию ядра. В этом случае выбор дистрибутива следует выбирать исходя из цели модуля, а не среды разработки.
Так что выбирайте дистрибутив на основе того, что вам нравится: 1) Рабочие столы - (GNOME, KDE, другие) 2) Простота использования - (Ubuntu, Fedora и т. Д. По сравнению с Arch, Gentoo) 3) Ультрасовременный по сравнению со стабильным (Arch, Fedora и Ubuntu против Debian, Red Hat, CentOS)
Затем отправляйтесь в kernelbewbies, чтобы немного узнать о том, как начать программирование ядра (где взять исходный код, как его скомпилировать). Тогда прочитайте отличную книгу Грега Кроа-Хартмана о драйверах для Linux. Интерфейсы будут изменены (написано о версии ядра 2.6, а версия 3.6 в настоящее время работает). Его можно найти онлайн здесь
Вы также захотите узнать, как использовать git. И что более важно, как использовать git для создания патча и отправить его по электронной почте, не испортив его! У меня нет веб-сайта для этого, но немного погуглить поможет.