1. é¢å¤å·¥ä½
ææ¨è使ç¨rootç¨æ·æ§è¡ä¸é¢ææçæ¥éª¤. å¦æä½ è¿æ²¡æå建rootç»éå£ä»¤, 请è¿è¡ä¸é¢çå½ä»¤:
sudo passwd root
ç¶å, 以root身份ç»é:
su
å¦æä½ æ³ä½¿ç¨ä¸è¬ç¨æ·æ¥æ¿ä»£rootç¨æ·, è®°ä½å¨æ¬æææå½ä»¤åè¾å
¥sudo, æ¯å¦å½æè¿è¡
apt-get update
ä½ éè¦è¿è¡ä¸é¢çå½ä»¤æ¥æ¿ä»£, ç.
sudo apt-get update
1.1 Ubuntu 6.10ä¸ç/bin/sh ("Edgy Eft")
å¨Ubuntu 6.10, /bin/sh缺çæ¯ä¸ä¸ªé¾æ¥å°/bin/dashçå符é¾æ¥. å½ä½ ç¼è¯è½¯ä»¶æºä»£ç çæ¶å, /bin/dashä¼¼ä¹è¿åå¨é®é¢. è³å°æå·²ç»éå°äºä¸äºé®é¢. æ以ææ/bin/shé¾æ¥å°äº/bin/bash.
å¦æä½ ä½¿ç¨Ubuntu 6.10, ç°å¨ä½ å¯ä»¥è¿è¡:
rm -f /bin/sh
ln -s /bin/bash /bin/sh
2 å®è£
å¿
éç软件å
(为å
æ ¸ç¼è¯ååå¤)
é¦å
æ们å级软件(å
)åº:
apt-get update
ç¶åæ们å®è£
ææéè¦ç软件å
:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
3 ä¸è½½å
æ ¸æºä»£ç
æ¥ä¸æ¥æ们ä¸è½½éè¦çå
æ ¸å°/usr/srcç®å½(å»
www.kernel.orgç½ç«ä¸è½½ä½ éè¦çå
æ ¸çæ¬, æ¯å¦. linux-2.6.18.1tar.bz2(ä½ å¯ä»¥ä»è¿éä¸è½½ææç2.6å
æ ¸: http://
www.kernel.org/pub/linux/kernel/v2.6/). ç¶åä¸è½½å°/usr/srcç®å½:
cd /usr/src
wget http://
www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2
ç¶å解åå
æ ¸æºä»£ç , å建ä¸ä¸ªæåå
æ ¸æºä»£ç ç®å½çlinuxå符é¾æ¥:
tar xjf linux-2.6.18.1.tar.bz2
ln -s linux-2.6.18.1 linux
cd /usr/src/linux
4 ç»å
æ ¸æºä»£ç æè¡¥ä¸(å¯é)
ææ¶ä½ ç缺çå
æ ¸ä¸æ¯ææ°ä¹°ç设å¤, ä½ éè¦å®è£
æ°ç驱å¨. æè
ä½ éè¦ä½¿ç¨èæææ¯æå
¶å®é«çº§çææ¯, èè¿äºç°æçå
æ ¸é½ä¸æ¯æ. è¿æ ·æ
åµä¸ä½ éè¦ç»ç»å
æ ¸æºä»£ç æè¡¥ä¸(å½ç¶è¡¥ä¸å·²ç»åå¸..)
ç°å¨æ们åè®¾ä½ å·²ç»ä¸è½½éè¦çè¡¥ä¸(以ä¸ä¾åæå«å®patch.bz2)å°/usr/src. è¿è¡ä¸é¢çå½ä»¤ç»å
æ ¸æºä»£ç ç´æ¥æä¸è¡¥ä¸(ä½ çç¨æ·å¿
é¡»ä½äº/usr/src/linuxç®å½):
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1
第ä¸ä¸ªå½ä»¤ç¨äºæµè¯, 对å
æ ¸æ²¡æä»»ä½å½±å. å¦æ没ææ¾ç¤ºé误, ä½ å¯ä»¥è¿è¡ç¬¬äºä¸ªå½ä»¤ç»å
æ ¸æè¡¥ä¸. å¦æ第ä¸ä¸ªå½ä»¤æ误, 请å¡ç»§ç»çæä½!
ä½ ä¹è½å¤éè¿å
æ ¸çprepatchesæ¹å¼æè¡¥ä¸. æ¯å¦, å¦æä½ éè¦ä¸ä¸ªåè½, èè¿ä¸ªåè½ä»
åå¨äº2.6.19-rc4ä¸,
æ£å¼å®æ´çå
æ ¸çæ¬ä»æ²¡æåå¸, èpatch-2.6.19-rc4.biz2å·²ç»åå¸. ä½ å¯ä»¥æè¿ä¸ªè¡¥ä¸æå°2.6.18çå
æ ¸æºä»£ç ä¸,
ä½è¯·ä¸è¦è¾¾å°2.6.18.1æ2.6.18.2, ç. è¿ä¸ªè§åå¨æ¥ä¸æ¥çç½é¡µä¸æ³¨æ:
http://kernel.org/patchtypes/pre.htmlprepatchesçåäºlinuxä¸çæµè¯åè¡; ä»ä»¬ä½äºåæ¡£çæµè¯ç®å½ä¸,
æ们å¯ä»¥ä½¿ç¨patch(1)å·¥å
·å¯¹ä¸ä¸ä¸ªå®æ´åè¡ç(çæ¬å·åä¸é¨å)æè¡¥ä¸(ä¾å¦, 2.6.12-rc4
prepatchåªå¯ä»¥ç»2.6.11å
æ ¸æºä»£ç æè¡¥ä¸, èä¸æ¯2.6.11.10.)
æ以å¦æä½ æ³ç¼è¯2.6.19-rc4å
æ ¸, ä½ å¿
é¡»å¨æ¥éª¤3.1ä¸è½½2.6.18(http://
www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2)æ¿ä»£2.6.18.1å
æ ¸æºä»£ç !
ä¸é¢æ¯å¦ä½ç»2.6.18æä¸2.6.19-rc4è¡¥ä¸:
cd /usr/src
wget http://
www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc4.bz2
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1
5. é
ç½®å
æ ¸
使ç¨å½åå·¥ä½å
æ ¸çé
ç½®æ件å为æ°å
æ ¸é
ç½®æ件çåºç¡æ¯ä¸ä¸ªå¾å¥½ç主æ. å æ¤æ们æ·è´å·²åçé
ç½®æ件å°/usr/src/linux:
cp /boot/config-`uname -r` ./.config
ç¶åè¿è¡
make menuconfig
ç¶åæ们çå°å
æ ¸çé
ç½®èå. 移å¨ç»¿è²å
æ å° Load an Alternate Configuration File è¡åéæ©.configæ件(å
å«äºå½åå·¥ä½å
æ ¸çé
ç½®)å为é
ç½®æ件:
ç¶åæµè§å
æ ¸é
ç½®èå, éæ©ä½ éè¦çåè½. å®æé
ç½®å, éæ©Exit, åçä¸é¢çé®é¢(Do you wish to save your new kernel configuration? ä½ å¸æä¿åæ°çå
æ ¸é
ç½®å?), éæ©Yes:
6 æ建å
æ ¸
æ§è¡ä¸é¢å½ä»¤æ¥æ建å
æ ¸:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom -j4 kernel_image kernel_headers
å¦æè¦è¿è¡äº¤åç¼è¯ï¼å¯ä»¥è¿è¡ç¡®å®æ¶ææºå¨ä¸çç¼è¯ã
fakeroot make-kpkg --initrd --append-to-version=-custom -j4 --arch i386 kernel_image kernel_headers (æ¯å¦å¨64ä½æºå¨ä¸ç¼è¯32ä½çå
æ ¸)
å¨--append-to-version= åé¢ä½ å¯ä»¥åä¸ä»»ä½å符串æ¥åºå«å
æ ¸çæ¬, ä½æ¯å¿
须以" - "符å·å¼å§èä¸åé¢ä¸å
æ¬ä»»ä½ç©ºæ ¼.
ä¿æèå¿, å
æ ¸ç¼è¯éè¦ä¸å®æ¶é´, 主è¦çä½ çå
æ ¸é
ç½®åå¤çå¨é度.
7 å®è£
æ°å
æ ¸
å¨æåæ建å
æ ¸å, ä½ å¨/usr/srcç®å½è½åç°ä¸¤ä¸ª.deb软件å
.
cd /usr/src
ls -l
å¨æçæµè¯ç³»ç»ä¸, ä»ä»¬åå«å为
linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
(å
å«äºå®é
çå
æ ¸) å
linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
(å
å«äºéè¦çæ件, ç¨äºä»¥åéè¦ç¼è¯é¢å¤çå
æ ¸æ¨¡å). ææ¯è¿æ ·å®è£
ç:
dpkg -i linux-image-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.18.1-custom_2.6.18.1-custom-10.00.Custom_i386.deb
(ç°å¨ä½ çè³è½å¤æ·è´è¿ä¸¤ä¸ª.debæ件å°å
¶å®çUbuntuç³»ç», éè¿ä¸é¢çæ¹å¼å®è£
. ä½ å°ä¸åéè¦ç¼è¯å
æ ¸.)
ç¶åæ£æ¥ /boot/grub/menu.lstæ件, ç°å¨ä½ å°è½åç°æ°å
æ ¸ä½¿ç¨ç两个å¼å¯¼é
ç½®å:
vi /boot/grub/menu.lst
å¨ææµè¯ç³»ç»ä¸å·²ç»æ·»å 好çå¼å¯¼é
ç½®åæ¯è¿æ ·ç:
title Ubuntu, kernel 2.6.18.1-custom
root (hd0,0)
kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro quiet splash
initrd /boot/initrd.img-2.6.18.1-custom
savedefault
boot
title Ubuntu, kernel 2.6.18.1-custom (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro single
initrd /boot/initrd.img-2.6.18.1-custom
boot
ç°å¨éå¯ç³»ç»:
shutdown -r now
å¦æä¸åè¿å±é¡ºå©, ä½ çæ°å
æ ¸æ£å¸¸å·¥ä½. ä½ è¿å¯ä»¥éè¿è¿è¡ä¸é¢å½ä»¤æ¥æ£æ¥æ°å
æ ¸æ¯å¦è¿è¡:
uname -r
è¿å°ä¼æ¾ç¤ºå¦:
2.6.18.1-custom
å¦æç³»ç»æ²¡æèµ·æ¥, éå¯ä¸ä¸, ä½ ä¼çå°:
æESCè¿å
¥GRUBèå:
éæ©ä½ 以åçå
æ ¸å¯å¨ç³»ç», ç°å¨ä½ è½å次å°è¯ç¼è¯æ°çå·¥ä½å
æ ¸. ä¸è¦å¿è®°ä»/boot/grub/menu.1stæ件ä¸ç§»å»ä¸éè¦çå¼å¯¼å
æ ¸ä¿¡æ¯.