找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 34262|回复: 91

折腾OSCAM之二---打包成ipk安装包

  [复制链接]
发表于 2016-3-15 14:47 | 显示全部楼层 |阅读模式
本帖最后由 兔巴哥 于 2019-11-7 17:23 编辑

先放出安装包,这是我前一个帖子OSCAM交叉编译详细步骤,参考论坛上各位高手的经验(一并致谢!),以及网上的介绍,终于搞定oscam的ipk打包,过段时间放出教程。下一步再打算学习怎么移植到安卓设备上。适当收点辛苦费哈!



折腾OSCAM之二---打包成ipk安装包



一、配置编译环境
1.安装Ubuntu系统。这个网上一大把,物理机和虚拟机皆可,我自己是安装的64位虚拟机。
2.下载openwrt源代码到用户主目录下,比如openwrt。
配置好的编译环境如图:


请注意其中红框中的目录,接下来的操作会用到其中的一个。


二、准备编译oscam
上图中的2个目录,
package是openwrt系统自带的软件包目录,feeds则是俗称的第三方软件包目录。我们的编译操作使用其中的任何一个目录都是可以的,但是从规范出发,我是选择的feeds目录。
1.还是从规范出发,在feeds...目录下的utils目录中新建一个oscam目录,把编译时要使用的Makefile文件复制到这个目录中,如图:

