Ubuntu 12.04 編譯核心步驟 + Fedora 10 編譯核心步驟(圖)
MPlayer-1.0rc4.tar.gz
http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.gz
all-20110131.tar.bz2
http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20110131.tar.bz2
windows-essential-20071007.zip
http://www.mplayerhq.hu/MPlayer/releases/codecs/windows-essential-20071007.zip
Blue-1.8.tar.bz2
http://www.mplayerhq.hu/MPlayer/skins/Blue-1.8.tar.bz2
首先
#./configure --codecsdir=/usr/local/lib/codecs --enable-gui --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8
出現錯誤:
Error: The GUI requires libavcodec with PNG support (needs zlib)
解決繼續:
# sudo apt-get install zlib1g-dev
出現錯誤:
Unknown parameter: --win32codecsdir=/usr/lib/wincodecs/
解決繼續:
出現錯誤:
Error: X11 support required for GUI compilation.解決繼續:
sudo apt-get install libgtk2.0-dev
最終:
./configure --codecsdir=/usr/local/lib/codecs --enable-gui --enable-largefiles --enable-menu --language=zh_CN,en --charset=utf8
./configure –prefix=/usr/local/mplayer –enable-gui –enable-freetype –codecsdir=/usr/lib/codecs/ –win32codecsdir=/usr/lib/win32/
–enable-libfaad
–enable-liba52 –enable-libx264 \
–enable-libxvid
–enable-libamr-nb
–enable-libamr-wb
–enable-gpl
–enable-pp
–enable-pthreads
–disable-debug
–enable-shared
解釋一下引數
--enable-gui 是開啟圖形介面 這個我想一般都需要
--enalbe-largefiles 允許播放超過2g的大檔案
--enable-menu 允許選單
--prefix=/usr 如果加上此句,mplayer,gmplayer放到/usr/bin/目錄下,沒有此句,則在安裝目錄/bin下
--confdir=/usr/local/mplayer 這個是mplayer的安裝目錄
此外,還有幾個引數也介紹一下,也許有用。
--disable-gcc-checking 不檢查gcc的版本。此處不用,MPlayer-1.0rc1就是需要gcc4.1而CentOS 5就是gcc4.1
--language=zh_CN安裝中文介面。
最終的config:
./configure --prefix=/usr/local/mplayer --enable-gui --enable-freetype --codecsdir=/usr/lib/codecs/ --enable-largefiles --enable-menu --language=zh_CN
--win32codecsdir=/usr/lib/win32/
----------------------------------------------------------------------------------------------------------------------------
Ubuntu 下的驅動裝不上去,很是搞人啊,CX25821提供的Linux驅動,說明文件都是在Fedora 10 下面舉例的,只好先裝個Fedora 10 試試了。
不出所料,Fedora 10 下CX25821驅動也是編譯錯誤,缺少檔案,只能再試試手動更新個核心試試了。。。。。殘念
手上2個系統Ubuntu 12.04 (核心3.x) 和 Fedora 10(核心2.6x)
網上教程很扯淡,總是把簡單的事情搞複雜了,Ubuntu一個大佬說,把核心安裝包放在任何地方都可以,教程那些CP啊,mv
啊,具是扯蛋,浪費我N多時間,我在中文目錄下一樣也裝成功了。真正按照步驟來,1個小時完全可以搞定一切。
值得一提的是裝完新核心後VM Tools要重新安裝,所以,事先把所有檔案拷到桌面上去。
--------------------------------------------------------------------------------------------------------
ubuntu 12.04 更新核心步驟 + Fedora 10 更新核心步驟
到官方 http://kernel.org/ 下載,得到
3.3.6 或者更加新的版本。
先安裝 ncurses 工具,這是字元版配置工具所依賴的:
$ apt-get install libncurses5 libncurses5-dev #(Ubuntu 環境)
$ sudo yum install ncurses ncurses-devel #(Fedora 環境)
然後輸入命令:
make mrproper
make clean
make menuconfig #(注意視窗拉大點,否則影象顯示不下會報錯。直接save,不用改)
make -j6 #(CPU是4核就寫4,我是6。速度是會快些,加了後20分鐘make完成,不加要近1小時)
sudo make modules_install
sudo make install
上面的命令會把編譯資料夾裡面的“arch/x86/boot/bzImage”檔案複製到“/boot”,同時還會複製 config 和 System.map 檔案,最終在“/boot”會多出如下3個檔案:
/boot/config-3.3.6
/boot/System.map-3.3.6
/boot/vmlinuz-3.3.6
注意檢視是否有這3個檔案生成,沒有的話,或者差某1個的話進行以下步驟,差那個就做那個步驟:
1.將編譯核心時生成的核心映象bzImage拷貝到/boot目錄下,並將這個映象命名為vmlinuz-3.3.6。如果使用x86的cpu,則該映象位於arch/x86/boot/目錄下(處於正在編譯的核心原始碼下)。
2.將~/linux-3.3.6/目錄下的System.map拷貝到/boot/目錄下,重新命名為System.map-3.3.6。該檔案中存放了核心的符號表。
3.將~/linux-3.3.6/目錄下的.config拷貝到/boot/目錄下,重新命名為config-3.3.6。
是不是發現缺少了一個 initrd.img 檔案(初始ram磁碟檔案)?使用下面命令建立一個即可:
$ sudo mkinitramfs 3.3.6 -o /boot/initrd.img-3.3.6 #(Ubuntu 環境)
$ sudo mkinitrd initramfs-3.3.6.img 3.03.6 #(Fedora 環境)
ok,到這裡就算編譯完成了,再就需要做一個事情,選擇哪個核心啟動
這一步可以使用 GRUB2 的自動生成工具完成
$ sudo update-grub2 #(Ubuntu 環境)
$ sudo grub2-mkconfig #(Fedora 環境) 在Ubuntu成功了,Fedora 10 不成功,沒法只能手動改了。
位置在 /boot/grub/ 需要改動2個地方
,注意不要刪東西,啟動改為3.3.6那個,改為0,時間改為10好了,儲存重啟。
重啟,
檢視核心版本號命令 uname -a 更新到3.3.6了。
弄完了重新安裝VM Tools,
一路回車即可
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ok 既然更新了核心,繼續開始搞 CX25821的驅動吧。。。
結果出現找不到 smp_lock.h檔案的錯誤,編譯中止。google了一下,原因是新的2.6.39以後的核心,已經木有這個檔案了。
悲催啊,尼瑪剛剛更新的3.3.6核心啊啊啊啊啊。。。
蛋定,蛋定,心平氣和,慢慢搞定 CX25821。。。。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
error "Unknown RCU implementation specified to kernel configuration"
層出不窮哦,繼續。。。。。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------