环境:rhel6
OSCam的配置可以采用GUI配置,是一种基于Dialog的配置界面,需要安装dialog支持包:
[root@localhost Packages]# rpm -ivh dialog-1.1-9.20080819.1.el6.i686.rpm
OSCam采用CMake配置,安装CMake
[root@localhost Packages]# rpm -ivh cmake-2.6.4-5.el6.i686.rpm
开始配置:
1、配置你的交加工具链:
[root@localhost OSCam]# export PATH=/home/root/arm-none-linux-gnu/bin:$PATH [root@localhost OSCam]# cd toolchains/ [root@localhost toolchains]# vi toolchain-arm-none.cmake
我的配置文件如下:
set (OSCAM_SYSTEM_NAME none) set (CMAKE_SYSTEM_NAME linux) set (CMAKE_C_COMPILER arm-none-linux-gnueabi-gcc) set (CMAKE_SYSTEM_PROCESSOR arm)
2、生成makefile:
[root@localhost OSCam]# cd build_dir/ //在这之前你可以使用./config.sh -g来配置oscam [root@localhost build_dir]# cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-arm-none.cmake .. [root@localhost build_dir]# make
3、编译过程如下:
[root@localhost build_dir]# make [ 1%] Building C object CMakeFiles/csmodules.dir/module-anticasc.obj [ 2%] Building C object CMakeFiles/csmodules.dir/module-camd33.obj [ 3%] Building C object CMakeFiles/csmodules.dir/module-camd35.obj [ 4%] Building C object CMakeFiles/csmodules.dir/module-cccam.obj [ 6%] Building C object CMakeFiles/csmodules.dir/module-cccshare.obj [ 7%] Building C object CMakeFiles/csmodules.dir/module-constcw.obj [ 8%] Building C object CMakeFiles/csmodules.dir/module-csp.obj [ 9%] Building C object CMakeFiles/csmodules.dir/module-dvbapi-azbox.obj [ 10%] Building C object CMakeFiles/csmodules.dir/module-dvbapi-coolapi.obj [ 12%] Building C object CMakeFiles/csmodules.dir/module-dvbapi-stapi.obj [ 13%] Building C object CMakeFiles/csmodules.dir/module-dvbapi.obj [ 14%] Building C object CMakeFiles/csmodules.dir/module-gbox.obj [ 15%] Building C object CMakeFiles/csmodules.dir/module-lcd.obj [ 17%] Building C object CMakeFiles/csmodules.dir/module-monitor.obj [ 18%] Building C object CMakeFiles/csmodules.dir/module-newcamd.obj [ 19%] Building C object CMakeFiles/csmodules.dir/module-pandora.obj [ 20%] Building C object CMakeFiles/csmodules.dir/module-radegast.obj [ 21%] Building C object CMakeFiles/csmodules.dir/module-serial.obj [ 23%] Building C object CMakeFiles/csmodules.dir/module-stat.obj [ 24%] Building C object CMakeFiles/csmodules.dir/module-webif-lib.obj [ 25%] Building C object CMakeFiles/csmodules.dir/module-webif-pages.obj [ 26%] Building C object CMakeFiles/csmodules.dir/module-webif.obj Linking C static library libcsmodules.a [ 26%] Built target csmodules [ 26%] Built target svnversion-log [ 28%] Building C object CMakeFiles/csoscam.dir/oscam-chk.obj [ 29%] Building C object CMakeFiles/csoscam.dir/oscam-config.obj [ 30%] Building C object CMakeFiles/csoscam.dir/oscam-garbage.obj [ 31%] Building C object CMakeFiles/csoscam.dir/oscam-llist.obj [ 32%] Building C object CMakeFiles/csoscam.dir/oscam-log.obj [ 34%] Building C object CMakeFiles/csoscam.dir/oscam-reader.obj [ 35%] Building C object CMakeFiles/csoscam.dir/oscam-simples.obj Linking C static library libcsoscam.a [ 35%] Built target csoscam [ 36%] Building C object CMakeFiles/csreaders.dir/reader-bulcrypt.obj [ 37%] Building C object CMakeFiles/csreaders.dir/reader-common.obj [ 39%] Building C object CMakeFiles/csreaders.dir/reader-conax.obj [ 40%] Building C object CMakeFiles/csreaders.dir/reader-cryptoworks.obj [ 41%] Building C object CMakeFiles/csreaders.dir/reader-dre.obj [ 42%] Building C object CMakeFiles/csreaders.dir/reader-irdeto.obj [ 43%] Building C object CMakeFiles/csreaders.dir/reader-nagra.obj [ 45%] Building C object CMakeFiles/csreaders.dir/reader-seca.obj [ 46%] Building C object CMakeFiles/csreaders.dir/reader-tongfang.obj [ 47%] Building C object CMakeFiles/csreaders.dir/reader-viaccess.obj [ 48%] Building C object CMakeFiles/csreaders.dir/reader-videoguard-common.obj [ 50%] Building C object CMakeFiles/csreaders.dir/reader-videoguard1.obj [ 51%] Building C object CMakeFiles/csreaders.dir/reader-videoguard12.obj [ 52%] Building C object CMakeFiles/csreaders.dir/reader-videoguard2.obj Linking C static library libcsreaders.a [ 52%] Built target csreaders [ 53%] Building C object csctapi/CMakeFiles/csctapi.dir/atr.obj [ 54%] Building C object csctapi/CMakeFiles/csctapi.dir/icc_async.obj [ 56%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_azbox.obj [ 57%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_cool.obj [ 58%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_mp35.obj [ 59%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_pcsc.obj [ 60%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_phoenix.obj [ 62%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_sc8in1.obj [ 63%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_sci.obj [ 64%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_smargo.obj [ 65%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_smartreader.obj [ 67%] Building C object csctapi/CMakeFiles/csctapi.dir/ifd_stapi.obj [ 68%] Building C object csctapi/CMakeFiles/csctapi.dir/io_serial.obj [ 69%] Building C object csctapi/CMakeFiles/csctapi.dir/protocol_t0.obj [ 70%] Building C object csctapi/CMakeFiles/csctapi.dir/protocol_t1.obj [ 71%] Building C object csctapi/CMakeFiles/csctapi.dir/t1_block.obj Linking C static library libcsctapi.a [ 71%] Built target csctapi [ 73%] Building C object cscrypt/CMakeFiles/cscrypt.dir/aes.obj [ 74%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_add.obj [ 75%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_asm.obj [ 76%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_ctx.obj [ 78%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_div.obj [ 79%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_exp.obj [ 80%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_lib.obj [ 81%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_mul.obj [ 82%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_print.obj [ 84%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_shift.obj [ 85%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_sqr.obj [ 86%] Building C object cscrypt/CMakeFiles/cscrypt.dir/bn_word.obj [ 87%] Building C object cscrypt/CMakeFiles/cscrypt.dir/crc32.obj [ 89%] Building C object cscrypt/CMakeFiles/cscrypt.dir/des.obj [ 90%] Building C object cscrypt/CMakeFiles/cscrypt.dir/i_cbc.obj [ 91%] Building C object cscrypt/CMakeFiles/cscrypt.dir/i_ecb.obj [ 92%] Building C object cscrypt/CMakeFiles/cscrypt.dir/i_skey.obj [ 93%] Building C object cscrypt/CMakeFiles/cscrypt.dir/md5.obj [ 95%] Building C object cscrypt/CMakeFiles/cscrypt.dir/mem.obj [ 96%] Building C object cscrypt/CMakeFiles/cscrypt.dir/rc6.obj [ 97%] Building C object cscrypt/CMakeFiles/cscrypt.dir/sha1.obj Linking C static library libcscrypt.a [ 97%] Built target cscrypt [ 98%] Building C object algo/CMakeFiles/algo.dir/minilzo.obj Linking C static library libalgo.a [ 98%] Built target algo [ 98%] Built target svnversion [100%] Building C object CMakeFiles/oscam.dir/oscam.obj Linking C executable oscam [100%] Built target oscam [root@localhost build_dir]#
以上过程下成脚本:
[root@localhost build_dir]# vi install.sh [root@localhost build_dir]# chmod +x install.sh [root@localhost build_dir]# cat install.sh #!/bin/bash export PATH=/home/root/arm-none-linux-gnu/bin:$PATH cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-arm-none.cmake .. && make [root@localhost build_dir]#