導航:首頁 > 編程系統 > linux源碼位置

linux源碼位置

發布時間:2024-06-25 01:27:09

① 如何確定linux內核源代碼目錄即,KBUILD的路徑

方法一:
確定內核源代碼目錄通常==文件系統中內核驅動模塊的build路徑

即/lib/moles/2.6.25-14.fc9.i686/build,這個build通常回為鏈接文件,連接到答
/usr/src/kernels/2.6.25-14.fc9.i686
此方法較准確,通常可以寫如下腳本實現:
# KBUILD is the path to the Linux kernel build tree. It is usually the
# same as the kernel source tree, except when the kernel was compiled in
# a separate directory.
KBUILD ?= $(shell readlink -f /lib/moles/$(KVERS)/build)

方法二:
自己下載內核源文件包,自己指定內核的編譯目錄!
不推薦這種做法,還是按照各大發行版的做法比較好!這樣不至於在編譯下載的某個設備驅動程序

② linux源碼在哪個目錄

如果是別人發布的二進制包,可執行文件通常都安裝到Linux系統 /usr/bin 下面;如果是自己從源代碼安裝的,可執行文件通常都在 /usr/local/bin 下面,除非配置時指定了安裝位置。
例如:
rpm -ivh xxx1.rpm
可執行文件通常都安裝到 /usr/bin 下面
./configure (或者 ./configure --prefix=/usr/local)
make
make install
可執行文件通常都在 /usr/local/bin 下面,因為默認參數就是 --prefix=/usr/local
./configure --prefix=/usr (或者 ./configure --prefix=/opt 也可以指定其他位置,如你的家目錄 --prefix=~,~就是 /home/xxx<即你的家目錄>的縮寫)
make
make install
可執行文件通常都在 /usr/bin 下面(或者相應地位於 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目錄)
無論那種方法,在 bash 控制台下只要輸入可執行文件頭幾個字母,然後連續按兩次 Tab 鍵,就可以列出可能的所有命令,如果只有一種可能,則自動顯示該文件全名,這稱為命令補全。想執行當前目錄下的可執行文件,則必須使用 ./ 作為命令前導,例如:
./myprogram
除此之外,一般的可執行文件都處在系統的搜索路徑里,只要在控制台直接輸入命令名就可執行。例如你編譯安裝了一個叫 synaptic 的軟體,只需要在 KDE 的 konsole 虛擬控制台下輸入 synaptic 即可。
如果不幸,你的可執行文件不在系統的搜索路徑里,就會報告沒有這個命令。那麼你需要把那個可執行文件的位置加入環境變數 PATH 里,用冒號作分割符,例如:
在你的家目錄的 .profile 文件或 .bashrc 文件里添加如下命令
PATH="~/bin:$PATH" 就可以把你的家目錄的 bin 目錄追加到搜索路徑里。
無論任何時候想知道系統里某個「命令文件」的位置,都可以使用 which 命令,例如:
$which pwd
/usr/bin/pwd
說明 pwd 命令位於 /usr/bin 下面。

③ 我安裝了linux,怎麼才能看到源代碼呢

呵呵安裝後的軟體是看不到源碼的!他是經過編譯的!你可以下載源碼包安裝!你下載的源碼包裡面就可以看到源碼!

④ 我在電腦上安裝了linux操作系統,linux的源碼應該是在系統的某個目錄下吧,請問是在哪個目錄呢謝謝

首先研究 Linux 源代碼樹的頂層目錄,它通常(但不總是)位於 /usr/src/linux-。我們不會研究得過於詳細,因為 Linux 源代碼經常會發生變化,但是,我們將嘗試讓給出的信息足以找出特定驅動程序或函數的位置。

Makefile:這個文件是整個源代碼樹的頂層 makefile。它定義了很多實用的變數和規則,比如默認的 gcc 編譯標記。

Documentation/:這個目錄中包含很多關於配置內核、運行 ramdisk 等任務的實用信息(但通常是過時的)。不過,與不同配置選項相應的幫助條目並不在這里 —— 它們在每個源代碼目錄的 Kconfig 文件中。

arch/:所有與體系結構相關的代碼都在這個目錄以及 include/asm- 目錄中。在此目錄中,每種體系結構都有自己的目錄。例如,用於基於 PowerPC 的計算機的代碼位於 arch/ppc 目錄中。在這些目錄里,可以找到底層內存管理、中斷處理、早期初始化、匯編常式,等等。

crypto/:這是內核本身所用的加密 API。

drivers/:按照慣例,在此目錄的子目錄中可以找到運行外圍設備的代碼。包括視頻驅動程序、網卡驅動程序、底層 SCSI 驅動程序,以及其他類似的驅動程序。例如,在 drivers/net 中可以找到大部分網卡驅動程序。將一類驅動程序組合在一起的某些更高層代碼,可能會(也可能不會)像底層驅動程序本身那些包含在同一目錄中。

fs/:通用文件系統的代碼(稱做 VFS,即 Virtual File System)和各個不同文件系統的代碼都可以在這個目錄中找到。ext2 文件系統是在 Linux 中最常廣泛使用的文件系統之一;在 fs/ext2 中可以找到讀取 ext2 格式的代碼。並不是所有文件系統都會編譯或運行;對某些尋找內核項目的人而言,更生僻的文件系統永遠都是理想的候選者。

