因Yahoo!奇摩部落格將於2013年12月26日終止服務故遷移至此
第 3 次編譯囉XD
這次的目標是 Multi-application core
之前兩版都是單一程式的版本
在 1.1.0 還 1.20 以後完整版 fusion 啟動
到了 1.3.0 以後 fusion 從 DirectFB 抽出
可以獨立使用
所以嘛...編譯過程會有些不同
再紀錄一下唄~
測試平台 :
EPIA-M 加上一張 CF 卡
和 EPIA 類別裡那張 EPIA-MII 不太一樣, 是舊版的, 由網拍取得
電源線只接上需要的
大叔是有練過的, 好孩子不要學~XD
開始前先下載 patch : dfb-patch.zip
來源 :
http://mail.directfb.org/pipermail/directfb-dev/2008-September/004543.html
http://mail.directfb.org/pipermail/directfb-dev/2008-May/004238.html
patch 是 DirectFB 開發人員做的
用來補強 GTK+ 和 Cairo 的效能, 並修正一些繪圖的問題
若不打直接編會變成這樣 :
部分區域會不更新或是變黑
此更新檔沒有修正佈景主題引擎的問題
所以若加裝佈景主題還是會變黑
不加裝則沒事
開始編譯
環境變數
export PATH=$PATH:/myproj/toolchain/compilers/i686-linux-ct4.1.0-2.3.6tls/bin export target=i686-unknown-linux-gnu export PREFIX=/myproj/r_multitouch export LD_LIBRARY_PATH=$PREFIX/lib export PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig zlib-1.2.3 ./configure --prefix=$PREFIX –shared # 修改 makefile,改這個: LDSHARED=$(CC) -shared –Wl,-soname,libz.so.1 make CC=$target-gcc make install libpng-1.2.23 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ CFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib" --disable-static make make install glib-2.18.0 sudo apt-get install libglib2.0-dev # 在configure裡搜尋cannot run test program while cross compiling和cross-compiling # 並移除其下方的{ (exit 1); exit 1; }; ./configure --host=$target --build=i386-linux --prefix=$PREFIX # 修改 glib/giounix.c 改這: #include <bits posix1_lim.h> make make install atk-1.23.5 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --disable-glibtest # Makefile 中找到 $(GLIB_GENMARSHAL) 的指令,將其註解, # 並在target上執行指令產生對應檔案,修改 #define PATH_MAX 260 make make install freetype-2.3.7 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --disable-static make make install libxml2-2.6.30 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --without-debug --disable-static # 修改 testModule.c 加上: #define PATH_MAX 260 make make install fontconfig-2.6.0 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --with-freetype-config=$PREFIX/bin/freetype-config --disable-static \ --with-confdir=$PREFIX/etc/fonts --enable-libxml2 make make install jpeg v0.6b ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --exec-prefix=$PREFIX --disable-static make CC=$target-gcc CXX=$target-g++ AR="$target-ar rc" STRIP=$target-strip \ LD=$target-ld RANLIB=$target-ranlib AS=$target-as NM=$target-nm \ AR2=$target-ranlib make install make install-lib make install-headers Fusion Device 8.0.1 複製fusion 8.0.1原始碼中的fusion資料夾到kernel的<kernel_src_root>/drivers/char/Kconfig目錄下,並修改Kconfig檔,新增以下內容至<kernel_src_root>/drivers/char/Kconfig : config FUSION_DEVICE tristate "Fusion device 8.0.1" ---help--- Fusion device 8.0.1 新增以下內容至<kernel_src_root>/drivers/char/Makefile : obj-$(CONFIG_FUSION_DEVICE) += fusion/ 完成後編譯kernel DirectFB-1.2.7 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --disable-gif CFLAGS="-I$PREFIX/include -I/myproj/kernel/linux-2.6.24/include" \ LDFLAGS="-L$PREFIX/lib" CPPFLAGS="-I$PREFIX/include" \ --with-sysroot=$PREFIX --exec-prefix=$PREFIX --with-tests \ --disable-sdl --disable-x11 --enable-multi --with-gfxdrivers=cle266 \ --with-inputdrivers=keyboard,ps2mouse --enable-fbdev \ FREETYPE_CFLAGS="`pkg-config --cflags freetype2`" \ FREETYPE_LIBS="`pkg-config --libs freetype2`" --disable-debug-support make make install pixman-0.11.10 ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --disable-sse2 --disable-vmx make make install cairo-1.6.4 # 打patch patch -p0 < cairo-1.6.4-dok-all.patch ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --enable-directfb=yes --disable-xlib --enable-ps=yes --enable-png=yes \ --disable-win32 --without-x --enable-freetype=yes --enable-pdf=yes \ --enable-svg=yes LDFLAGS="-L$PREFIX/lib" CFLAGS="-I$PREFIX/include" --disable-static make make install # 新增以下 lib 到 cairo.pc 中: # -lfreetype -lfontconfig -ldirectfb -lz -ldirect -lpng12 -lxml2 -lfusion pango-1.20.5 ./configure --host=$target --build=i386-linux --prefix=$PREFIX --without-x \ LDFLAGS="-L$PREFIX/lib" CFLAGS="-I$PREFIX/include" make make install # 新增以下lib到pango.pc中: -lglib-2.0 -lgmodule-2.0 -lgobject-2.0 # 新增以下lib到pangocairo.pc中: -lpangoft2-1.0 # 在目標平台上執行pango-querymodules > $PREFIX/etc/pango/pango.modules來產生組態檔 gtk+-2.12.9 # 打patch patch -p0 < gtk+-2.12.9-dok-all.patch ./configure --host=$target --build=i386-linux --prefix=$PREFIX \ --with-gdktarget=directfb --without-libtiff CFLAGS="-I$PREFIX/include" \ --disable-glibtest --disable-largefile --without-libjasper \ LDFLAGS="-L$PREFIX/lib" CPPFLAGS="-I$PREFIX/include" \ --without-x --without-xinput --without-pic make make install
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。