Showing posts with label Library. Show all posts

Build fcgi-2.4.1




 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi   
   
 ./configure --prefix=$PREFIX --host=${HOST} \  
 CC=${CROSS}gcc  
   
 make install  
Sunday, October 11, 2015
Tag :

Build bzip2-1.0.6



Modify Makefile

 # To assist in cross-compiling  
             CC=arm-linux-gnueabihf-gcc  
             AR=arm-linux-gnueabihf-ar  
             RANLIB=arm-linux-gnueabihf-ranlib  
             LDFLAGS=  
             ####I add so file,because boost lib need so lib,not static library.  
             BZLIB=libbz2.so.1.0.6  
                                 
             #CLAGS=-Wall -Winline -O2 -g $(BIGFILES)  
             CLAGS=-Wall -Winline -O2 -g $(BIGFILES) -fPIC  
             SFLAGS=-shared   
             PREFIX=$(PWD)/_install  
               
             #all: libbz2.a bzip2 bzip2recover test  
             all: libbz2.a $(BZLIB)  
   
             $(BZLIB): $(OBJS)  
                  $(CC) $(SFLAGS) $(LDFLAGS) -o $@ $^  
   
             ####bzip2 and bzip2recover can not be execute on the ubuntu host,
                   they are binary based arm architecture.   
             #install: bzip2 bzip2recover  
       install: $(BZLIB)  
   
   
    
                #cp -f bzip2 $(PREFIX)/bin/bzip2  
                #cp -f bzip2 $(PREFIX)/bin/bunzip2  
                #cp -f bzip2 $(PREFIX)/bin/bzcat  
                #cp -f bzip2recover $(PREFIX)/bin/bzip2recover  
                #chmod a+x $(PREFIX)/bin/bzip2  
                #chmod a+x $(PREFIX)/bin/bunzip2  
                #chmod a+x $(PREFIX)/bin/bzcat  
                #chmod a+x $(PREFIX)/bin/bzip2recover  
                cp -f libbz2.a $(PREFIX)/lib  
                chmod a+r $(PREFIX)/lib/libbz2.a  
                cp -f $(BZLIB) $(PREFIX)/lib  
                chmod a+r $(PREFIX)/lib/$(BZLIB)  


 make  
 make PREFIX=$PREFIX install  





Build pcre-8.36


 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi   
   
 ./configure --prefix=$PREFIX --host=${HOST} \  
 CC=${CROSS}gcc  
   
 make install  

Build boost_1_58_0


Thư viện phụ thuộc:
- zlib
- bzip2

Xem hướng dẫn cross.

 "Bootstrap the code:"  
 ./bootstrap.sh  
   
 "  
 Modify the configuration file (project-config.jam) to use the ARM toolchain   
 by replacing the line with "using gcc" by:  
 using gcc : arm : arm-none-linux-gnueabi-g++ ;  
 "  
   
 "Install the python development package on host" 
  yum install python-devel
 
 "Cross comple zlib-1.2.8 and bzip2-1.0.6 "
 DEPEND_LIB_DIR=/path/to/install  
 export CFLAGS=-I${DEPEND_LIB_DIR}/include  
 export CPPFLAGS=-I${DEPEND_LIB_DIR}/include  
 export LDFLAGS=-L${DEPEND_LIB_DIR}/lib  
 export PKG_CONFIG_PATH=${DEPEND_LIB_DIR}/lib/pkgconfig  
 export LD_LIBRARY_PATH=${DEPEND_LIB_DIR}/lib  
 export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin 
   
 "Build and install the boost libraries:"    
 ZLIB_SOURCE_DIR=/path/to/zlib-1.2.8  
 BZIP2_SOURCE_DIR=/path/to/bzip2-1.0.6  
   
 ./bjam toolset=gcc-arm --prefix=$PREFIX \  
 -sZLIB_SOURCE=${ZLIB_SOURCE_DIR} \  
 -sBZIP2_SOURCE=${BZIP2_SOURCE_DIR} \  
 --without-python \  
 install  


