Как создать исходное дерево ядра?

Используйте да :

yes | sudo gem uninstall --all
1
17.04.2019, 01:07
1 ответ

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

Я хочу научиться (для развлечения) программированию драйверов и надеюсь, что это научит меня некоторым вещам о Linux и поможет мне "втянуться".

Я не думаю, что это хорошая причина. 99.9%+ даже долгосрочных опытных пользователей никогда не занимаются программированием драйверов, включая тех, кто использует платформу для разработки на C. По аналогии, если бы кто-то, кто никогда раньше не пользовался MS Windows, сказал вам: "Ну, у меня сейчас установлена эта ОС, и я подумал, что хорошим способом узнать о Windows будет начать писать драйвер устройства для нее...", что бы вы подумали?

Я бы начал возиться с C, делая специфические для платформы вещи в userspace, например, файловую систему и сетевые вещи.

Мое первое препятствие - найти дистрибутив со стандартным ядром 2.6.x. Я пытался найти такой, но все они уже старше 3.x.

Вам не нужно этого делать. Скорее всего, ядро 2.6 все еще будет нормально работать на текущем дистрибутиве - конечно, это достаточно легко попробовать. Но кроме того, если причина в том, что вы используете LDD3 (книга O'Reilly), ядро 3.x будет совместимо с большинством или со всем этим. Большая часть (вероятно, большая) кода драйверов в ядре 3.x существует без изменений по сравнению с 2.6, и я уверен, что разработчики ядра считают приоритетным поддерживать эту обратную совместимость. Исходный код ванили составляет что-то около 16 миллионов LOC; он не может быть постоянно переписан.

Так что пробуйте с любой версией, которую хотите.

2
27.01.2020, 23:12

Теги

Похожие вопросы