ubuntu核心是用系統,於是我學習研究了ubuntu核心,在這裡對大家詳細介紹下ubuntu核心系統應用,希望對大家有用。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/src3、開始編譯前的準備工作cd /usr/src/linux-2.6.28.n
$ sudo make mrproper
網上很多教程上說把現在使用的ubuntu核心的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:**:cp /boot/config-`uname -r` ./.config
4、開始配置ubuntu核心選項
a、sudo make menuconfig,根據需要進行ubuntu核心配置。
5、編譯ubuntu核心
例如: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基本系統的安裝
1.分割槽主要分四個 swap交換區 大概為記憶體的兩倍 boot啟動區 1g左右,根目錄區 用於裝系統 5g左右,home使用者的主目錄區 放使用者的各種檔案 10g左右 3.安裝完程之後首先設定你的安裝源,源的好壞會影響後面的安裝。以我自己的為例 電信使用者可以直接使用這個 先備份你的sudo ...
linux檢視核心版本 系統版本 系統位數
1.檢視核心版本命令 1 root q1test01 cat proc version linux version 2.6.9 22.elsmp bhcompile crowe.devel.redhat.com gcc version 3.4.4 20050721 3.4.4 2 1 smp mon...
CentOS檢視核心版本 系統版本 系統位數
centos檢視核心版本 系統版本 系統位數 檢視linux核心版本 root mongo02 cat proc version linux version 2.6.32 358.el6.x86 64 mockbuild c6b8.bsys.dev.centos.org gcc version 4....