在Linux平台上使用windows下載的源碼

在Linux平台上使用windows下載的源碼

我從 Windows 上的 git 儲存庫下載了 Linux 原始碼,然後將檔案複製到 Fedora。我無法建構內核。

是因為我在Windows環境下下載了原始碼,然後複製到Linux下了?

命令

make defconfig 

給出錯誤訊息

lib/Kconfig.debug:1543: unknown option *the*
lib/Kconfig.debug:1546: syntax error
lib/Kconfig.debug:1545: unknown option *This*
lib/Kconfig.debug:1546: unknown option *in*
lib/Kconfig.debug:1549: syntax error
lib/Kconfig.debug:1548: unknown option *See*
lib/Kconfig.debug:1560: syntax error
lib/Kconfig.debug:1559: unknown option *If*
lib/Kconfig.debug:1569: syntax error
lib/Kconfig.debug:1568: unknown option *Say*
samples/Kconfig:23: syntax error
samples/Kconfig:22: unknown option *If*
samples/Kconfig:50: syntax error
samples/Kconfig:49: unknown option *If*
make[1]: *** [defconfig] Error 1
make: *** [defconfig] Error 2
[adminuser@localhost linux]$ _

完整的錯誤訊息太長,基本上說明了 Kconfig.debug 檔案中的語法錯誤(未知選項)。

如果是這樣,我可能必須重新下載整個原始程式碼。

答案1

Windows 將字元加入文件。如果您想查看它們,請在 Linux 上的編輯器(例如 vi)中開啟檔案並查看行尾。你會在每行的末尾看到^M

如果您在原始檔案上執行 dos2unix,那麼它會將其轉換為 Linux 滿意的格式。 dos2unix 應該位於 /usr/bin 中。所以:

dos2unix file_downloaded > file_downloaded.unix
mv file_downloaded.unix file_downloaded

並嘗試再次運行 make 。

答案2

來源只不過是一組文字檔案甚至單一文字檔案。當你在Windows上下載它時,裡面的文字不會改變。如果您下載 Linux 的來源文件,它將適用於 Linux。我說「Linux」是因為配置 Linux 的方法有很多種,而且它們的行為方式都非常不同。一旦將原始程式碼編譯成二進位文件,即使在不同的 Linux 機器之間(如果 cpu 架構不同),它也會變得不相容。

簡短的回答,不,沒關係。

正如沃里克所說,如果您向我們提供有關您正在做的事情的更多信息,我們可以為您提供更多幫助。

相關內容