2009-05-22 18 views

回答

2

轉到LKLM並檢查檔案是否有其他人正在處理類似的事情。如果不是,那麼在那裏宣佈你打算做什麼,並詢問最簡單的方法來完成它(內核模塊等)。創建您自己的git存儲庫以進行更改,並允許其他有興趣從您的倉庫中提取的倉庫。如果你的工作取得了成功,請維護人員進行修改並將其添加到主線。

這當然不是不合理的做法,但只有你會知道是否值得你花時間在這些深層修改上工作。

1

是的,它很複雜,但是如果你有一個新的概念,並且你認爲在內核之上構建它是個好主意,那麼這可能是值得的。

如果你還在Linux內核推遲然後總是有Minix內核...

0

大部分你能做到什麼應該是可行與內核模塊。如果你真的有很大的計劃,那麼你可以試着去分岔它。嘿,它的開源,沒有人會告訴你不要:)只要確保你經常備份。

8

在沒有進一步的信息的情況下,這聽起來像你所建議的更好地描述爲修改內核,而不是分叉。

你的野心的哪個方面需要分叉?分叉是一種其本質主要由政治術語定義的事物 - 即重命名項目,設定不同的戰略方向等等。

4

就像任何一款真正開放的軟件一樣,分叉內核就像從版本控制庫分支一樣簡單,並開始在自己的版本上工作。就像任何一款真正開放的軟件一樣,如果你打算分叉它,最好有一個固定的原因。如果你最終打算合併回去,那麼你真的不會分手,相反,你正在分支,然後要求合併。只記得在這種情況下定期更換。

不過,主要的一點是,Linux內核是一個非常龐大而複雜的軟件。除非您刪除所有無法獲得更新到GPLv3的權限的GPLv2代碼,否則您將被禁止使用GPLv2,因此許可必須保持不變。但是如果你想對Linux內核進行重大修改,因爲你認爲你可以做得更好,那麼絕對沒有人會阻止你。添加新的驅動程序,修改圖形的工作方式,刪除舊的API,做任何你想要的。一旦你有需要證明的東西,人們就會開始關注,特別是如果你做得比現在好。您可能會收到最終的好結果:您的工作最終會被合併回主線。

2

分叉開源軟件應該被視爲最後的手段。你應該先嚐試做的是製作內核的一個分支並提交它進行合併。這會讓每個人都變得更加輕鬆。

1

IIRC維護修改後的Linux內核的正確方法是補丁集,類似於Andrew Morton的mm

5

我想堅持一下關於困難的問題。如果你只是想添加一個系統調用來提供有限的額外功能,如調整文件描述符,那麼這是任何經過培訓的程序員都可以做的事情。如果你想玩實時,性能和流程處理,那麼請注意,由於你進入內核有多深,這些可能會非常困難。

很多本科OS課程都需要添加系統調用或爲構造添加一些簡單的字段/參數。大約20小時的小事,60小事容易但有用。

2

「深度修改」會給您帶來一個兩難的困境:您是否跟蹤新的Linux內核併合並您的更改,還是堅持最初定位的內核並支持修補程序關鍵修復?

除非您的更改可以合併到主線內核中,否則您將面臨上述問題。你能保持這種努力嗎?它值得嗎?

0

您應該考慮您的想法是否真的需要在內核空間中完成,或者是否可以在用戶空間中有效完成。這是一個合理的問題(當然要詳細說明)。

我經常看到有人發佈內核相關的想法給LKML,實際上完全可以在用戶空間完成,有時更容易和更高效。