1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      學習園地:編譯Linux系統內核的方法步驟

      更新時間: 2008-04-07 15:16:52來源: 粵嵌教育瀏覽量:463

        1.需要先安裝編譯環境

        進入 root 帳戶:

        > su

        輸入密碼

        安裝必要的工具:

        > apt-get install build-essential

        (安裝 gcc, make 等)

        > apt-get install libncurses-dev

        (安裝 make menuconfig 時必須的庫文件)

        > apt-get install kernel-package, fakeroot

        (Debian 系統里生成 kernel-image 的一些配置文件和工具)

        > apt-get install initramfs-tools, module-init-tools

        2.安裝 kernel-source:

        可以從 Ubuntu 的源安裝,這樣的好處是簡單,而且安裝的內核是Debian 化了的,缺點是內核不是的內核。

        > apt-get install linux-source

        也可以從 www.kernel.org 下載內核安裝。kernel.org 的境象應該很多,選一個快的來下載,因為要下載的文件很大。我這里介紹的是安裝 2.6.24 的內核,加上了 ck 的補丁。

        下載 linux-2.6.24.tar.bz2 和 patch-2.6.24.bz2 ,并且把它們都存放在 /usr/src 目錄下。

        > tar xvjf linux-2.6.24.tar.bz2

        > ln -s linux-2.6.24 linux

        (如果已經有了 linux 目錄,則要先將其刪除)

        > cd linux

        > bzcat ../patch-2.6.24.bz2 | patch -p1

        至此,內核源文件以及補丁就都安裝好了。

        3.編譯內核

        把源碼包解壓到 /usr/src/linux-2.6.24,然后在/usr/src/下創建一個名為linux的指向/usr/src/linux-2.6.24的鏈接(link)。

        在shell中輸入

        root@FE2000:~# cd ..

        root@FE2000:/# cd /usr/src/linux

        root@FE2000:/usr/src/linux# make mrproper

        root@FE2000:/usr/src/linux# make menuconfig

        或者make gconfig

        此時qconf已經讀取了默認配置,你也可以這樣做:

        在qconf中點File->Load 去讀取其他的設置文件。

        比如 /boot/config-2.6.18-23-686

        下面在qconf中配置.config文件。選“Y”(打勾)就是把它編譯到內核中,選“M”(打點)把它編譯成模塊,供內核動態調用。選“N”就是不安裝。也可以保持默認選項……

        下面只是簡單提幾項:

      General setup

      Optimize for size (Look out for broken compilers!) 發燒友可以選Y以獲得更小的內核。


      Processor type and features

      Symmetric multi-processing support 如果你沒有多線程處理器這個可以選N

      Processor family 根據你的CPU來選擇。

      High Memory Support 1G以上內存的選“4GB”, 1G以下的,將來也不打算升級到1G的,選“off”.


      Bus options (PCI, PCMCIA, EISA, MCA, ISA)

      PCI support

      PCI Express support 老式機器沒有PCI-E設備的可以選N

      ISA support 較新的新機器沒有ISA設備,可以選N

      MCA support 一般選N

      NatSemi SCx200 support 一般選N

      PCI Hotplug Support

      Support for PCI Hotplug (EXPERIMENTAL) 如果沒有PCI熱插拔設備,選N


      Device Drivers

      Block devices

      Packet writing on CD/DVD media

      Enable write caching (EXPERIMENTAL) 如果你有刻錄機,想啟用寫緩存功能,選Y


      ATA/ATAPI/MFM/RLL support

        Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬盤上,那么這里一定要選Y,選M都不行。否則啟動時會出現“waiting for root file system”的提示而停滯不前。

      SCSI device support 如果有SATA硬盤,就選Y

      SCSI disk support 如果你的/boot放在SATA硬盤上,一定要選Y。

      Character devices

      I2C support 一般可以選Y或者M

      Graphics support 不建議把顯卡驅動編譯進內核。,選M,編譯成模塊方便日后升級驅動。

      Support for frame buffer devices

      VESA VGA graphics support 可以選Y

      Logo configuration

      Bootup logo 如果想看到Linux啟動logo,選Y

      Sound

      Sound card support 選Y, 除非你沒有聲卡

        其他的驅動,酌情添加刪除,根據機器配置刪除不需要的驅動可以縮短編譯時間。你可以在命令行下輸如lspci或者dmesg查看硬件信息。


      File systems

      CD-ROM/DVD Filesystems

      ISO 9660 CDROM file system support 一般選Y

      DOS/FAT/NT Filesystems

      VFAT (Windows-95) fs support 有FAT32分區就選Y吧

      NTFS file system support 有NTFS分區就選Y吧

      NTFS write support 如果想對 NTFS分區進行寫操作,選Y

      Native Language Support

      Simplified Chinese charset (CP936, GB2312) 選Y或者M使讀取FAT分區不會遇到中文亂碼現象

        設置完畢后,按一下保存按鈕,無論原先載入的是哪個配置文件,qconfig都將設置保存到 /usr/src/linux/.config 這個隱含文件。

        下面輸入make開始編譯,這一過程大約需要40-100分鐘,具體的要看你的機器速度啦……

      root@FE2000:/usr/src/linux# make

        安裝內核

      root@FE2000:/usr/src/linux# make install

        編譯模塊

      root@FE2000:/usr/src/linux# make modules

        安裝模塊

      root@FE2000:/usr/src/linux# make modules_install

        然后

      root@FE2000:/usr/src/linux# cd /

      root@FE2000:/usr/src/linux# /usr/sbin/mkinitramfs -o /boot/initrd.img-2.6.24 2.6.24

        如果有出錯提示,可能是因為 initramfs-tools 沒有裝,先把它裝上吧。

        如果沒有這一步驟,那么開機就會出現提示

        ……

      initrd /initrd.img-2.6.24

      Error 15: File not found

        4.修改內核啟動選項

        打開 /boot/grub/menu.lst

        在 ## ## End Default Options ## 下面添加類似下面的兩段


      title Ubuntu, kernel 2.6.24

      root (hd0,4)

      kernel /vmlinuz-2.6.24 root=/dev/hdd6

      initrd /initrd.img-2.6.24

      savedefault

      boot


      title Ubuntu, kernel 2.6.24 (recovery mode)

      root (hd0,4)

      kernel /vmlinuz-2.6.24 root=/dev/hdd6 ro single

      initrd /initrd.img-2.6.24

      boot

        注意 root和kernel字段要模仿menu.lst下面已有的內容寫。

        下面是 (hd0,4),那么你也寫(hd0,4),下面寫root=/dev/hdd6,你也寫root=/dev/hdd6,只是內核的版本號改為現在編譯的版本號。

        然后把下面重復的savedefault刪除。

        重新啟動計算機,在GRUB中選擇新內核啟動。



      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日本又色又爽视频 | 一区二区国产精品 | 亚洲欧美国产色婷婷 | 亚洲欧美一区二区三区免费 | 日本精品在线一区欧美 | 亚洲天堂在线观看网址 |