include/:在 .c 文件的開頭所包含的大部分頭文件都可以在這個目錄中找到。 asm- 目錄下是與體系結構相關的包含(include )文件。部分內核構建過程創建從 asm 指定 asm- 的符號鏈接。這樣,無需將其固定編碼到 .c 文件 #include 就可以獲得用於那個體系結構的正確文件。其他目錄中包含的是 非-體系結構-相關 的頭文件。如果在不只一個 .c 文件中使用了某個結構體、常量或者變數,那麼它可能應該放入其中一個頭文件中。

init/:這個目錄中的文件包括 main.c、創建 早期用戶空間(early userspace) 的代碼,以及其他初始化代碼。可以認為 main.c 是內核「粘合劑(glue)」。在下一部分將深入討論 main.c。早期用戶空間提供了 Linux 內核引導起來時所需要的功能,而這些功能並不需要在內核本身運行。

ipc/:IPC 的意思是 進程間通信(interprocess communication)。它包含了共享內存、信號量以及其他形式 IPC 的代碼。

kernel/:不適合放在任何其他位置的通用內核級代碼位於此處。這里有高層系統調用代碼,以及 printk() 代碼、調度程序、信號處理代碼,等等。文件名包含很多信息,所以可以使用 ls kernel/,並非能常准確地猜到每個文件的功能。

lib/:這里是對所有內核代碼都通用的實用常式。常見的字元串操作、調試常式,以及命令行解析代碼都位於此處。

mm/:這個目錄中是高層次內核管理代碼。聯合使用這些常式以及底層的與體系結構相關的常式(通常位於 arch//mm/ 目錄中)來實現虛擬內存(Virtual memory,VM)。在這里會完成早期內存管理(在內存子系統完全建立起來之前需要它),以及文件的內存映射、頁高速緩存管理、內存分配、RAM 中頁的清除(還有很多其他事情)。

net/:這里是高層網路代碼。底層網路驅動程序與此層次代碼交換數據包,這個層次的代碼可以根據數據包將數據傳遞給用戶層應用程序,或者丟棄數據,或者在內核中使用它。net/core 包含大部分不同的網路協議都可以使用的代碼,和某些位於 net/ 目錄本身中的文件一樣。特定的網路協議在 net/ 的子目錄下實現。例如,在 net/ipv4 目錄中可以找到 IP(版本 4)代碼。

scripts/:這個目錄中包含的腳本可用於內核的構建,但並不將任何代碼加入到內核本身之中。例如,各種配置工具可以將它們的文件放在這里。

security/:在這里可以找到不同 Linux 安全模型的代碼,比如 NSA Security-Enhanced Linux 以及套接字和網路安全鉤子函數(hooks),以及其他安全選項。

sound/:這里放置的是音效卡驅動程序和其他與聲音相關的代碼。

usr/:此目錄中的代碼用於構建包含 root 文件系統映像的 cpio-格式 的歸檔文件,用於早期用戶空間。

⑤ 如何確定Linux內核源代碼目錄即,KBUILD的路徑

方法一:
確定內核源代碼目錄通常==文件系統中內核驅動模塊的build路徑

即/lib/moles/2.6.25-14.fc9.i686/build,這個build通常為鏈接文件,連接到
/usr/src/kernels/2.6.25-14.fc9.i686
此方法較准確,通常可以寫如下腳本實現:
# KBUILD is the path to the Linux kernel build tree. It is usually the
# same as the kernel source tree, except when the kernel was compiled in
# a separate directory.
KBUILD ?= $(shell readlink -f /lib/moles/$(KVERS)/build)

方法二:
自己下載內核源文件包,自己指定內核的編譯目錄!
不推薦這種做法,還是按照各大發行版的做法比較好!這樣不至於在編譯下載的某個設備驅動程序時

⑥ 在linux中代碼放在哪個目錄

Linux系統的代碼頭文件都放在/usr/include目錄及其子目錄中,自己編寫的代碼文件一般都是放在/home目錄下。

閱讀全文

與linux源碼位置相關的資料

熱點內容
名偵探柯南電影免費觀看 瀏覽:601
ug曲面編程如何做輔助面 瀏覽:53
電影網在線觀看 瀏覽:761
happy卡在國內開機 瀏覽:689
織夢貓html5高端網路服務機構網站模板 瀏覽:679
javalong默認值 瀏覽:703
java目錄樹實現 瀏覽:915
alphauiwin10 瀏覽:477
wav文件最小多少 瀏覽:549
win10注銷xbox 瀏覽:916
免費看vip電視有哪些網站 瀏覽:301
文件路徑泄露測試 瀏覽:983
掃描2000頁拿到文件得多少 瀏覽:442
有你iphone 瀏覽:879
如何刪除115網盤的文件 瀏覽:713
bdm是什麼文件 瀏覽:511
windows2000的文件名 瀏覽:847
seus光影10版本 瀏覽:655
124gu盤為何不能復制5g文件 瀏覽:8
資料庫編輯工具在哪裡下載 瀏覽:540

友情鏈接