gentoo重新編譯內核
1. linux(gentoo)編譯內核後,無法進入系統,求解
內核編譯的問題,你看看是不是把文件系統編成模塊了?一般來說我編譯內核改下三卡,把不穩定的取了,默認設置都能進入系統。
2. 我終於知道為什麼gentoo內核總是編譯失敗了
自己定製內核的用gentoo,其他archlinux,起碼我這個無線網卡我就不知到怎麼弄進gentoo內核,說是官方只支持2.6以前的,但archlinux就支持的很好。gentoo的eselect真心好用,archlinux的python一個python一個python2,有些編譯環境支持的有點奇
3. gentoo真是難裝啊
gentoo安裝和使用進行了將近一天的驚心動魄的升級後(很慶幸系統沒有掛掉,而且感覺更快了),終於想靜下心來把一個星期以來的安裝、配置以及升級gentoo大致寫出來,一是想紀念一下,另外也許對其他想用gentoo的朋友有一些參考價值。我使用linux不算很長,大概用了一年半的ubuntu和一年的archlinux。用archlinux時逛經常有人談及gentoo,好像用 gentoo的都是高手。當時感覺可笑,各各發行版區別都那麼大嗎,之前用ubuntu轉到archlinux也就是顯卡驅動那碰到點問題,其他都比較順 利,gentoo又能難到哪去呢?另外gentoo安裝軟體都是要編譯的,我的本性能也不好,就想如果以後換了新的再考慮吧,所以中間雖然想了幾次,但一 定沒有嘗試。一個星期前( 3月4),我把mplayer和ffmpeg都手動升級下,發現編譯起來有點糾結,mplayer需要ffmpeg的源碼,但ffmpeg還要單獨編 譯,後來讓mplayer用ffmpeg的so後升級ffmpeg後mplayer居然掛了,重編了幾回才弄好。系統里有好幾個包都自己編譯,主要是想去 掉不用的依賴,但手動維護太麻煩了,於是又想到了gentoo。當時已經10點多了,於是想第二天開始著手。廢話完畢。 之前的硬碟分區就這樣的:/dev/sda1 ext4 6g //dev/sda2 2g 未使用/dev/sda3 ntfs 30g/dev/sda4 jfs 66g /home其中/dev/sda2是以前的swap,但後來不用休眠功能後感覺swap意思不大,就不用了。其餘的三個分區都比較重要,基本動不得,這給怎麼裝啊。想來想去,先用sda2試試吧,如果裝不上就沒事了,裝上再進一步考慮吧。於是把sda2格成了reiserfs(某人說這種格式好,但我從來沒用過,正好體驗一下)。下載 stage3-i-.tar.bz2 和portage-latest.tar.xz。(前一個文件一周一更新)(我用的32位)國內的鏡像有: mount /dev/sda2 /media/zsudo tar xvpf stage3-i-.tar.bz2 -C /media/zsudo tar xvpf portage-latest.tar.xz -C /media/z/usr准備chroot環境:sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash現在就chroot進去了,之後的操作如不特別說時都是在這個環境下進行的。 初始化環境變數:env-update;source /etc/profile修改/etc/ke.conf,這個非常重要,最好首先改到位,不然之後有你受的(我就是,不得要領,改了多回,改完還要重編譯各種東西):加入源:GENTOO_MIRRORS= #-jn,n是內核數加1,多線程編譯用的,不設置也行INPUT_DEICES=keyboard mouse synaptics #鍵盤、滑鼠、觸摸板#下面的是很重要的USE,開始時可以只用USE=X gtk,但最開始寫好以前就省事了,不然以後會麻煩重重。USE=-pppd -alsa -fortran sse sse2 ssse3 mmx sdl v4l v4l2 oss oss4 X gtk unicode truetype jpeg png gif cairo zsh-completion fontconfig videoopenglIDEO_CARDS=radeon #這個至關重要,顯卡驅動類型,具體請查看官方wiki,我的是ati x,只能用這個開源驅動。#CCEPT_KEYWORDS=~x86 #這個要注意,如果要用最新的軟體,可以加上這行,但如果是第一次裝,強烈不建議加,不然會提升安裝難度先改這些就差不多了。改/etc/locale.gen,加(按照自已需要寫)en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_CN.GB GBzh_CN.GBK GBK運行locale-gencp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改/etc/conf.d/clockCLOCK=localTIMEZONE=Asia/Shanghai改/etc/resolv.conf,把本機的/etc/resolv.conf內容寫出其中,不然上不了網。改/etc/fstab,這個也可以安裝完內核再寫,這個應該都會寫。查看網路是否正常(如果電腦聯網了,resolv.conf也改了就可以上了),然後同步portage(如果portage-latest.tar.xz是剛下的也可以略過這步,但最好還是運行下吧):emerge --sync安裝內核源碼:emerge gentoo-sources下邊就開始編譯內核了,如果有手動配置內核的經驗強烈建議手動配置編譯:cd /usr/src/linuxke menuconfigke; ke moles_installcp arch/x86/boot/bzIge /boot,不然最好使用genkernel:emerge genkernelcd /usr/src/linux/genkernel --menuconfig all關於配置內核請上網自行查詢,如果下一種方式實在不會也可以不配置,一般也能啟動起來。編譯時間和很多因素有關,幾十分鍾到幾小時不等。用戶相關:(osily是自己要創建的用戶名)passwseradd -m -G audio,cdrom,portage,u,video,wheel,users -s /bin/bash osilypasswd osily如果fstab之前沒改好現在一定要改好,然後改自己系統的/boot/grub/menu.lst。此處官方wiki寫的很清楚,建議查看。 現在可以繼續安裝其他軟體,如xorg-server,但最好還是重啟看看能不能進去。如果不能的話多半是內核(尤其是自己編譯的內核)的問題,如果內核沒問題,看看/boot/grub/menu.lst是不是有問題,多改幾回。如果可以正常進去的話,可以直接在這繼續編譯,但最好還是返回原來的系統繼續。可以寫個類似這樣的腳本:#!/bin/bashsudo mount /dev/sda2 /media/z/sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash運行就可以進去chroot環境,如果進去環境變數不正常運行:env-update;source /etc/profile然後就是安裝需要的東西了,主要看自己了,比如dhcpcd、sudo、vim,一般的工具直接emerge xxx就可以了,emerge的具體用法網上查吧。但如果你想要桌面環境的話,最好按以下的步驟:安裝點基本工具後,直接安裝xorg-server,注意前提/etc/ke.conf里顯卡和輸入設備等變數一定是正確的。這會安裝許多東西,基本要用一個小時以上,耐心等待吧。安裝完後:(xorg-x11和驅動相關,請查看wiki相關部分,這部好像可以省略,記不清了) eselect opengl set xorg-x11如果安裝好了,可以先重啟試試,進去後,運行startx,這是很的一刻了,如果顯示找不到xterm找不到什麼的,恭喜你,顯卡驅動基本正常了,不 然就會有各種稀奇古怪的問題&&×&%×&,那麼也恭喜你,在接下來的時間你將對安裝顯卡驅動、寫 xorg.conf等有深刻而透徹的了解。如果是前者,你可以回去繼續安裝其他東西,如xterm(最好安裝完再重啟下看看是不是正常,如果不正常,那麼你可以回過頭處理顯卡驅動問題了)、openbox甚至gnome、kde。下文再說。如果是後者或者剛才的xterm顯示解析度不對、滑鼠鍵盤觸摸板不能用,那麼你要折騰一會了,雖然之前安裝內核沒有難到你,這里很可能讓足夠糾結甚至放棄。這也是我安裝過程中最混亂的地方,已經沒法清晰地回憶了,因為這的問題我先後重裝了4次,(第一次因為2g空間不夠,2、3次都因為X段錯誤,非常糾結),而且其中改了幾回顯卡驅動類似,重編譯了多回。如果是X段錯誤,看出錯信息是不是載入某個so出的錯,如果是可以先把那個so移到別的地方重試。如果不是段錯誤,可能是xorg.conf有問題,有的驅動是不需要這個問題的,默認也是沒有了,所以如果有先刪掉試試,不行的話用X -configure生成一個新的再X -config xorg.conf.new嘗試如果不行的話,還很有可能是內核沒配置的問題,這往往比較麻煩,可以先仔細閱讀wiki,不行再去linuxsir等去找找或者問問。重編譯內核後最好把和X相關的包也重編譯下(有許多)。再有很可能是你選擇的驅動不支持你的顯卡,比如老的ati顯卡很多都不能用現在的閉源驅動。這樣可以試試其他的,改/etc/ke.conf,然後必須把相關的包重新編譯。還有其他的可能吧如果xterm能進去了,但滑鼠鍵盤等不能用,保證/etc/ke.conf正確的話,安裝xf86-input-evdev,如果xf86-input-keyboard xf86-input-mouse xf86-input-synaptics 沒有的話說明/etc/ke.conf沒寫對,這時安裝上這幾個包也未必好用,可能要重新編譯更多包。這個問題應該是比較好解決的。如果分辯率不正常,首先要確認用的不是xf86-video-vesa的驅動(按我的流程不會安裝到這個包),如果是那很可以解析度就不調不正常了。然後還是顯卡驅動安裝問題,還有xorg.conf,上網多找找吧。顯卡驅動問題如果一時解決不了的話,可能會拖很長時間,甚至直到放棄,或者你甘願不用圖形界面。 如果以上都正常了,gentoo離你就很近了。接下來主要部署桌面環境,推薦比較輕量的,(如openbox、fluxbox、fvwm、dwm、awesome等),可以配合面板(tint2、bmpanel、pypanel等),不然要花很長時間編譯。安裝完後就按自己的需要進行配置了。現在還沒有涉及的問題主要還有:音效卡、網卡、攝像頭等設備的驅動,以及觸摸板不正常等。如果觸摸板用手指點無反應,但手指有反應,試試:synclient TapButton1=1如果橫向滾動不能用:synclient HorizEdgeScroll=1其他問題請查詢synclient用法要把上邊的命令放在啟動腳本里,如是.xinitrc,確保它能在進入X前被調用。音效卡問題,如果用alsa的話,genkernel默認編譯的內核包含了alsa驅動,應該就要以正常使用了,如果沒包含就要有點麻煩。如果內核包含了oss驅動(這是舊版本的),可能也可以正常用,但效果應該不好,能就算了吧。 如果都沒有的話如果內核啟用的音效卡支持(menuconfig里有一層的里邊是alsa和oss,它的上一層要選上),你可以選擇安裝alsa或者oss 驅動,個人推薦用oss4,它音質比較好,佔用資源少(我試和內核的alsa里比mplayer放mp3時cpu佔用省了一半)。但安裝oss4不是很容 易,因為它不在portage里,要用layn,還要能連接國外網。alsa沒裝過,wiki有詳細說明。如果現在就要安裝oss4,也好:emerge laynlayn -a oss-overlay然後再/etc/ke.conf里加一句:source /var/lib/layn/ke.conf然後emerge oss或者emerge oss-devel如果網路沒問題的話應該正常安裝。要保證/usr/src/linux指向的是當前用的內核然後/etc/init.d/oss start,一般要等幾分鍾因為要編譯內核模塊,如果成功了基本就可以用了,可以試試osstest,不成功的話問題就麻煩了,很可能你要重新編譯內核
4. Linux Gentoo安裝,採用stage1方式,完全自己編譯內核,這需要聯網。
樓主,你沒有這個能力,也沒有這個外部環境就不要這么折騰了。
妥妥的用 Windows 吧……
1、安裝過程理論上不可以中斷,不過實際上,在編譯軟體包的過程中 ^C ,下次是可以繼續的。emerge 每完成一個軟體包,就會自動記錄相關的信息並且安裝到系統裡面。因為已經有了這個軟體包的全套過程,下次繼續會從斷掉的那個軟體包開始重新編譯安裝。不過軟體包互相之間有依賴關系,軟體包升級後,可能介面會改變,導致某些程序出問題。如果出問題的正好是 emerge 和相關的東西,比如 python ,那就肯定掛了。
2、斷網依然可以繼續編譯。不過沒有下載的源代碼就沒辦法再次下載了。
3、不聯網需要提前下載 portage 的數據,和對應想編譯的軟體源代碼。
4、你需要一個 chroot 環境,所以,必須是有一個 Linux 系統,這個系統可以是任何方式啟動的,只要能啟動到 Linux 命令行,並且可以實現讀取你需要安裝到的地方即可。就如同你安裝 Windows ,你需要啟動一個安裝環境,也就是安裝 Windows 的那個安裝程序界面(Ghost版就是啟動到 Ghost 裡面)。
5. gentoo安裝內核怎麼編譯啊~
按安裝文檔來,剛開始選擇默認配置,以後永久了熟悉了可以隨時再編譯部署的
6. gentoo內核編譯失敗,這是報錯,求解答
看上去像是文件系統沒編譯到內核里,
先查看下你是什麼哪種文件系統,ext2或ext3 (df -T)
比如你的/boot分區是ext2格式的
File systems --->
<*> Second extended fs support
然後重新編譯拷貝到/boot目錄下,重啟試試。
7. gentoo編譯內核有必要嗎
我個人認為:如果對 Linux 內核編譯不是非常熟悉、且目前 Linux 系統的功能夠用的話(例如:使用 Redhat Linux 搭建各種伺服器,像:FTP、WWW、Sendmail、DNS等),那麼就沒有必要使用 gentoo 編譯內核。畢竟使用 gentoo 編譯內核 Linux,對使用人員的技術水平還是有一定難度的。
8. 關於linux kernel-2.4.18重新編譯的問題
.... 你太牛x了
第一 內核和 initrd文件是統一的 ,也就是說 你編譯了一個內核 如果使用initrd的話 必須是你編譯的內核生成的initrd ,不過這個不是必須存在的, 不過你這里必須吧 Initrd /initrd-2.4.20-8.img 這一行刪除
第二, hdc=ide-scsi 這個你為什麼要載入? 讓系統自動處理最好, 此外 vmware下面 如果使用scsi硬碟, 那麼默認的磁碟應該是 sda , 光碟機一般是 hdc
還有, 內核裡面的選項有3個 , Y的意思是編譯進內核 也就是你這里的bzImage-2.4.18test1 文件, N是不編譯, M是編譯為模塊,如果你的 SCSI驅動編譯為模塊的話 那才需要 initrd ,否則就不需要
另外 ,我想你似乎搞錯了 scsi low-level drivers 這個不是很重要好像 都編譯為模塊即可 重要的是上面的幾個scsi支持 ,這里不方便贅述,給你找個參考資料 , 你那本書太老了實在
http://lamp.linux.gov.cn/Linux/kernel_options.html 這里有個很好的內核選項介紹
事實上, 不需要在內核編譯上耗費太多的時間,選項沒必要太精細面面俱到,基本上 ,基礎的東西和文件系統驅動都編譯進內核,其他的都編譯為模塊即可,系統會自動載入需要的 , 除非你要做深入的內核驅動程序分析 ..
9. gentoo重新編譯內核,是否需要重新安裝之前安裝的軟體詳細點。
大部分的軟體不需要重新編譯
少量的會需要重新編譯下,比如:顯卡驅動等硬體驅動或者一些需要內核模塊支持的程序
如果你更換了內核版本,那麼這些程序一定需要重新編譯
如果你沒有更換內核版本,但是改動涉及很多硬體方面的內容,那也需要重新編譯這部分軟體,否則會這些軟體/硬體沒辦法工作~
有一個工具:mole_rebuild (emerge mole_rebuild就可以了)
如果你不確定是否需要emerge編譯哪些軟體,那就執行:
mole_rebuild list (在我的電腦上就一個軟體需要重新編譯,就是閉源的ati顯卡驅動)
則會列出需要重新編譯的軟體(它不會記住你是否重新編譯過了這些軟體,而是告訴你這些可能需要重新安裝,所以你更新內核之後執行一次mole-rebuild就可以了)
然後你可以執行:mole-rebuild rebuild來重新安裝這些軟體~