編譯核心問題 - Linux

Table of Contents

各位前輩好,
最近在研究核心編譯,使用的是Ubuntu 10.04, 現在核心版本為2.6.32.47

我想要先嘗試整個編譯、安裝到開機都沒問題,再來研究核心的細部選項。所以沒有修改
.config檔的選項,直接make和install,但開機後都只有tty1終端機介面,沒有圖形介面


我在網路上看了許多資料,不知道到底哪裡弄錯了

我做的事基本上就和這篇文一樣,先下載核心原始碼2.6.32版後解壓縮
# sudo apt-get install linux-source-2.6.32
# sudo tar xjvf linux-source-2.6.32.tar.bz2

然後複製現用版本的.config檔到此資料夾底下
# sudo cp /usr/src/linux-headers-2.6.32-47-generic/.config
/usr/src/linux-source-2.6.32

# make menuconfig,不做任何修改只改Local version後,直接存檔
# make
# make modules_install ,在/lib/modules產生module資料夾。
# make install ,產生config-xxx、System.map-xxx、vmlinuz-xxx到 /boot 裡面,
但不會產生 initrd 檔案。
# update-initramfs -k 2.6.32.60-test -c ,產生 initrd 檔案。
# update-grub
# reboot

看到開機選單多了我新編譯的核心,但選擇進入後就是tty1終端機模式,沒有圖形介面。

請問為什麼會這樣呢?我少了哪個步驟嗎?



※ 引述《artf08 (大珍奶,珍奶大)》之銘言:
: 在下新手獻曝,其實也只不過是一些股溝來的步驟(ubuntu10.04,10.10,mint皆測過)
: 但至少我確定下面這些步驟,我自己試過從rc3~rc5都沒問題
: 提供想自己編譯kernel玩玩的人參考
: 我只知道這樣做OK,對於步驟有問題的話請各位高人幫忙解答
: 1.下載最新的內核 www.kernel.org
: (目前最新是kernel 2.6.38),保存到主目錄(/home/user/ 或~/)
: 2.解壓軟件包:
: tar xvf linux-2.6.38-rc6.tar.bz2
: 3.使用默認的(你原本用OK的).config 文件:
: sudo cp /boot/config-2.6.xx-xx-generic ~/linux-2.6.38-rc6
: ^^ ^^
: xx-xx這邊改成你系統正在用的版本即可
: 4.make & install:
: cd linux-2.6.38-rc6
: sudo make menuconfig
: (參考完鳥哥的舊資料後,看懂得部分就自訂,不懂得就預設)
: (這邊會出現警告,因為少了編譯需求的某lib,補齊即可)
: sudo make
: (靜待3小時,1.5G的舊電腦,近期的應該也要1小時左右吧,我猜)
: sudo make modules_install
: sudo make install
: 5.創建 initrd:
: sudo update-initramfs -k 2.6.38-rc6 -c
: 6.升級grub:
: sudo update-grub
: 7.重啟就變成新kernel了

--

All Comments

Leila avatarLeila2013-05-27
GPU driver? 如果沒有 dkms 好像會有問題
Michael avatarMichael2013-05-31
直接抓 git://kernel.ubuntu.com/ubuntu/ubuntu-precise
git tree 回來編 把 precise 換成你的版本
Erin avatarErin2013-06-01
fakeroot debian/rules clean binary-generic binary-heade
bin-headers
binary-headers # orz
Joseph avatarJoseph2013-06-05
這樣就可以編出跟你安裝時一模一樣的 kernel 了
Genevieve avatarGenevieve2013-06-09
要修改 config 得要直接到 debian/config 目錄底下改
Frederica avatarFrederica2013-06-13
git clone 二樓的網址
Rebecca avatarRebecca2013-06-13
git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git
Erin avatarErin2013-06-14
我剛才測過可以抓啊 ... 我不知道你說 precise 要輸入什麼
Donna avatarDonna2013-06-16
是什麼意思?我給那個網址就是說照打啊 @@
Aaliyah avatarAaliyah2013-06-21
另外原 po 的顯卡是 NV/AMD/Intel ?
Ivy avatarIvy2013-06-22
如果是 nouveau 不支援的 NV 卡,那就得另外裝 driver
Selena avatarSelena2013-06-23
我覺得是顯卡問題 因為nv是動態的 重新安裝nv驅動就可
Irma avatarIrma2013-06-25
我指的版本是把 precise 換成 quantal 或是 raring 啊 (doh
Oliver avatarOliver2013-06-28
經過半年回來補完這篇,後來發現是.config檔選不對。
Yedda avatarYedda2013-06-30
我不應該到/usr/src/linux-headers-x.x.x-generic下複製
Agnes avatarAgnes2013-07-01
.config檔而是應該跟原文一樣用/boot/config-x.x.x才對
Jacob avatarJacob2013-07-04
第1篇看的時候用的config檔錯誤,我就一直粗心沒看到不同
Necoo avatarNecoo2013-07-08
文件所選的config檔路徑不同。 從/usr/src/linux-headers-
Damian avatarDamian2013-07-11
選的config檔應該是不完整選項(所以才以"header"為名),少
Ingrid avatarIngrid2013-07-14
了很多該有的module才會無圖形介面
Doris avatarDoris2013-07-14
http://ppt.cc/pVGb 寫得不錯