亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ubuntu內核基本系統裁減與編譯的示例分析

發布時間:2021-12-08 11:46:09 來源:億速云 閱讀:278 作者:小新 欄目:系統運維

這篇文章將為大家詳細講解有關Ubuntu內核基本系統裁減與編譯的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、Ubuntu內核裁減與編譯

1、安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯Ubuntu內核相關的工具。安裝命令如下$sudo apt-get install build-essential kernel-package libncurses5-dev如果無法安裝請檢查/etc/apt/sources.list

2、解壓源代碼可以解壓到任意目錄,我們在這里解壓到/usr/src

tar -xvf linux-2.6.28.N -C /usr/src  cd /usr/src/linux-2.6.28.N

3、開始編譯前的準備工作

$ sudo make mrproper

網上很多教程上說把現在使用的Ubuntu內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:代碼:cp /boot/config-`uname -r` ./.config

4、開始配置Ubuntu內核選項

a、sudo make menuconfig,根據需要進行Ubuntu內核配置。

5、編譯Ubuntu內核

$sudo make-kpkg clean 這條命令好像不要超級權限,很多資料上說要,不過這不是原則問題。$ sudo make-kpkg --initrd [--append-to-version=任意名稱] kernel_image [kernel-headers]

例如:make-kpkg –initrd kernel_image

kernel-headers(kernel具體版本號如2.6.28.3,如果***編譯時如果指定kernel-headers會報錯。)說明可以用make -j2代替。

6、安裝Ubuntu內核

編譯完成就是安裝工作。編譯好的Ubuntu內核在上一層目錄。包括linux-headers-...-_i386.deb和linux- image-...-i386.deb兩個文件,如果你不搞開發的話,只要安裝Ubuntu內核就可以,頭文件以后要用的時候再說。
安裝相關命令:$ cd ..
$ sudo dpkg -i linux-image-(按tab鍵)說明:1、如果用make -j2編譯,則可以用 make install 和make modules_install進行代替

2、如果用make 直接編譯,則需要用,mkinitramfs -o initrd.img-2.6.28.N 2.6.28.N生成initrd文件并進行/boot/grub/menu.lst增加新Ubuntu內核選項。

3、在/boot/grub/menu.lst中可以不實用uuid,方法可以將/etc/initramfs-tools/conf.d/resume內容用#號注釋,update-initramfs -u -k `uname -r`(如果報Kinit: no resume image,doing normal boot...)如果報此錯誤可以用該方法解決。

二、基本系統裁減

一般有兩種方法,將原有系統上進行刪除,刪除無用的文件;另一種方法就是在新的文件系統中增加文件,我們可以采用***種辦法來作,比較簡單的辦法就是將所有文件拷貝到一個新的磁盤分區,進行操作系統文件裁減,如果刪除文件導致系統無法啟動可以將文件從原始系統中拷貝過來。

1、首先我們對命令進行刪除,刪除那些不常用的命令。

2、對動態庫進行刪除,使用ldd comand 確定文件使用的動態庫。(可以盡量將所有模塊編譯到Ubuntu內核而不是編譯成模塊,這樣可以減小文件系統裁減的難度。),刪除多余的動態庫。

3、對/dev目錄進行裁減,默認可以保留MAKEDEV,console,null,random,urandom,以及bus,pts hm這些文件和目錄。

4、對/usr目錄進行裁減,僅保留bin,lib,sbin,share,local幾個目錄即可。
a、bin,sbin根據需要保留必要命令即可。
b、lib保留gconv,i686,locale,sudo,ssl,udev目錄和必要的動態庫即可。
c、share目錄保留command-not-found file i18n terminfo zoneinfo即可,并且可以將這些目錄中不需要的文件刪除。

5、裁減var目錄保留 lock log mail run spool 幾個目錄即可,根據需要刪除這些目錄中多余文件。

6、裁減etc目錄,根據需要進行裁減。

說明:

1、/usr/bin/tput命令和/etc/lsb-*文件可以導致系統重啟時[0K]不顯視,裁減時必須主義。

2、命令行下修改時區a、 sudo tzselect 進行選擇;b、將/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

7、boot目錄裁減

根據需要修改initrd.img-2.6.28.N

1、可以使用gzip -cd /boot/imagefile.img |cpio -imd –quiet對initrd.img-2.6.28.N進行解壓,修改參數。

2、用find . |cpio –quiet -H newc -o |gzip -9 -n > /boot/initrdfile.img生成壓縮的initrd文件。或者使用(find . |cpio –quiet -c -o |gzip -9 -n > /boot/initrdfile.img,不過高版本Ubuntu內核使用前面的壓縮方式。

3、可以用mkinitramfs -o initrd.img-2.6.28.N 2.6.28.N生成initrd文件,也可以用update-initramfs -u -k `uname -r` 升級現有initrd進行升級。

8、重啟進行必要的調整。

說明:

1、如果報error:”kernel.maps_protect” is an unknow key”可以在/etc/sysctl.conf將該行屏蔽。

2、如果報error:”vm.mmap_min_addr” is an unknow key可以設置Security option選項 重新編譯Ubuntu內核。

關于“Ubuntu內核基本系統裁減與編譯的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海原县| 武穴市| 剑河县| 克东县| 蓬溪县| 江西省| 临夏市| 新宾| 广昌县| 车险| 公安县| 黔南| 松溪县| 青川县| 灵台县| 漳浦县| 三原县| 神池县| 如皋市| 竹溪县| 胶州市| 抚宁县| 祥云县| 庆元县| 安达市| 鄂托克前旗| 铜鼓县| 营山县| 寻乌县| 汾阳市| 临漳县| 剑川县| 湄潭县| 汤原县| 额敏县| 邵阳县| 抚顺市| 屯昌县| 松滋市| 边坝县| 庐江县|