久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Debian內(nèi)核

2024-01-24 194

Debian系統(tǒng)中,內(nèi)核是操作系統(tǒng)的核心,它負(fù)責(zé)管理硬件資源并與應(yīng)用程序交互。本教程將介紹關(guān)于Debian內(nèi)核的一些基本概念和操作技巧,包括內(nèi)核參數(shù)的配置、內(nèi)核頭文件的作用、編譯內(nèi)核及其相關(guān)模塊的方法,以及按照Debian內(nèi)核團(tuán)隊的推薦來編譯內(nèi)核源代碼等方面。

一、內(nèi)核參數(shù)

許多 Linux 特性可以按下面的方式,通過內(nèi)核參數(shù)來配置:

  • 內(nèi)核參數(shù)通過 bootloader 初始化;
  • 對通過 sysfs 訪問的內(nèi)核參數(shù),在運行時通過 sysctl(8) 修改;
  • 當(dāng)一個模塊被激活時,通過 modprobe(8) 參數(shù)來設(shè)置模塊參數(shù)。

二、內(nèi)核頭文件

大部分普通程序編譯時不需要內(nèi)核頭文件,如果你直接使用它們來編譯,甚至?xí)?dǎo)致編譯中斷。在 Debian 系統(tǒng)上,普通程序編譯依賴 libc6-dev 軟件包 (由 glibc 源代碼包創(chuàng)建)提供的,在”/usr/include/linux” 和 “/usr/include/asm” 里的頭文件。

對于編譯一些內(nèi)核相關(guān)的程序,比如說從外部源代碼編譯的內(nèi)核模塊和 automounter 后臺守護(hù)(daemon)程序(amd),你必須包含相應(yīng)的內(nèi)核頭文件到路徑里,比如”-I/usr/src/linux-particular-version/include/”, 到你的命令行。

三、編譯內(nèi)核/相關(guān)模塊

Debian 有它自己的方式來編譯內(nèi)核和相關(guān)模塊。

Debian 系統(tǒng)內(nèi)核編譯需要安裝的主要軟件包列表:

軟件包 流行度 大小 說明
build-essential I:481 17 創(chuàng)建 Debian 軟件包所必須的軟件包: make, gcc, …
bzip2 V:161, I:969 112 bz2 文件壓縮和解壓縮工具
libncurses5-dev I:73 6 ncurses 開發(fā)者庫和文檔
git V:345, I:547 46734 git:Linux 內(nèi)核使用的分布式版本控制系統(tǒng)
fakeroot V:28, I:489 224 為非 root 用戶創(chuàng)建軟件包提供一個偽造的 root 環(huán)境
initramfs-tools V:429, I:989 113 創(chuàng)建 initramfs 的工具(Debian 規(guī)范)
dkms V:75, I:164 195 動態(tài)內(nèi)核模塊支持 dynamic kernel module support (DKMS) (通用)
module-assistant V:1, I:20 406 制作模塊軟件包的幫助工具(Debian 規(guī)范)
devscripts V:6, I:41 2658 Debian 軟件包維護(hù)者的幫助腳本(Debian 規(guī)范)

在編譯 Linux 內(nèi)核源代碼時,請不要放置從”/usr/include/linux” 和 “/usr/include/asm” 到源代碼樹(比如:”/usr/src/linux*”) 里目錄的符號鏈接。

當(dāng)在 Debian stable 版里編譯最新的 Linux 內(nèi)核時, 可能需要使用一些從 Debian unstable 版里 向后移植(backported)的工具的最新版本。

module-assistant(8) (或者它的短形式 m-a) 幫助用戶,從一個或多個定制的內(nèi)核,容易的構(gòu)建和安裝模塊軟件包。

dynamic kernel module support (DKMS)動態(tài)內(nèi)核模塊支持 是一個新的分布式獨立框架,被設(shè)計用來允許單個的內(nèi)核模塊在不改變整個內(nèi)核的情況下升級。這可以用于維護(hù)內(nèi)核代碼樹外部的模塊。這也使你升級內(nèi)核時,重新編譯模塊變得非常簡單。

四、編譯內(nèi)核源代碼

從上游內(nèi)核源代碼編譯個性化的內(nèi)核二進(jìn)制包,你應(yīng)當(dāng)使用由它提供的 “deb-pkg” 對象。

$ sudo apt-get build-dep linux
$ cd /usr/src
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-version.tar.xz
$ tar --xz -xvf linux-version.tar.xz
$ cd linux-version
$ cp /boot/config-version .config
$ make menuconfig
...
$ make deb-pkg

linux-source-version 軟件包使用 “/usr/src/linux-version.tar.bz2” 提供有 Debian 補丁的 Linux內(nèi)核源代碼。

從 Debian 內(nèi)核源代碼軟件包編譯特定的二進(jìn)制包,你應(yīng)當(dāng)使用 “debian/rules.gen” 里的 “binary-arch_architecture_featureset_flavour” 對象。

$ sudo apt-get build-dep linux
$ apt-get source linux
$ cd linux-3.*
$ fakeroot make -f debian/rules.gen binary-arch_i386_none_686

五、硬件驅(qū)動和固件

硬件驅(qū)動是運行在目標(biāo)系統(tǒng)上主 CPU 上的代碼。大部分硬件驅(qū)動現(xiàn)在是自由軟件,已經(jīng)包含在普通的 Debian 內(nèi)核軟件包里,放在 main 區(qū)域。

1、GPU 驅(qū)動。

  • Intel GPU 驅(qū)動 (main);
  • AMD/ATI GPU 驅(qū)動 (main)和/;
  • NVIDIA GPU 驅(qū)動 (nouveau 驅(qū)動放在 main , 由廠家支持的二進(jìn)制驅(qū)動,放在 non-free.)。

固件是加載在連接在目標(biāo)系統(tǒng)設(shè)備上的代碼或數(shù)據(jù)(比如說,CPU microcode、 GPU 運行的渲染代碼 或 FPGA / CPLD 數(shù)據(jù)……)部分固件包是作為自由軟件存在,但是很多固件包由于包含有沒有源代碼的數(shù)據(jù),二進(jìn)制不是作為自由軟件存在。安裝這些固件數(shù)據(jù)是必需的,這樣設(shè)備才能按期望運行。

2、固件數(shù)據(jù)軟件包,含有加載到目標(biāo)設(shè)備易失性存儲器上的數(shù)據(jù)。

  • firmware-linux-free (main);
  • firmware-linux-nonfree (non-free-firmware);
  • firmware-linux-* (non-free-firmware);
  • *-firmware (non-free-firmware);
  • intel-microcode (non-free-firmware);
  • amd64-microcode (non-free-firmware)。

3、固件更新程序軟件包,更新在目標(biāo)設(shè)備非易失性存儲器上的數(shù)據(jù)。

  • fwupd (main):從 Linux Vendor Firmware Service 下載固件數(shù)據(jù)的固件更新后臺守護(hù)進(jìn)程(daemon);
  • gnome-firmware (main): fwupd 的 GTK 前端;
  • plasma-discover-backend-fwupd (main): fwupd 的 Qt 前端。

注意:

  • 從 Debian 12 Bookworm 開始,用戶使用由官方安裝介質(zhì)里面提供的 non-free-firmware 軟件包來提供完善的安裝體驗。
  • fwupd 從 Linux Vendor Firmware Service 下載的固件數(shù)據(jù)并加載到正在運行的 Linux 內(nèi)核,可能是 non-free。
  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。