Разумно ли пытаться модифицировать ядро ​​Linux? - PullRequest
4 голосов
/ 22 мая 2009

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

Ответы [ 10 ]

8 голосов
/ 22 мая 2009

При отсутствии дополнительной информации, звучит так, что то, что вы предлагаете, лучше описать как модификацию ядра, а не разветвление.

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

5 голосов
/ 22 мая 2009

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

Многие курсы ОС по бакалавриату требуют добавления системного вызова или добавления некоторых простых полей / параметров в конструкцию. Около 20 часов для чего-то тривиального, 60 для чего-то простого, но полезного.

4 голосов
/ 22 мая 2009

Как и любое другое по-настоящему открытое программное обеспечение, разветвление ядра так же просто, как переход от репозитория управления версиями и начало работы над собственной версией. Также, как и в любом другом по-настоящему открытом программном обеспечении, если вы собираетесь его раскошелиться, лучше иметь вескую причину для разветвления. И если вы в конечном итоге планируете объединиться, тогда вы действительно не разветвляетесь, но вместо этого вы разветвляетесь и затем просите об этом слиянии. Просто не забывайте регулярно заменять в этом случае.

Но главное - это будет сложно ... Ядро Linux - очень большая и сложная часть программного обеспечения. Вы застрянете с GPLv2, если не удалите весь код GPLv2, для которого также нельзя получить разрешение на обновление до GPLv3, поэтому лицензирование должно остаться прежним. Но если вы хотите внести существенные изменения в ядро ​​Linux, потому что вы думаете, что можете сделать это лучше, вас никто не остановит. Добавьте новые драйверы, измените способ работы графики, удалите старые API, делайте все, что вы хотите. Как только вы что-то докажете, люди начнут обращать внимание, особенно если вы делаете это лучше, чем в настоящее время. И вы можете получить в конечном итоге хороший результат: ваша работа в конечном итоге объединится с основной линией.

2 голосов
/ 22 мая 2009

Перейдите на LKLM и проверьте архивы, если кто-то уже работает над чем-то подобным. Если нет, объявите там, что вы планируете делать, и спросите, как проще всего это сделать (модуль ядра и т. Д.). Создайте свой собственный репозиторий git, чтобы внести изменения и позволить другим, кто заинтересован, извлечь из вашего репо. Если ваша работа окажется успешной, попросите сопровождающего вытащить ваши изменения и добавить их в основную ветку.

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

2 голосов
/ 22 мая 2009

«Глубокие модификации» поставят вас перед дилеммой: отслеживаете ли вы новые ядра Linux и вносите ли изменения в свои изменения, или вы придерживаетесь того ядра, на которое вы изначально нацелены, и исправляете критические исправления?

Если ваши изменения не будут включены в основное ядро, то вы столкнетесь с вышеуказанным. Можете ли вы выдержать это усилие, и стоит ли оно того?

2 голосов
/ 22 мая 2009

Форкинг программного обеспечения с открытым исходным кодом следует рассматривать как последнее средство. Сначала попробуйте создать ветку ядра и отправить ее на слияние. Это облегчит жизнь каждому.

1 голос
/ 22 мая 2009

IIRC для поддержания модифицированного ядра Linux является набор патчей , как в мм .

Эндрю Мортона
1 голос
/ 22 мая 2009

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

Если ядро ​​Linux все еще отстает, то всегда есть ядро ​​ Minix ...

0 голосов
/ 22 мая 2009

Вам следует подумать, действительно ли ваша идея должна быть реализована в пространстве ядра или может ли она быть эффективно реализована в пространстве пользователя. Это был бы разумный вопрос, который нужно задать самому (с деталями идеи, конечно).

Я часто видел, как люди публикуют идеи, связанные с ядром, в LKML, которые на самом деле могут быть полностью реализованы в пользовательском пространстве, иногда проще и эффективнее.

0 голосов
/ 22 мая 2009

большинство из того, что вы можете сделать, должно быть выполнимо с модулем ядра. Если у вас действительно запланировано что-то большое, то вы можете попробовать и раскошелиться. Эй, с открытым исходным кодом, никто не скажет тебе "нет". Просто следи, чтобы ты часто делал резервные копии.

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