Sunday, October 4, 2015
Tag :

Build libevent


Thư viện phụ thuộc:
- openssl

   
 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi   
   
 DEPEND_LIB_DIR=/path/to/openssl/install  
 export CFLAGS=-I${DEPEND_LIB_DIR}/include  
 export CPPFLAGS=-I${DEPEND_LIB_DIR}/include  
 export LDFLAGS=-L${DEPEND_LIB_DIR}/lib  
 export PKG_CONFIG_PATH=${DEPEND_LIB_DIR}/lib/pkgconfig  
 export LD_LIBRARY_PATH=${DEPEND_LIB_DIR}/lib  
 export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin  
   
 export PREFIX=/friendlyarm   
  ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc    
      
  make    
  make install   

Build openssl-1.0.0s


Thư viện mã hóa, xác thực dữ liệu

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi    
      
 "static library"  
 ./Configure dist --prefix=${PREFIX}  
 make CC="${CROSS}gcc" AR="${CROSS}ar r" RANLIB="${CROSS}ranlib" install  
   
 "shared library"  
 ./Configure --prefix=${PREFIX} shared "${HOST}":"${CROSS}gcc:-DTERMIO -O3 -Wall -I../../host/include::-D_REENTRANT::-L../../host/lib -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR::bn_asm.o armv4-mont.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::void:dlfcn:linux-shared:-fPIC::.so.1.0.0":${CROSS}ranlib::  
   
   
 "if you configure for host with shared library"  
 ./config --prefix=${PREFIX}/usr     \  
 --openssldir=${PREFIX}/etc/ssl \  
 --libdir=lib     \  
 shared        \  
 zlib-dynamic  
   


Build zlib-1.2.8


Thư viện nén / giải nén dữ liệu.

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi    
      
 export CC=${CROSS}gcc  
 export CXX=${CROSS}g++  
 export AR=${CROSS}ar  
 export RANLIB=${CROSS}ranlib  
 export STRIP=${CROSS}strip  
 export LD=${CROSS}ld   
   
 ./configure --prefix=$PREFIX  
   
 make  
 make install  

Build curl-7.38.0


Thư viện hỗ trợ download internet.

  export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    
  export CROSS=arm-none-linux-gnueabi-    
  export HOST=arm-none-linux-gnueabi    
      
      
  export PREFIX=/friendlyarm   
  ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc    
      
  make    
  make install   

Build linux-fusion-9.0.2


 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin  
 export CROSS=arm-none-linux-gnueabi-    
 export HOST=arm-none-linux-gnueabi  
 
 export CC=${CROSS}gcc    
 export STRIP=${CROSS}strip    
 export AR=${CROSS}ar    
 export AS=${CROSS}as    
 export CXX=${CROSS}g++    
 export CPP=${CROSS}cpp    
 export LD=${CROSS}ld    
 export RANLIB=${CROSS}ranlib    
 export ARCH=arm  

 export PREFIX=/friendlyarm  

  requirement:    
  - build linux kernel modules ok    
  - for example: ${PREFIX}/lib/modules/2.6.32.2-FriendlyARM    
      
      
  open linux-fusion Makefile and edit:    
      
  KERNEL_VERSION = 2.6.32.2-FriendlyARM    
  INSTALL_MOD_PATH = ${PREFIX}    
  KERNELDIR = $(INSTALL_MOD_PATH)/lib/modules/$(KERNEL_VERSION)/build    
  FUSIONCORE = single    
  ONECORE  = single    
      
  - make    
  - make install    
      
 install fusion.ko and linux-one.ko to ${PREFIX}/lib/modules/2.6.32.2-FriendlyARM/drivers/char/fusion    
   fusion.h and one.h to ${PREFIX}/usr/include/linux    
      
  -runtime: insmod fusion.ko, insmod linux-one.ko    


Saturday, October 3, 2015
Tag :

Build libsigc++-2.4.0


Thư viện xử lý cơ chế signal-slot

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi   
   
   
 export PREFIX=/friendlyarm  
 ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc   
   
 make   
 make install  


