2013年7月13日 星期六

Ubuntu核心編譯

重新編譯Kernel

安裝編譯所需的工具:
$ sudo apt-get install libncurses5-dev kernel-package
下載Kernel Source Code:
$ sudo apt-get install linux-source
解壓縮:
$ sudo tar jxvf linux-source-2.6.32.tar.bz2
複製.config檔:
$ cd linux-source-2.6.32
$ sudo cp -vi /boot/config-`uname -r` .config
基於Ubuntu為Kernel配置的檔案,依需求進行修改:
$ sudo make menuconfig
如果你的CPU是雙核心,底下的設定可以加快compile速度,設定規則是1加上核心數:
$ export CONCURRENCY_LEVEL=3
進行編譯:
$ sudo make-kpkg clean
$ sudo fakeroot make-kpkg --initrd --append-to-version=-renee kernel-image kernel-headers
安裝到/boot目錄下:
$ cd ..
$ sudo dpkg -i linux-image-2.6.32.61+drm33.26-renee_2.6.32.61+drm33.26-renee-10.00.Custom_i386.deb
$ sudo dpkg -i linux-headers-2.6.32.61+drm33.26-renee_2.6.32.61+drm33.26-renee-10.00.Custom_i386.deb
為新的kernel建立ramdisk:
$ sudo update-initramfs -c -k 2.6.32.61+drm33.26-renee
更新grub開機選單:
$ sudo update-grub

編譯新的Kernel

安裝編譯所需的工具:
$ sudo apt-get install build-essential libncurses5-dev
下載Kernel Source Code:https://www.kernel.org/
$ sudo wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.xz -P /usr/src
解壓縮:
$ sudo xz -dc linux-3.10.tar.xz | sudo tar xv
下載patch檔:
$ sudo wget https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.10.3.xz -P /usr/src
解壓縮與安裝patch檔:
$ cd /usr/src/linux-3.10
$ sudo xz -dc ../patch-3.10.3.xz | sudo patch -p1
下載Ubuntu官方為Kernel配置的.config檔:http://kernel.ubuntu.com/~kernel-ppa/mainline
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10-saucy/\
linux-image-3.10.0-031000-generic_3.10.0-031000.201306301935_i386.deb
解壓縮.deb檔案,複製config-3.10.0-031000-generic到/usr/src/linux-3.10目錄下,並重新命名為.config:
$ mkdir tmp
$ dpkg -x linux-image-3.10.0-031000-generic_3.10.0-031000.201306301935_i386.deb tmp
$ sudo cp ~/tmp/boot/config-3.10.0-031000-generic /usr/src/linux-3.10/.config
基於Ubuntu為Kernel配置的檔案,依需求進行修改:
$ cd /usr/src/linux-3.10
$ sudo make menuconfig
配置完成後,進行編譯:
$ sudo make
安裝模組與核心檔案
$ sudo make modules_install install

沒有留言:

張貼留言