2010-08-17 9 views

ответ

9

LFS. Затем установите каждый отладчик и профилировщик, который вы можете найти.

+0

я могу использовать все те, и они здорово, но это занимает много времени для исправления, тестирования и т.д. – user361697

+0

Также есть посмотрите на Buildroot, который автоматизирует все: https://stackoverflow.com/a/44625382/895245 –

7

Мне очень понравилось использовать Gentoo для возиться с ядром.

+0

Еще одно голосование за Gentoo. –

8

Я слышал Linus himself uses Fedora. Я бы порекомендовал Gentoo, который позволяет (намерен) вам подгонять ваше ядро, это идеальная настройка для него (и я потратил много часов, сжимая каждый последний бит производительности для удовольствия).

Естественно Ubuntu - это мой предпочтительный дистрибутив, но у вас могут возникнуть проблемы, если вы начнете захват и удаление ожидаемых функций ядра. Gentoo не будет жаловаться и не ожидает их начала.

+0

Ядро Ubuntu содержит большое количество патчей для таких вещей, как обработка UUID и другая такая магия. Я постоянно запускаю ядра ванили на моем ящике gentoo без проблем. – stsquad

+0

Fedora тоже моя любимая, проклятая конюшня. –

2

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

Если вы занимаетесь разработкой ядра, то, полагаю, вам нужен дистрибутив, который быстро загружается, что-то вроде щенка может быть идеальным здесь и сделать ваше фактическое кодирование из чего-то вроде Ubuntu.

3

Этот дистрибутив не имеет особого значения. Это то, что вы хотите делать с ядром, и разрабатывать/тестировать его функцию.

Вот несколько вещей, которые нужно сделать.

a. Включите отладку ядра и параметры ведения журнала. Это определенно поможет вам в отладке. см. useful linux kernel debug options to turn on

b. Getdebuggers, например Valgrind, который проверяет утечку памяти. См. Такой документ, как https://www.kernel.org/doc/Documentation/kmemleak.txt

c. Нашел хороший редактор для редактирования. Я не хочу начинать войну vim vs emacs. Это действительно личное предпочтение, просто убедитесь, что вы следовали правилам стиля кодирования ядра Linux. https://www.kernel.org/doc/Documentation/CodingStyle

d. Ознакомьтесь с системами журналов и системой proc, поскольку они предоставляют ценную информацию.

e. Прочитайте документацию в каталоге/USR/SRC/Linux/Документация Очень хорошая отправная точка, чтобы понять ядру

0

Buildroot

Buildroot представляет собой набор скриптов, которые генерирует крошечные дистрибутивы с корневой файловой системы образов меньше 10MiB.

Он загружает все из источника и компилирует его, поэтому тривиально исправлять пакеты.

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

Преимущество над LFS: все полностью автоматизировано. Из-за этого Buildroot используется профессионально в крупных организациях.

Я создал эту настройку, чтобы автоматизировать вещи как можно больше: https://github.com/cirosantilli/linux-kernel-module-cheat

Смежные вопросы