这个Makefile内容如下。关于Makefile比较详细的写法可以参考创建软件包
  1. include $(TOPDIR)/rules.mk

  2. PKG_BRANCH:=trunk
  3. PKG_SOURCE_URL:=http://www.streamboard.tv/svn/oscam/trunk
  4. PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p') #编译时获取最新源代码
  5. #PKG_REV:=10940 #编译指定版本

  6. PKG_NAME:=oscam
  7. PKG_VERSION:=1.20-svn-r$(PKG_REV)
  8. PKG_RELEASE:=MT7620

  9. PKG_SOURCE_PROTO:=svn
  10. PKG_SOURCE_VERSION:=$(PKG_REV)
  11. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  12. PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2

  13. PKG_MAINTAINER:=OSCam developers <unknown>
  14. PKG_LICENSE:=GPL-3.0
  15. PKG_LICENSE_FILES:=COPYING

  16. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

  17. PKG_BUILD_PARALLEL:=1
  18. PKG_USE_MIPS16:=0

  19. PKG_BUILD_DEPENDS:=+libopenssl +libusb-1.0 +pcsc-lite

  20. include $(INCLUDE_DIR)/package.mk

  21. define Package/oscam
  22.   SECTION:=utils #编译前在openwrt的图形配置界面中的位置
  23.   CATEGORY:=Utilities #同上
  24.   DEPENDS:=+libopenssl +libusb-1.0 +kmod-usb-serial-ftdi +libpcsclite #这里的依赖关系在编译时会自动选中,在安装时会检查依赖
  25.   TITLE:=OSCam is an Open Source Conditional Access Module software #图形配置界面中的名称
  26.   URL:=http://www.streamboard.tv/oscam/
  27.   MAINTAINER:=OSCam developers <WF>
  28. endef

  29. define Package/oscam/description #这个软件包的说明
  30.   OSCam is an Open Source Conditional Access Module software
  31. endef

  32. CONFIGURE_ARGS += --with-ssl=openssl

  33. MAKE_FLAGS += \ #编译oscam以及相关的依赖包
  34. CROSS=$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS) \
  35. CROSS_DIR=$(TOOLCHAIN_DIR)/bin/ \
  36. $(TARGET_CONFIGURE_OPTS) \
  37. CFLAGS="$(TARGET_CFLAGS) $(FPIC) $(TARGET_CPPFLAGS)" \
  38. LDFLAGS="$(TARGET_LDFLAGS)" \
  39. OSCAM_BIN=Distribution/oscam \
  40. SVN_REV=$(PKG_REV) \
  41. CONF_DIR=/etc/oscam \
  42. USE_LIBCRYPTO=1 \
  43. USE_LIBUSB=1 \
  44. USE_PCSC=1 \ #如果不需要这种读卡器就注释掉,以此类推
  45. USE_SSL=1

  46. define Package/oscam/conffiles #卸载和重新安装时需要保留的文件
  47. /etc/oscam/oscam.conf
  48. /etc/oscam/oscam.user
  49. /etc/oscam/oscam.server
  50. /etc/oscam/oscam.srvid
  51. endef

  52. define Package/oscam/install
  53. $(INSTALL_DIR) $(1)/etc/init.d #复制开机启动脚本文件oscam。$(1)表示路由器的根目录
  54. $(INSTALL_BIN) ./files/oscam.init $(1)/etc/init.d/oscam

  55. #$(INSTALL_DIR) $(1)/etc/rc.d #确保开机启动脚本起作用
  56. #$(INSTALL_BIN) ./files/S99oscam $(1)/etc/rc.d/

  57. $(INSTALL_DIR) $(1)/usr/bin #复制编译好的主程序
  58. $(INSTALL_BIN) $(PKG_BUILD_DIR)/Distribution/oscam $(1)/usr/bin/oscam

  59. $(INSTALL_DIR) $(1)/etc/oscam #新建oscam目录并复制配置文件
  60. $(INSTALL_BIN) ./files/oscam/* $(1)/etc/oscam/

  61. endef

  62. define Package/$(PKG_NAME)/prerm #这以下是安装前、后的处理过程,不配置则无法卸载
  63. #!/bin/sh
  64. # if run within buildroot exit
  65. [ -n "${IPKG_INSTROOT}" ] && exit 0

  66. # stop running scripts
  67. /etc/init.d/oscam disable
  68. /etc/init.d/oscam stop

  69. exit 0
  70. endef

  71. $(eval $(call BuildPackage,oscam))
复制代码

2.在
oscam目录下新建一个files目录,把oscam.init和S99oscam复制到这里;再在files目录下新建一个oscam目录,并把配置文件复制到这里,如图:


其中oscam.init和S99oscam的内容是相同的,如下:
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2011 OpenWrt.org
  3. # This is free software, licensed under the GNU General Public License v2.
  4. # See /LICENSE for more information.
  5. #


  6. START=99


  7. start() {
  8. /usr/bin/oscam -b -u #-u支持中文
  9. echo "runing!"
  10. }

  11. stop() {
  12. killall oscam
  13. killall -9 oscam
  14. echo "stop!"
  15. }
复制代码

三、编译OSCAM
以上的准备工作做完后,现在就可以正式开始编译oscam并打包成ipk包了。

打开Ubuntu的终端窗口进入openwrt目录,输入make menuconfig打开openwrt的图形配置界面,先在这里选择你要编译哪种芯片的oscam,如图:
按你自己路由器的cpu进行选择吧。
拉到下面的进入,找到oscam按空格键选中为M,其他都不用动,保持默认就好。然后保存、退出图形配置界面


生成oscam的ipk包有2种方法:

1.
单独编译oscam包
输入make package/oscam/compile V=s这种方法最快,因为只编译并生成oscam以及相关的依赖包,大约10分钟左右就可以完成。

2.编译oscam和系统默认选中的所有包
输入make V=s
如果你的编译环境是全新的,则这个过程相当漫长,可能需要几个小时 。因为编译过程中会实时从网上下载所有dl文件,稍微偷懒一点的方法是预先把dl文件下载到openwrt目录下的dl目录中......

以上
2种方法能否成功的前提是你的一、二部分没有错误。

四 、最终结果和一点经验

1.编译过程中系统会从网上下载特定版本的oscam源代码并以压缩文档的格式保存在
openwrt目录下的dl目录中

并同时解压到编译目录下,下次编译时如果存在所需版本的dl文件,则不再下载而是直接解压编译

编译完成后,在下图所示的目录中会生成相应的ipk 包:


2.把ipk通过WinSCP复制到路由器的tmp目录下进行安装并启动oscam

如果不出意外,oscam应该就已经启动了。

3.然后浏览器中输入ip:8888

如果你是用的360浏览器,请使用极速模式,不要使用兼容模式,否则很悲哀的。ie不存在这个问题


4.注意,最后生成的oscam安装包默认是不支持camd33和ip6的,如果需要支持,则要预先在dl目录下的oscam压缩文件中打开config.h进行修改,如图:

去掉其中的双斜杠再打包回去进行编译。如此大功告成!


五、在路由器上安装oscam时的注意事项
2种安装方法:1、安装前先配置好路由器的软件源,然后再安装opkg install /tmp/oscam.ipk
2、或者是采用强制安装方法:opkg install /tmp/oscam.ipk --force-depends

2种安装方法都需要确保系统中有kmod-usb-serial和kmod-usb-ohci以及相应的读卡器驱动(如kmod-usb-serial-pl2303),oscam要正常工作,还需要系统里有libpthread这个软件包,一般都集成得有。
可以先采用第一种方法,如果软件源正确(链接地址和版本都没有问题),那么在安装oscam时会自动从网上下载相关的软件包(包括必须的和不是必须的-比如PCSC驱动)并安装。如果安装时提示缺少的不是关键软件-比如你不使用PCSC读卡器,则可以采用第二种方法。


附:软件源信息(PandoraBox-潘多拉)

dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
arch all 100
arch noarch 200
arch ralink 300
arch ramips 400
arch ramips_24kec 500

--------------------------------------------------------------------------

src/gz r3_base http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/base
src/gz r3_management http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/management
src/gz r3_oldpackages http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/oldpackages
src/gz r3_packages http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/packages
src/gz r3_routing http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/routing
src/gz r3_telephony http://downloads.openwrt.org.cn/PandoraBox/ralink/packages/telephony

写在后面:
这个帖子中的
Makefile是我参考了论坛中各位高手的经验以及网上的零碎资料,然后东拼西凑出来的,其中肯定还有很多的不足之处,希望各位能够给与补充并完善之。
比如现在就存在图中的问题:就是在这里无法选择<*>把oscam集成进固件中,不知道是哪里的问题!而openwrt-dreambox系统在编译时就可以随意选择,希望有知道的不吝指教,本人在此先行谢过!!!
本文使用到的文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2016-3-15 16:24 来自手机 | 显示全部楼层
这不是要就有了吗?

点评

是啊,如果没有你们的指点,不知道还要摸索到什候!感谢你们啦!  详情 回复 发表于 2016-3-15 19:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-15 19:33 | 显示全部楼层
账号连接后超时关闭 账号是好的

点评

我自己试下来几个小时都没有问题的。我是y1s转给dm800和泰信的……  详情 回复 发表于 2016-3-15 19:37
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-3-15 19:34 来自手机 | 显示全部楼层
haxc 发表于 2016-3-15 16:24
这不是要就有了吗?

是啊,如果没有你们的指点,不知道还要摸索到什候!感谢你们啦!

点评

2016/07/07 10:00:04 0 s >> OSCam  详情 回复 发表于 2016-7-7 10:01
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-3-15 19:37 来自手机 | 显示全部楼层
505575853 发表于 2016-3-15 19:33
账号连接后超时关闭 账号是好的

我自己试下来几个小时都没有问题的。我是y1s转给dm800和泰信的……

评分

参与人数 1恩山币 +1 收起 理由
505575853 + 1 额日志不滚动以为没连上感谢楼主

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-15 19:46 | 显示全部楼层
兔巴哥  
ar71xx 搞个谢谢

点评

等两天放出教程,自己就可以diy啦。  详情 回复 发表于 2016-3-15 21:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-15 20:00 | 显示全部楼层
这包好多错误啊读到cam信息不显示 日志内容不会滚动 账号开关按钮无效 但是感谢楼主的oscam

点评

那是你的浏览器有问题吧。  详情 回复 发表于 2016-3-15 20:58
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-15 20:09 | 显示全部楼层
支持楼主辛苦的成果!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-3-15 20:58 来自手机 | 显示全部楼层
505575853 发表于 2016-3-15 20:00
这包好多错误啊读到cam信息不显示 日志内容不会滚动 账号开关按钮无效 但是感谢楼主的oscam

那是你的浏览器有问题吧。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-3-15 21:04 来自手机 | 显示全部楼层
tianmy1991 发表于 2016-3-15 19:46
兔巴哥  
ar71xx 搞个谢谢

等两天放出教程,自己就可以diy啦。

点评

谢谢大师  详情 回复 发表于 2016-3-16 07:39
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-16 07:39 | 显示全部楼层
兔巴哥 发表于 2016-3-15 21:04
等两天放出教程,自己就可以diy啦。

谢谢大师
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-16 08:13 | 显示全部楼层
请教,oscam一般直接在DM机器上运行,现在弄到路由器上,有什么区别?

点评

读卡、转发与读卡、收看、转发的区别  详情 回复 发表于 2016-3-16 10:42
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-3-16 10:42 | 显示全部楼层
LL2016 发表于 2016-3-16 08:13
请教,oscam一般直接在DM机器上运行,现在弄到路由器上,有什么区别?

读卡、转发与读卡、收看、转发的区别
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-16 17:11 | 显示全部楼层
么么,兔巴哥!!!
等你的BCM系列,最好是上教程,并附带附件。。。省的QQ上问你要了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-3-16 19:13 | 显示全部楼层
能上传个DM用的OSCAM吗

点评

广明星论坛就有啊,各种oscam。  详情 回复 发表于 2016-3-17 00:11
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 06:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表