亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1264 | 回復(fù): 0
打印 上一主題 下一主題

Arch Linux 下編譯內(nèi)核 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-04-29 16:15 |只看該作者 |倒序?yàn)g覽

                                                記得剛開始使用 Linux ,看一些入門的指導(dǎo)書的時(shí)候,書上總是提到編譯內(nèi)核。當(dāng)時(shí)感覺這個(gè)好高級(jí),我等新手是不敢貿(mào)然嘗試。
前幾天在安裝 Gentoo 的過程中,不得已自己編譯了一次內(nèi)核,感覺不是很難嘛。所以我就在 Arch 下也自己編譯了一下。
主要參考了這兩篇文章:
http://wiki.archlinux.org/index.php/Kernel_Compilation_From_Source
http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
大體過程如下:
  1. 獲取最新的內(nèi)核源碼$ wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.1.tar.bz2
(剛剛?cè)タ戳艘幌拢?linux-2.6.29.2 已經(jīng)發(fā)布了)
  2. 解壓到編譯目錄
$ mkdir ~/src
$ tar xjvf linux-2.6.29.1.tar.bz2 -C ~/src/
$ cd ~/src/linux-2.6.29.1
  3. 編譯前清潔一下
$ make mrproper
  4. 獲取當(dāng)前系統(tǒng)內(nèi)核的 config 文件,在這個(gè)基礎(chǔ)上修改配置信息
$ zcat /proc/config.gz > .config
  5. 更改配置信息(這一步是最關(guān)鍵,也是最耗時(shí)的)
$ make oldconfig
$ make menuconfig
  6. 編譯和安裝
我采用了 makepkg + pacman 的方式,這種方法更加簡潔。編譯,安裝和卸載都很方便。
在內(nèi)核源代碼目錄下創(chuàng)建兩個(gè)文件: PKGBUILD 和 kernel26.install
$ cat PKGBUILD
               
               
                pkgname=kernel26-custom
basekernel=2.6.29.1
pkgver=2.6.29.1
pkgrel=0428 # 我用日期來表示
pkgdesc="The Linux Kernel and modules"
arch=('i686')
url="http://www.kernel.org"
depends=('module-init-tools')
provides=(kernel26)
install=kernel26.install
build() {
  # build!
  cd ..
  _kernver="${basekernel}${CONFIG_LOCALVERSION}"
  make || return 1
  mkdir -p $startdir/pkg/{lib/modules,boot}
  make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
  cp System.map $startdir/pkg/boot/System.map26-custom
  cp arch/x86/boot/bzImage $startdir/pkg/boot/vmlinuz26-custom
  install -D -m644 .config $startdir/pkg/boot/kconfig26-custom
  # set correct depmod command for install
  sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/kernel26.install
}
$ cat kernel26.install
post_install () {
  echo ">>> Updating module dependencies. Please wait ..."
  KERNEL_VERSION=2.6.29.1
  /sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
post_upgrade() {
  echo ">>> Updating module dependencies. Please wait ..."
  KERNEL_VERSION=2.6.29.1
  /sbin/depmod -A -v $KERNEL_VERSION > /dev/null 2>&1
}
op=$1
shift
$op $*
執(zhí)行 $ makepkg -c ,自動(dòng)編譯,并生成內(nèi)核安裝包(在我的機(jī)器上約需要40分鐘),文件名類似于:
kernel26-custom-2.6.29.1-0428-i686.pkg.tar.gz

然后就可以用 pacman 安裝之了:
# pacman -U kernel26-custom-2.6.29.1-0428-i686.pkg.tar.gz
  7. 創(chuàng)建 ramdisk
# mkinitcpio -k 2.6.29.1-custom -g /boot/kernel26-custom.img
  8. 修改 /boot/grub/menu.lst ,添加一項(xiàng)啟動(dòng)項(xiàng)。
title  Arch Linux-2.6.29.1-CUSTOM
root   (hd0,0)
kernel /vmlinuz26-custom root=/dev/sda2 ro
initrd /kernel26-custom.img
  9. Reboot
整個(gè)過程最關(guān)鍵的一部在于 make menuconfig 。我第一遍幾乎把所有的項(xiàng)目都 check 了一次,把自認(rèn)為不需要用到的功能和模塊全部去除了,結(jié)果進(jìn)不了系統(tǒng),卡在掛載分區(qū)上了。肯定是因?yàn)槲野驯匾墓δ芏既コ说木壒省?br /> 第二遍我不理會(huì)那些多余的模塊了,只修改了關(guān)鍵幾處,比如 CPU 型號(hào),開啟 KMS 等。下面是成果:
$ diff config-origin config-custom
3,4c3,4
# Linux kernel version: 2.6.29.1
> # Tue Apr 28 13:59:58 2009
61c61
CONFIG_LOCALVERSION="-CUSTOM"
206c206
# CONFIG_M686 is not set
224c224
CONFIG_MCORE2=y
231d230
CONFIG_DRM_I915_KMS=y
3929,3932d3926
還有,我發(fā)現(xiàn)如果在 High Memory Support 里選擇 off 的話,我 1GB 的內(nèi)存只能識(shí)別 880MB ,所以最好選擇 4GB 那一項(xiàng)。
現(xiàn)在我的系統(tǒng)信息:
$ uname -a
Linux Homo 2.6.29.1-CUSTOM #1 SMP PREEMPT Tue Apr 28 14:33:42 CST 2009 i686 Intel(R) Core(TM) Duo CPU T2350 @ 1.86GHz GenuineIntel GNU/Linux
               
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/93312/showart_1914367.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP