Что такое хороший базовый дистрибутив Linux для начинающих разработчиков ядра? - PullRequest
9 голосов
/ 04 февраля 2009

В моем классе «Операционные системы» мы собираемся модифицировать ядро ​​Linux с помощью некоторых собственных системных вызовов в C.

Какой хороший дистрибутив подходит для этой цели? Нам не нужны никакие навороты, никакой графический интерфейс, ванильное ядро ​​и т. Д. Чем базовее, тем лучше.

Ответы [ 11 ]

9 голосов
/ 04 февраля 2009

Мне удалось довольно легко изменить ядро, используя минимальную установку Gentoo. Просто установите gentoo, следуйте инструкциям по установке, затем:

$ emerge gentoo-sources
$ emerge emacs
$ cd /usr/src/linux
6 голосов
/ 22 февраля 2009

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

Добавление / изменение системных вызовов утомительно, но тривиально, независимо от того, какое ядро ​​вы используете. Однако ядро ​​2.6 значительно массивнее и сложнее, поэтому, если вы собираетесь вносить существенные изменения в код, с более старыми ядрами легче работать и намного лучше документировать. (т.е. легче найти книги и справочники)

Счастливого взлома :) 1007 *

5 голосов
/ 04 февраля 2009

archlinux ++

но на самом деле .. gentoo, slack и arch - более или менее хороший выбор

3 голосов
/ 11 сентября 2009

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

Я думаю, что если вы серьезно относитесь к изучению взлома Linux и ядра, установка Linux с нуля должна быть в вашем списке. Это отличный дистрибутив / книга, который позволит вам самим создать платформу для разработки.

2 голосов
/ 04 февраля 2009

Во всех дистрибутивах вы можете установить исходные коды vanilla kernel.org вместо пакетов ядра, связанных с дистрибутивом, что, вероятно, является хорошей идеей, если вы хотите заняться разработкой ядра.

Однако у вас возникнут проблемы, если вы захотите использовать любой недавний дистрибутив с ядрами не-2.6, потому что они часто собирают libc6 так, что он не может работать с 2.4. Кроме того, для многих функций управления аппаратным обеспечением (например, udev) требуются довольно свежие ядра.

Кроме того, использование Debian дает вам простую систему, а установка ваших собственных ядер - это очень просто с kernel-package .

1 голос
/ 04 февраля 2009

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

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

1 голос
/ 04 февраля 2009

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

0 голосов
/ 27 февраля 2012

Gentoo, если вы не возражаете против автоматической компиляции (большинство людей думают, что gentoo - это Linux From Scratch =>, вы должны делать все самостоятельно).

Арка, если у вас медленный компьютер (ноутбук).

Самым большим преимуществом этих двух является то, что они имеют очень очень хорошую документацию и только устанавливают Gentoo f.e. дает базовые знания о системе инициализации и о том, какие службы должны работать. Если одна команда копирует и вставляет из руководства, это бесполезно (к счастью, руководство заставляет людей задуматься, тем самым не давая детям установить gentoo и не взяв наш аккуратный #irc): D

0 голосов
/ 07 сентября 2010

ну, я нашел один под названием "minix", это не совсем дистрибутив linux, но он был создан специально для обучения, но если вы можете использовать только дистрибутив linux, то это не должно иметь значения, я уверен все дистрибутивы имеют одинаковое ядро ​​

0 голосов
/ 12 ноября 2009

Альтернативой, отличной от Linux, является Geek OS , но она нацелена на образовательный уровень и не является практическим ядром. Хотя это очень просто.

...