ubuntu編譯x264
Ⅰ 在ubuntu12.04LTS下成功編譯安裝帶有h264和aac編碼的ffmpeg的完整過程(命令行)
先下載最少yasm、ffmpeg、x264的源碼,
具體步驟和這個差不多。
https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide
h.264通常只用x264一種。
aac編碼器有fdk,visualon,faac,aacplus,內置的等5種選擇。
用fdk最好,其餘任一也夠。
先編譯組件,通常是
./configure 具體包的設置選項
make install
編譯好各個組件後,最後再設置和編譯ffmpeg。
c編譯器的選項CFLAGS最好一致。可以針對自己的cpu優化。比如加入
「-Ofast 」只為速度
-mtune core2 使用core2的優化。
Ⅱ Ubuntu 9.10下安裝和使用ffmpeg的詳細過程!
ffmpeg的編譯、安裝及使用(for x86,for arm)
http://hi..com/iminway/blog/item/bda2db4e29ced701b2de05f1.html
最新的ffmpeg可以通過svn下載,SVN輔助的軟體有:
SubVersion,從 http://subversion.tigris.org/ 下載,支持linux。
TortoiseSVN,從 http://tortoisesvn.tigris.org/ 下載,是很不錯的SVN客戶端程序,為windows外殼程序集成到windows資源管理器和文件管理系統的Subversion客戶端,用起來很方便。
http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make
make install
如果安裝了FC6,它已經帶了svn,不用裝了。
ffmpeg的下載:我們就可以通過svn命令獲取最新的ffmpeg,命令如下:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
xvid的獲取地址如下:
http://www.xvid.org/
wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
配置編譯
for x86
#./configure --prefix=/usr/local
#make
#make install
for arm
#CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/arm-linux --build=i686-pc-linux --host=arm-linux --target=arm-linux
#make
#make install
x264的獲取地址如下:
svn co svn://svn.videolan.org/x264/trunk x264
配置編譯
for x86
#./configure --enable-shared --prefix=/usr/local
#make
#make install
for arm
#CC=arm-linux-gcc ./configure --enable-pthread --enable-shared --host=arm-linux
#make install
lame的獲取地址如下: http://lame.sourceforge.net/index.php
配置編譯
for x86
./configure --enable-shared --prefix=/usr/local
libdts編譯參數
./configure --prefix=/usr
make
make install
http://www.audiocoding.com/moles/mydownloads/,http://prdownloads.sourceforge.net/faac
FAAD2的編譯
cd faad2
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
faac的編譯
cd faac
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
在編譯ffmpeg,在configure時加上--enable-amr_nb --enable-faad --enable-faac參數。
編譯的時候加上--enable-amr_nb --enable-amr_wb參數就行,根據編譯系統的提示,所以我們得下載一些編譯3gp所需得文件。
源碼網址:http://www.3gpp.org/ftp/Specs
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解壓以後把裡面的文件都拷貝到libavcodec/amrwb_float
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解壓以後把裡面的文件都拷貝到libavcodec/amr_float
微軟ASF格式的三個版本,WMV1,WMV2,WMV3分別對應MediaPlayer的版本7,8和9,所以很多時候會稱VC1為WMV3或 WMV9,都是它了,有時候在代碼里,也能看到稱呼它為VC9的。因為微軟還沒有正式公開這種格式,所以當前對VC1的支持還很不完善。本文基本是根據 Multimedia Mike的一篇博客翻譯和完善而來。
(1) 首先要下載 SMPTE VC-1 reference decoder,這個組織是要收費的,可以從這里下載免費的。
(2) 在ffmpeg目錄下的libavcodec目錄下面,建立目錄libvc1。
(3) 將VC1_reference_decoder_release6/decoder/目錄中的*.c和*.h文件全部到libvc1目錄下。
(4) 將VC1_reference_decoder_release6/shared/目錄中的*.c和*.h文件全部到libvc1目錄下。
(5) 將 libvc1-makefile.txt放到libvc1下的Makefile文件。
(6) 將smpte-vc1.c文件放到libavcodec目錄下。
(7) 修改libavcodec目錄下的vc9.c,將文件最後的wmv3_decoder這個AVCodec的structure,用#if 0和#endif包含起來,也就是使它失效了。
(8) 修改libavcodec目錄下的allcodecs.c,將register_avcodec(&wmv3_decoder)上下的注釋去掉,使它發揮作用。
(9) 修改libavcodec目錄下的Makefile,把OBJS的列表中加入smpte-vc1.o。
(10)修改ffmpeg主目錄下的Makefile文件,把-L./libavcodec/libvc1 -lvc1$(BUILDSUF)加入到FFLIBS後面。
(11) 進入ffmpeg/libavcodec/libav1,執行make
(12) 到ffmpeg主目錄下,執行config;make;make install。config時根據實際情況帶參數。
採用ffmpeg轉碼製作FLV文件,和轉碼成其它媒體類型的重要差別是一定要有lame庫支持,因為FLV的聲音編碼採用mp3格式,非lame這個東 東不行。編譯ffmpeg中加入lame庫真是一場災難,特別在windows下,很多參數都不能發揮作用,最後直接手工和改一些文件,記錄如 下:
(1) 如果在Windows下編譯,第一步當然是下載MinGW和MSYS來裝上了。到http://mingw.sourceforge.net/去下載最新版的MinGW-5.0.2.exe和MSYS-1.0.11-2004.04.30-1.exe。
(2) 先安裝MinGW,直接運行MinGW-5.0.2.exe安裝,選擇目錄,譬如選擇D:\MinGW為安裝目錄。安裝時需要選擇gcc和make模塊,安裝文件本身很小,會從網上下載模塊來安裝。
(3) 然後安裝MSYS,也是直接運行MSYS-1.0.11-2004.04.30-1.exe安裝。安裝目錄一般選擇D:\MinGW\bin \1.0。,安裝過程會詢問剛才安裝MinGW的目錄,輸入D:\MinGW,其它都回答'Y'就搞定了。如果不清楚,可以看這個圖片效果。
(4) 運行MSYS,桌面上有個圖標,雙擊就運行了,運行結果是一個模擬unix的命令窗口,後面的編譯都在這種狀態下進行。前面4步在linux不需要。
(5) 到http://lame.sourceforge.net/去下載最新版的lame-3.97b2.tar.gz,到你認為合適的地方,解壓後進入lame解壓出來的目錄中。執行
./configure --prefix=PREFIX
make
make install
(6) 就把編譯出來的include下的lame目錄到/usr/include目錄下,把lib下的幾個庫文件都到/usr/lib目錄 下。這里注意有個變化,如果只 lib目錄下的靜態庫到/usr/lib下,就是只 libmp3lame.a文件,編譯出來的ffmpeg最終就不會對libmp3lame的動態庫有依賴關系,這是因為編譯首先找動態庫,動態庫沒有才找 靜態庫。如果不做這個,後面編譯ffmpeg時無論如何指定參數,都會報錯LAME not found,不知道是哪裡的bug。
(7) 從http://ffmpeg.mplayerhq.hu/取得最新的ffmpeg,現在自由軟體都大量採用SVN了,要先裝一個SVN,可以去http://tortoisesvn.tigris.org/下載windows版的SVN,去http://subversion.tigris.org/下載linux版的SVN。SVN如何編譯安裝這里就省略了。
(8) 如果在windows下,打開解壓後的ffmpeg目錄下的Makefile文件,在FFLIBS的那一行後面加上-lmp3lame$(BUILDSUF)。這個也不知道是哪個bug引起的,搞了好長時間才搞出來,郁悶。Linux下不用這樣。
#./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install
http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip
解壓以後把裡面的文件都拷貝到libavcodec/amr目錄下
make
make install
#./configure --prefix=./install --disable-shared --enable-pthreads --enable-libx264 --enable-libxvid --arch=i686 --enable-gpl
#make
#make install
配置編譯
#./configure --prefix=/home/zht/redhatzht/sources/image-colletct/ffmpeg/install --enable-static --disable-shared --enable-libx264 --enable-libxvid --cross-compile --cc=arm-linux-gcc --arch=arm --enable-gpl --disable-strip --disable-network --disable-ipv6 --disable-vhook --disable-audio-beos --disable-audio-oss --disable-mpegaudio-hp --enable-pthreads --enable-small --disable-parsers --disable-debug
#make
#make install
x86上的ldconfig不能在arm上運行,arm上的ldconfig工具是在建立交叉編譯器時,編譯glibc是產生的,可以拷貝到arm-linux中。
(4) 本文大部分內容來自網路,其中xvid,x264的庫,我親手安裝過,ffmpeg的配置編譯for x86的簡易配置,for arm,我親手配置編譯過,並在x86,arm上可用,編譯配置都是採用靜態庫。
ffmpeg作為媒體文件處理軟體,基本用法如下:
ffmpeg -i INPUTfile [OPTI
文章出處:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/20091024/180077.html)
Ⅲ ubuntu下如何編譯C語言
1、首先打開ubnutu開發環境,直接輸入組合鍵ctrl+alt+t調出命令行界面。
Ⅳ ubuntu怎樣安裝libx264-146
1).安裝依賴的包:
code:
sudo apt-get update
sudo apt-get install build-essential git-core checkinstall texi2html libfaac-dev \
libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
libvorbis-dev libx11-dev libxfixes-dev zlib1g-dev
2.安裝Yasm:x264需要使用yasm來針對CPU架構進行優化,提高性能。
code:
cd
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install
3.安裝x264:下載源代碼、編譯、安裝
code:
cd
git clone git://git.videolan.org/x264
cd x264
./configure --enable-shared //動態庫
make
make install
4.此時 libx264.so默認安裝在/usr/local/lib,直接編譯會出現
tmux: error while loading shared libraries: libx264.so.2: cannot open shared object file: No such file or directory
原因就是已經安裝了該共享庫, 但執行需要調用該共享庫的程序的時候, 程序按照默認共享庫路徑 /usr/lib 找不到該共享庫文件.
如果共享庫文件安裝到了/usr/local/lib(很多開源的共享庫都會安裝到該目錄下)或其它"非/lib或/usr/lib"目錄下, 那麼在執行ldconfig命令前,
還要把新共享庫目錄加入到共享庫配置文件/etc/ld.so.conf中, 如下:
# cat
/etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo
"/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
Ⅳ ubuntu下怎麼編譯linux內核
Ubuntu 系統
1. 准備工作
切換為管理員許可權,sudo –i 輸入用戶密碼 進入root 許可權
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的編程庫(gcc, make 等)
kernel-package (Debian 系統里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要調用的)
libqt3-headers (make xconfig 要調用的)
2. 下載特定版本的內核源代碼
3. 復制源碼linux-3.2.12.tar.bz2 到/usr/src 目錄,解壓縮
命令.假設源碼存放在/home 目錄下
cp /home/linux-3.2.12.tar.bz2 /usr/src
cd /usr/src
tar xvjf linux-3.2.12.tar.bz2
解壓後生成 linux-3.2.12 目錄
4. cd linux-3.2.12
接下來配置內核選項
make menuconfig 這一步比較復雜,內核選項很多,可以使用當前內核的配置選項,
但編譯內核的時間會比較長,因為裝系統的時候使用的配置是適應大多數系統的,非定
制選項。關於內核配置選項怎麼定製,網上很多。
5. 把正在使用系統中的內核配置文件/usr/src/linux-headers-2.6.38-13-generic/.config 拷到
/usr/src/linux-3.2.12 目錄下
cp /usr/src/ linux-headers-2.6.38-13-generic/.config /usr/src/ linux-3.2.12
執行:
cd /usr/src/ linux-3.2.12
make menuconfig
終端會彈出一個配置界面
注意主菜單最後有兩項:
load a kernel configuration…
save a kernel configuration…
先選第一項load ….,意思是,利用當前的內核配置詳單來設置將要編譯的內核,然後選save 這一項保存,最後退出配置界面
6. 開如編譯安裝新內核
執行:make mrproper (清除以前曾經編譯過的舊文件,如果是第一次編譯,可不執行)
執行:make (編譯,加-j4,必須加,雙核並行編譯,速度快很多,不過使用原先配置
選項)
然後:make install
再:make moles (編譯模塊)
再:make moles_install (安裝模塊)
最後創建initrd 文件:
mkinitramfs -o /boot/initrd.img-linux-3.2.12
7. make install 以後,系統自動更新了啟動項,可以cat /boot/grub/grub.cfg 看下.之前的啟動項不能刪除,如果編譯內核不成功,之前的啟動項又不見了,系統也就跪了
8. reboot
Ⅵ Ubuntu虛擬機里怎麼編譯內核
方法/步驟
」Ctrl+Alt+T」進入終端,使用命令 sudo passwd root 啟動root賬號,重啟,使用 su 命令獲得root許可權;
安裝編譯內核所需軟體包
# apt-get update
# apt-get install build-essential kernel-package libncurses5-dev fakeroot 選擇Y
下載3.19.3源碼包並解壓
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.3.tar.xz
# tar -Jxvf linux-3.19.3.tar.xz
配置內核
# cd linux-3.19.3 (cd命令進入源碼目錄)
# make mrproper (得到源代碼後,將其凈化)
# make menuconfig (對內核選項進行配置,不需要配置,直接enter)
# cp /boot/config-'uname -r'-generic ./.config ('uname -r'-generic指現版本內核)
# make clean (刪除配置時留下的一些不用的文件)
編譯內核(需要很長時間,我用了有兩小時,請耐心等待)
# make bzImage
# make moles (編譯模塊)
安裝新內核
# make moles_install (安裝模塊)
# make install
製作啟動盤
# sudo mkinitramfs 3.19.3 -o /boot/initrd.img-3.19.3
更新grub2
# sudo update-grub2
重啟,使用新內核(不是注銷哦,是重啟)
使用命令# uname -r 查看內核版本
Ⅶ linux下編譯ffmpeg時關於configure的問題.
你准備工作沒做好吧!!
先編譯安裝Yasm。
然後編譯安裝H.264 (也就是x264)。
再編譯安裝AAC audio encoder (fdk-aac)。
編譯安裝libmp3lame (MP3 audio encoder)。
編譯安裝libopus (Opus audio decoder and encoder)。
編譯安裝libvpx (VP8/VP9 video encoder and decoder)。
做後編譯安裝ffmpeg。
其中1-6你可以選擇編譯安裝,也可以使用源直接安裝。安裝後了再編譯安裝ffmpeg
你使用 sudo ldconfig -p |grep libx264 看看你的libx264是否正確安裝.
你編譯安裝x264的時候可以使用2中方式都安裝。
先
cd ../x264
./configure --enable-shared
make
make install
最後
cd ../x264
make distclean
./configure --enable-static
make
make install
Ⅷ 如何在ubuntu下安裝ffmpeg
1、下載FFmpeg和libx264的包
ffmpeg-2.4.1.tar.bz2 last_x264.tar.bz2
libx264需要yasm,所以先安裝yasm
apt-get install yasm
然後安裝libx264
aptitude install libx264-dev
也可以手動安裝libx264(原先libx264在ubuntu的軟體源里是沒有的只能手動安裝,現在有了就可以不用手動安裝了)
解壓縮libx264
tar -xjvf last_x264.tar.bz2
安裝libx264
./configure --enable-shared --enable-pic
make
make install
然後安裝ffmpeg,ffmpeg有許多依賴包,需要一個一個先安裝
1. libfaac
aptitude install libfaac-dev
2. libmp3lame
aptitude install libmp3lame-dev
3. libtheora
aptitude install libtheora-dev
4. libvorbis
aptitude install libvorbis-dev
5. libxvid
aptitude install libxvidcore-dev
6. libxext
aptitude install libxext-dev
7. libxfixes
aptitude install libxfixes-dev
依賴包安裝完後,安裝ffmpeg
先解壓縮ffmpeg
tar -xjvf ffmpeg-2.4.1.tar.bz2
然後編譯安裝
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis
make
make install
Ⅸ ubuntu系統下怎麼編譯內核文件
一、下載源代碼和編譯軟體的准備
安裝有關編譯程序。安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯內核相關的工具。安裝不了,請檢查/etc/apt/sources.list 文件。有關命令:代碼:$sudo apt-get install build-essential kernel-package libncurses5-dev
二、解壓源代碼注意,網上很多教程上說應該解壓到 /usr/src,純屬以訛傳訛,linux掌門人linus說解壓到任何目錄上都可以。當然,linus的說法是正確的。我放在自己的主目錄下的src目錄。如果你下載源代碼是放到自己的主目錄下或者運行上面的wget下載的,那麼運行下列命令:代碼:$ cd ~$ mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/現在,源代碼就在 ~/src/linux-2.6.25.10進入源代碼的目錄,准備下一步的工作。後面都在這個目錄裡面進行。代碼:$ cd ~/src/linux-2.6.25.10
三、開始編譯前的准備工作。首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。相關命令如下:代碼:$ sudo make mrproper網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:代碼:cp /boot/config-`uname -r` ./.config
四、開始配置內核選項。相關命令:代碼:$sudo make menuconfig配置用到的鍵只有幾個,esc退出菜單;空格改變選項狀態;游標鍵上下左右移動,回車選定。選項意義:M是編譯成可以隨時加入的模塊,*是編譯進入內核,空就是不要。配置選項非常多,具體配置可以參考金步國先生翻譯的資料:Linux 2.6.19.x 內核編譯配置選項。 請大家遵循一個原則,如果你自己使用的內核已經選用了某個選項,如果你沒用充分的理由,不要隨便改動。這樣雖然內核不那麼精簡,但是不容易出現問題。我們可以精簡的部分是硬體模塊部分,對於自己沒有的硬體要毫不猶豫的清除。如果你很執著,或者你有潔癖,你也可以一項項對過去,按照金步國先生的資料描述去選擇基本上沒有問題。
五、必須強調的幾個選項:1、
在「General setup」裡面的「Prompt for development and/or incomplete
code/drivers」金步國認為是不需要。但是如果你的硬體比較新,那幾乎是必須選的,這樣,我們才可以找到4965無線網卡,alsa聲音驅動等
等。Kernel log buffer size 我選15,雙核。如果你用ia64,要選16。Control Group support 集群支持?可以不要Choose SLAB allocator (SLUB (Unqueued Allocator)) 內存管理模式slab和slub選擇slub。
2、在「Block layer」里,假如沒有2TB的硬碟,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,誰有2TB的文件?
3、Processor type and features中是關於cpu的,要認真選。Symmetric multi-processing support是打開多核的開關,我的cpu是雙核的,選中。Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu後,把Generic x86 support選項取消。Subarchitecture Type 選(PC-compatible)Maximum number of CPUs 輸入自己的核心數目,我輸入2。SMT (Hyperthreading) scheler support說的是超線程技術,P4有支持的,我的t8100不支持,目前大部分市場上的家用cpu都不支持。High Memory Support (4GB) 1G以下選1G;我是3G,選4G;4G以上的選16G在「 Timer frequency 」里,默認是250Hz,較新的cpu都可以選擇了1000Hz,性能更好。
4、Power management options中把APM (Advanced Power Management) BIOS support關閉。現在的電腦都用acpi了。CPU Frequency scaling 是筆記本cpu節電技術Default CPUFreq governor (conservative) cpu節電模式有四個,筆記本默認選conservative比較好。ACPI Processor P-States driver 必須選,不然CPU Frequency就不能用。後面的可選自己硬體相關的,我選的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的統統消滅。
5、Bus options的選擇:Bus options (PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support 現在新買的機器基本上都是PCI Express了ISA support 較新的新機器沒有ISA設備,可以去掉MCA support 去掉NatSemi SCx200 support 去掉PCI Hotplug Support Support for PCI Hotplug (EXPERIMENTAL) 如果沒有PCI熱插拔設備,去掉這里的選項可以考慮全部編譯進內核,而不是以模塊形式存在。
6、Device Drivers是重點,由於linux不但面向個人工作站,更多的是面向伺服器的應用,所以可以把自己機器上沒有的硬體全部去掉,而不用面面俱到。但是通用型的選項要慎重。比如在網卡的部分,除了我的千兆網卡 Broadcom Tigon3 support和4965無線網卡Intel Wireless WiFi 4965AGN,其餘的硬體支持統統去掉。再比如音效卡部分,我的是hd音效卡,我只是在PCI devices中,選intel hd 音效卡,再選Build IDT/Sigmatel HD-audio codec support,除此之外的硬體支持全部去掉。
音效卡還有一個細節,在ubuntu7.10裡面, 需要在/etc/modprobe.d/alsa-base後面添加options
snd-hda-intel probe_mask=1
model=3stack,這樣我的筆記本喇叭才可以發聲,不然只有外接耳機或者音箱。這次編譯以後,這個動作就不必了,但是兩個耳機插口只有一個可以用
了。再比如我的電腦中沒有agp,就可以直接把agp相關的選項全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬碟上,那麼這里一定要選*,選M都不行。否則啟動時會出現「waiting for root file system」的提示而停滯不前。 SCSI emulation support 要用刻錄機,必須選。SCSI device support 現在都是SATA硬碟,一定要選* SCSI disk support 如果你的/boot放在SATA硬碟上,一定要選*。
SCSI CDROM support 雖然康寶刻錄機是ide介面的,但是必須把它當成scsi介面的,這是老問題了。用刻錄機,必須選。
Graphics supportSupport for frame buffer devices 選中,進入選擇 VESA VGA graphics support 選上,不然字元界面啟動會有問題,後面的顯卡選擇:由於我的顯卡是nvidia 8400gs,要自己安裝nvidia公司的驅動,所以一個都沒有選。這樣導致ubuntu開機動畫會出問題,我索性在grub中的splash字元全部刪除,把開機動畫關閉。字元界面很正常。 Console display driver support 有人開機後字元控制台錯誤,就是這部分選項沒有選,出問題了。 Framebuffer Console support 需要打開。
Bootup logo 開機圖標,會在自檢的畫面上加上個性圖標。需要在grub上添加「vga=」的選項 簡稱fuse。是必選的,如果你要用windows分區。
CD-ROM/DVD Filesystems ISO 9660 CDROM file system support 一般選*DOS/FAT/NT Filesystems VFAT (Windows-95) fs support 有FAT32分區就選*吧 NTFS file system support 有NTFS分區就選*吧 NTFS write support 如果想對 NTFS分區進行寫操作,選*必須將啟動盤的文件系統編譯進內核,默認是編譯成模塊,這樣無法啟動系統。ubuntu採用的文件系統是ext3,請把ext2,ext3相關的必要選項都編譯進入內核。
8、Virtualization這個大類是我多花幾百元買t8100的主要原因,因為t8100支持intel vt技術使linux上的虛擬機的性能大幅度提高。這里的選項我除了amd的,其他都編譯成模塊。
9、全部設置完成,最後一項是保存設置。按照我的習慣,先在上一層目錄保存一個備份,文件名類似 ../config20080630然後再保存到當起目錄,文件名 .config退出設置程序。
六、開始編譯內核。ubuntu的工具是make-kpkg,和其他的發行版相比,步驟相對簡單。相關命令:代碼:$sudo make-kpkg clean 這條命令好像不要超級許可權,很多資料上說要,不過這不是原則問題。
$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜歡的字元代替,最後的字元一定是數字.輸完上述命令回車之前,建議大家把瀏覽器還有別的運用程序都關掉,機器開始的工作比較艱苦。
我的機器大概十幾分鍾。
七、安裝內核編譯完成就是安裝工作。編譯好的內核在上一層目錄。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb兩個文件,如果你不搞開發的話,只要安裝內核就可以,頭文件以後要用的時候再說。安裝相關命令:
代碼:$ cd ..$ sudo dpkg -i linux-image-(按tab鍵)文件名很長,如果不用tab自動補足是不可能的,tab鍵萬歲。安裝完成後和老內核比較一下大小代碼:
$ ls -l /boot/
八、重新啟動驗證新內核。代碼:$ sudo reboot
九、顯卡驅動如果你的顯卡和我一樣是nvidia顯卡,啟動之後往往無法正常進入x-window。即使能看到gdm登錄界面,效果也是很差的。那麼就要安裝nvidia驅動。用ctrl+alt+f1 進入字元命令行,輸入用戶名,密碼登錄。 #ps ax看看和gdm相關的進程,把這些進程全部關閉;用sudo /etc/init.d/gdm stop有可能有一個進程沒有關閉:#kill 進程號然後安裝nvidia顯卡驅動,當然驅動要先下好,到nvidia驅動所在的目錄里,運行:# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run重新啟動以後就ok。要用nvidia的驅動,每次升級內核都要這么做。
十、無線網卡相關的內核選項是Networking --->Wireless --->Generic IEEE 802.11 Networking Stack (mac80211)還有4965的驅動。4965
無線網卡驅動雖然已經編入內核,但沒有firmware無法使用。需要把原來內核的firmware拷貝到新內核對應的目錄,名字和內核一致,我的內核是
linux-image-2.6.25.10dell1400,那建的目錄名就是2.6.25.10dell1400。代碼:具體命令:$ cd /lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老內核中的4965的firmware拷貝過來。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等價的:$ cd /lib/firmware/$ sudo cp -R 2.6.24-16-generic/ 2.6.25.10dell1400/
重新啟動系統,無線網卡就正常了。
附編譯使用的機器配置:dell vostro 1400,t8100,nvidia 8400cs顯卡,內置SigmaTel STAC9228晶元的音效卡,4965無線網卡,BCM5906M千兆網卡,3G內存,160G硬碟,combo刻錄。
編譯系統版本:ubuntu 8.04桌面版.
Ⅹ 海思hi3520編譯x264庫嗎
剛到手的Hi3520開發板,拿來第一件事當然是搭環境,本來調了那麼多板子,這不是小菜一碟嘛,可就是掛NFS還浪費了快一個小時,郁悶的了,這倒也好,順著Hi3520的脈絡,就把這個環境搭建過程記錄一下,權當記個筆記噻。。。
買的是雅儀科技的Hi3520開發板,板子還是蠻好看滴,6800大洋。因為最多要驅動八塊sata硬碟,所以板子採用的是計算機的ATX電源。拿過來之後立馬接上串口,上電,擦,毫無反應,這是神馬情況,打電話一問才知道板子本身接出來的串口不是調試串口,UART0要我自己做根線接出來,我勒個去。。。
然後開始掛NFS,本來很簡單的一件事兒,可就因為公司的網路折騰了我好一會兒,我自己習慣用ubuntu,可ubuntu嚴重依賴網路啊,公司的網路受限,我執行sudo apt-getinstall nfs-kernel-server丫根本不能裝,么有辦法了,只能曲線救國,換成Fedora,這下能搞的吧。
這里把ubuntu和Fedora下NFS掛載的基本步驟說明下,後面再說明下要注意的問題:
先說ubuntu下面的:
1、安裝nfs服務
執行命令:sudo apt-get install nfs-kernel-server
安裝nfs-kernel-server時會自動安裝nfs-common和portmap
2、修改/etc/exports文件
執行命令:vim /etc/exports
一般剛安裝的nfs-kernel-server服務則這個文件內容應該為空,在文件中加上下面一行
/root/Hi3520192.168.1.244(rw,sync,no_root_squash)
這里的/root/Hi3520表示你linux主機上的共享目錄,IP地址你可以改為你開發板的IP,後面的參數網上說的已經很多了,不必過多說明
3、設置linux主機的IP地址,這個不用多說了哎
4、重啟nfs服務
執行命令:
sudo/etc/init.d/portmap restart
sudo/etc/init.d/nfs-kernel-server restart
再說Fedora下面的:
Fedora下面稍微復雜,但是Fedora的NFS服務在安裝系統的時候已經存在,我們只需配置並將其開啟
1、開啟nfs服務
在終端下輸入setup,在彈出的菜單中選擇「系統服務」,講其中的netconsole,netplugd,nfs服務選上(按空格鍵選擇或者取消)。並按TAB鍵確認退出
在終端中輸入service nfs restart重啟nfs服務
2、修改/etc/exports文件
此處同ubuntu中的操作
3、設置linux主機端的網路
這里就不僅僅是設置IP了,還要設置下網路
在虛擬機(我這里用的是VMware)菜單中依次選擇」edit->virtual networksetting->Host virtual network mapping」,在第一個下拉菜單中選擇一個已經存在的網卡,就是你PC上真實的網卡,並按「應用」,「確認」
關閉虛擬機,確認Network connection為bridged模式
上面是linux主機端的一些設置,下面說點需要注意的問題,因為我們很多人掛NFS的時候是將PC機和開發板用一根網線直接連接,這個時候IP地址你可以隨便設,但是這樣的話在開發的時候就不能上網了,所以很多人利用一個小humble將PC機和開發板同時接入區域網中,這個時候設置IP的時候您就不要昏頭了啊,一定要先確認這個IP是能用的哎,還有就是虛擬機的network connection要選橋接呀。
再說下Hi3520開發板的設置吧,我看很多開發板是通過在uboot中設置bootargs讓linux啟動的時候就直接掛載NFS,而海思的板子都是在板子進入linux之後通過執行腳本來掛載NFS的,個人覺得後者比較靈活,我想掛就掛,前者就略顯麻煩了哎
海思的文檔裡面信誓當當的把腳本寫好啦
modprobe mmzmmz=ddr,0,0xC2000000,16M /*插入mmz模塊,網口驅動會使用該模塊*/
modprobe hiether /*插入網口驅動模塊*/
ifconfig eth0 hw ether00:10:85:18:01:84 /*配置MAC地址*/
ifconfig eth010.85.180.184 netmask 255.255.254.0 /*配置IP地址和子網掩碼*/
route add default gw10.85.180.1 /*配置默認網關*/
modprobe nfs /*插入NFS模塊*/
mount -t nfs -o nolock10.85.180.133:/home/c54122/glibc-nfs /mnt
和3515的文檔上一模一樣,可是你丫網卡驅動有變化呀,不負責任哎,改了連文檔也不更新,而且我這板子上用的是千兆網卡,還得設置一下模式,我擦,貼上我的腳本內容,IP地址和主機端的NFS目錄根據情況自己改呀
modprobemmz mmz=ddr,0,0xC2000000,16M
modprobeh2gether port_mode=1
ifconfigeth0 hw ether DC:07:C1:FE:26:D3
ifconfigeth0 192.168.1.244 netmask 255.255.255.0
routeadd default gw 192.168.1.1
modprobenfs
mount-t nfs -o nolock 192.168.1.233:/root/Hi3520 /mnt
執行這個腳本,NFS就掛載上啦,然後可以開發嘍
最後還有一個問題注意下,ubuntu下安裝3520的SDK時,可能很多人會報錯,那是ubuntu將默認的shell改成了dash,改回去就是了呀,執行命令sudo dpkg-reconfigure dash,然後選擇「否」,over!