Debian編譯核心教程

2022-04-09 19:40:11 字數 2929 閱讀 5377

個人拼湊

首先獲取一下root許可權

sudo -s -h

安裝必要的工具

make

gcc gdb bison m4 autoconf automake libtool dpkg-dev libncurses5-dev build-essential kernel-package fakeroot

可選安裝:

sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt

這一步安裝qt庫 實現圖型配置 不是必須個人沒使用

進到目錄 然後配置核心引數

cp /boot/config-`uname -r` ./.config

這是用現在的核心配置新核心

核心配置 make nconfig 自定義配置 nconfig 是在 2.6.35 之後推薦用的,也建議不要再用回以前的menuconfig

恩 核心編譯重要的就是核心配置 這塊需要單獨拿出來講 先放一邊 如果嫌這樣配置麻煩的話可以從最小化配置,make defconfig,再make nconfig或者用make localmodconfig自動精簡核心

接下來就是編譯了

make-kpkg clean

(n根據gentoo的手冊上推薦是執行緒數+1 這個可以自己根據情況來

然後等一會就可以了 編譯好的核心在上一層目錄。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb兩個檔案,image那個是核心

切換到上一層目錄然後

(sudo)dpkg -i + 新核心

kernel官方的方法,deb-pkg,這個是在上層目錄中生成image,header,libc-dev或者也包括 firmware,這個也是生成deb包的,安裝就是dpkg -i xx,推薦用這種方法

命令:make deb-pkg

現在cpu都是多核的,要快點是這樣

make -j2 deb-ppkg

j2就很快了,4核的話也可以j4

如果想知道用多少時間,是這樣

time

make -j2 deb-pkg

通用編譯方法

所謂通用,就是你編好後,也可以放在其他系統,比如gentoo

make 然後 make modules_install && make

install

make -j2 tar-pkg/make -j2 targz-pkg/make -j2 tarbz2-pkg/make -j2 tarxz-pkg

這樣編譯出來是乙個tar包/tar再壓縮的包,

安裝的時候只要這樣 切換到root,然後

tar xvf 你的包名 -c /

意思就是把你的包解壓到/根目錄,這樣在/boot下就是你裝的檔案,還有/lib/modules/下

最後你要做的是更新下grub,debian更是簡單,update-grub

如果要刪除,也很簡單

rm /boot/下面的systemxx vmlinzxx configxx

還有與之相對應的一些模組

rm /lib/modules/你要刪除版本的資料夾

然後update-grub

前提,如果你只是這樣編譯出來,只有vmlinuz,如果有需要initramfs,還要手動構建initramfs

如果用deb-pkg包安裝,這個是自動構建的 如果你不想要initramfs,看下面

initramfs

debian雖然名叫initrd,但是用的是initramfs

簡單一點,就是啟動時先構建乙個小環境,然後再掛載/這個檔案系統

但是這樣一來啟動時間會慢些,因為要等~~~比如ext4,ahci編譯成模組的時候

如果不要這樣,我們直接從核心啟動,那首要條件是下列的一定要編譯到核心裡

而不是做為模組,不然核心會恐慌~~~

serial ata and parallel ata drivers一定要為核心,在子選單裡你的磁碟控制器驅動也要y

scsi device support裡的scsi device support&&scsi disk support

generic driver options->

maintain a devtmpfs filesystem to mount at /dev

automount devtmpfs at /dev, after the kernel mounted the rootfs

還有檔案系統比如ext4,一定要到核心

總結make deb-pkg和make tar-pkg的優缺點

deb-pkg的優點:

安裝完後可以用apt來刪除,更和諧

deb-pkg的缺點:

只能在debian用,而且你安裝時自動構建initramfs

make tar-pkg優點:

通用,你可以應用在其他的系統,比如arch/gentoo

不會自動建立initramfs(這個算優點吧,因為沒強加給你)

缺點:得手工刪除,但其實也不算缺點,就是有點不和諧

其實就是刪除乙個資料夾和幾個檔案

核心相關檔案只在三個地方

/boot下面是核心的本體,二進位制檔案,一般都會自帶版本號

/usr/src下面是核心的源**檔案,不是跟驅動有關的模組等都是根據/usr/src/linux/的軟鏈結來·判斷核心的版本的,同時除了linux資料夾外,其他的源**資料夾一樣帶版本號

/lib/modules 核心模組,也是編譯好的,也帶了版本號。其餘的基本就沒了

不工作的核心除了佔空間沒什麼用途,有乙個可啟動的核心就行了 把沒用的刪了更新一下grub.cfg就行

debian核心編譯

debian核心編譯 1 到www.kernel.org pub liunux kernel所需要編譯的核心源 2 安裝必要的包,其中kernel package是debian用以編譯核心的工具 fakeroot是乙個在系統中建立假root的工具 為dpkg在編譯核心中所需 udev是管理 dev和...

Debian裡編譯核心

以2.6.8版本為例 1 debian.org上關於編譯核心的說明 另一篇看起來不錯的文章 creating custom kernels with debian s kernel package system 4 執行以下操作,如果當前語言是中文,執行前最好zhcon進入中文環境 注意在menuc...

Debian 編譯 Proxmox 核心

debian 在 windows 下的路徑 wsl 功能還是不全,放棄!更換 debian 軟體包源為 163,編輯 etc apt sources.list 替換為 deb buster updates main deb src buster updates main deb buster mai...