promotion image of download ymail app
Promoted

去哪裡下載LINUX的原始碼

請問去哪裡下載LINUX的原始碼(最好是Ubuntu的,是Ubuntu的話就太感謝了)

我聽說LINUX是開放碼的(核心部分)所以想下載來看看

還有能在不重新編譯的情況下換掉LINUX的核心嗎?

還有LINUX載入執行檔程式碼是?(*.C或執行檔)

-------------------

題外話:下載回了的LINUX要怎麼編譯阿

※:本人不是第1次寫OS只是之前都用GCC32 for Windows

還有,如果下載回來的LINUX經過修改後重新發布至網路上犯法嗎?

-------------------

謝謝指教

3 Answers

Rating
  • 其威
    Lv 7
    9 years ago
    Favorite Answer

    1a. Official 的 kernel 請至 www.kernel.org 下載

    1b. Ubuntu patch 過的 kernel 有很多取得方法:

    一是直接去 git 抓:https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide?...

    二是裝 repository 裡面的 kernel source:https://help.ubuntu.com/community/Kernel/Compile#G...

    2. 核心必須要是符合你平台的執行檔。如果你有辦法取得適合你的平台使用的核心映像檔,當然可以直接換掉不用編。例如,Ubuntu 在更新 kernel 的時候,就是下載一個預先編譯好的 kernel image,用它將系統上原本的換掉。

    3. 要編 linux 應該至少需要 cc、ld、make、與 gzip 這幾個東西。當然如果你要從 git 抓原始碼的話還得要有 git、要解開抓下來的 .tar.bz2 的話必須要有 tar 與 bzip2。

    在你所有的工具都準備好以後,請在 kernel 目錄的最上層(就是有 README 那個目錄)打 make help,裡面會告訴你怎麼做。

    一般來說流程大致如下:

    1. 先 make defconfig 讓他設定預設值

    2. 再 make config/nconfig/menuconfig/gconfig/xconfig(這幾個 *config 請選一個即可,在 make help 中有說明)來調整你需要的細部設定

    3. 再 make all 編譯(根據你在 make *config 中的設定,可能要跑一陣子。如果你的 CPU 有多核心,請用 make -jN all。其中 N 是你的 CPU 核心的數量 +1。例如你的 CPU 是雙核,就 -j3。)

    4. make module_install 安裝模組

    5. make firmware_install 安裝韌體

    6. make install 安裝核心(這一步我通常都是手動複製 arch/<ARCH>/boot/*Image 到需要的地方...)

    1 2 3 必須照順序,4 5 6 可以隨意(但是要先做完 1 2 3...)。

    3. 重新散佈修改過的程式碼編譯出的執行檔並不犯法,但是 GPL 有保障取得你編譯出的執行檔的人可以同時以合理的代價取得你修改過的原始碼。

    如果你僅散佈根據修改過得原始碼編譯出的執行檔,但是卻不提供原始碼本身,那就違反 GPL 授權。

    詳情請看核心目錄底下的 COPYING 這檔案。

    2011-09-11 10:02:29 補充:

    補充一下,這個「合理的代價」基本上是儲存媒體(如光碟)的錢與運輸的費用。如果是用網路的話就看你傳壓縮檔需要多少流量來折算費用。

    不過一般來說,如果你的執行檔是用賣的,又額外收取原始碼的費用,會被人幹橋得很慘...

    如果你的執行檔是免費提供,那麼提供原始碼的時候收個幾十塊的成本就好像比較合理... 不過大部分的廠商或專案都是一併免費提供。

    2011-09-11 10:06:28 補充:

    Linux 可以賣喔!

    而且,你也可以賣你修改過的版本!!!

    但是條件是你必須連同修改過的原始碼一起提供,不能僅提供執行檔。

    2011-09-11 10:11:40 補充:

    比方說我可以修改 Linux 的某些部份,然後拿出來賣一套台幣十萬,這是完全符合遊戲規則的。

    但是跟我買的人如果想要我修改過得原始碼,我必須以合理的代價提供給他(僅能收取儲存媒體的成本與傳輸的費用)。

    不過... 若是沒有跟我買我的 Linux 的人,我也沒有義務要提供原始碼給他。

    例如,Palatis's Linux 一套十萬,某甲跟我買了一套,我必須連同原始碼一起給他。

    但是某乙沒有跟我買可是也想要原始碼,我就不必提供原始碼給他,因為他沒跟我買。

    但是某乙可以跟某甲取得我的 Linux 的原始碼,我沒有權利禁止某甲再散佈我的原始碼(但是可以禁止某甲再散佈我的執行檔)。

    2011-09-11 10:12:33 補充:

    但是某甲可以拿我的原始碼,自己編譯出執行檔然後散佈。

    那我就管不著了...

    • Commenter avatarLogin to reply the answers
  • Anonymous
    6 years ago

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    【 最新活動→迎接新會員,首存狂送20% 】

    【運動→電子→對戰→現場→彩球 】

    【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    • Commenter avatarLogin to reply the answers
  • 9 years ago

    LINUX屬於開放式的作業系統,所以並不會犯法,但有些情況是禁止的,例如更改原始作者或販售LINUX(當然隨著書籍販售不在此限)

    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.