Build alsa-lib-1.0.22


Thư viện xử lý âm thanh PCM
 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi   
   
   
 export PREFIX=/friendlyarm  
 ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc   
   
 make   
 make install  


Build alsa-utils-1.0.22
 yum install ncurses ncurses-devel ncurses-libs ncurses-static  

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi   
   
 #export alsa-lib-1.0.22 da build
 DEPEND_LIB_DIR=/friendlyarm
 export CFLAGS=-I${DEPEND_LIB_DIR}/include
 export CPPFLAGS=-I${DEPEND_LIB_DIR}/include
 export LDFLAGS=-L${DEPEND_LIB_DIR}/lib
 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${DEPEND_LIB_DIR}/lib/pkgconfig
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${DEPEND_LIB_DIR}/lib
 export PATH=$PATH:${DEPEND_LIB_DIR}/bin:${DEPEND_LIB_DIR}/sbin  
   
 export PREFIX=/friendlyarm  
 ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc   
   
 make   
 make install  








Build libxml2-2.7.7


Thư viện XML

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin   
 export CROSS=arm-none-linux-gnueabi-   
 export HOST=arm-none-linux-gnueabi   
     
     
 export PREFIX=/friendlyarm  
 ./configure --prefix=${PREFIX} --host=${HOST} CC=${CROSS}gcc   
     
 make   
 make install  













Build tslib-1.0



 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin  
 export CROSS=arm-none-linux-gnueabi-  
 export HOST=arm-none-linux-gnueabi  
   
 export PREFIX=/friendlyarm/directfb   
   
 ./autogen-clean.sh   
 ./autogen.sh   
 ./configure --prefix=${PREFIX} --host=${HOST} \  
 CC=${CROSS}gcc \  
 --enable-shared=yes --enable-static=yes \  
 ac_cv_func_malloc_0_nonnull=yes   
    
 make   
 make install  
   


Thursday, October 1, 2015
Tag :

Builld freetype-2.4.0



Download http://www.freetype.org/

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin  
 export CROSS=arm-none-linux-gnueabi-  
 export HOST=arm-none-linux-gnueabi  
   
   
 export PREFIX=/friendlyarm
 ./configure --prefix=${PREFIX} --host=${HOST} \  
 CC=${CROSS}gcc  
   
 make  
 make install  


Build libpng-1.6.13


Download http://www.libpng.org/

 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin  
 export CROSS=arm-none-linux-gnueabi-  
 export HOST=arm-none-linux-gnueabi  
    
 export PREFIX=/friendlyarm  
 ./configure --prefix=${PREFIX} --host=${HOST} \  
 CC=${CROSS}gcc  
   
 make  
 make install  


BusyBox

1. BusyBox
BusyBox là một bộ tiện ích nhỏ gọn cho hệ thống nhúng, ví dụ như các lệnh ta dùng trong shell như "cat, date, ping, ip, route, ..." đều được tích hợp trong nó, chính vì vậy BusyBox được dùng để xây dựng nên Root File System.
Download source tại đây http://www.busybox.net
Toàn bộ các tiện ích và cách sử dụng được liệt kê ở link dưới:
http://www.busybox.net/downloads/BusyBox.html

2. Cross compile
2.1 Cấu hình
Export biến môi trường dẫn đến thư mục cross compiler:
 export CC_PATH=/opt/FriendlyARM/toolschain/4.4.3  
 export PATH=$PATH:${CC_PATH}/bin  

Cấu hình mặc định hoặc bằng giao diện đồ họa:
 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- defconfig    #default
 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig   #configure by GUI 


Việc cấu hình được thực hiện bằng các phím mũi tên, enter, space và Esc.

2.2 Make compile
Chọn thư mục để install:
BusyBox Settings->Installation Options->BusyBox installation prefix
hoặc set qua biến môi trường
CONFIG_PREFIX=/path/to/rootfs

 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- CONFIG_PREFIX=/path/to/rootfs install  


Monday, September 14, 2015

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -