Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167677
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 399
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-04 15:36
文章分类

全部博文(24)

文章存档

2017年(2)

2015年(5)

2014年(9)

2013年(8)

我的朋友

分类: LINUX

2013-04-23 18:52:33

      如果你有一台DM500的机顶盒,而且你对它的软件比较感兴趣的话,可以尝试着自己动手来构建一下它的升级镜像,玩过的人都知道,DM500的主应用程序是enigma, DM800的主应用程序是enigma2,当然enigma2要比enigma1复杂很多。刚开始找个简单的玩玩,这样更容易有成就感,像我前面的《C语言实现插件机制》就是从DM500学习来的。

      我的主机系统是Ubuntu 10.04,其它系统编译过程会有什么问题我也就不知道了。

1. 下载代码
进入, 有一个Read me会告诉你怎么下载代码,方式有好几种,你选择一种就可以了,我用的是http方式:
# mkdir tuxbox
# cd tuxbox
# vim coc.sh

#!/bin/sh
REPLIST="apps boot cdk driver hostapps sandbox"
for f in  $REPLIST ; do
	git clone  $f
done
# chmod a+x coc.sh
# ./coc.sh
这行执行下去要等一会,具体时间长短要看你的网络情况了。不过也很快了,相比android,enigma2的构建来说,这不算什么。

2. 根据盒子类型,生成Makefile
#cd cdk
#./prepare_dream dm500  # 如果prepare_dream没有可执行权限的话,chmod a+x prepare_dream就可以了
这行完了后会有一个Makefile文件产生,如果生成过程中提示有什么错误,那应该就是主机的某些包没有安装,我在这里没有遇到什么问题。

3. 准备编译构建,免得后面不停地输入命令
#vim build-image

#!/bin/sh

#make flash-enigma-squashfs  # 这是构建基于enigma的GUI软件
make flash-neutrino-squashfs  # 这是构建基于neutrino的GUI软件,相比enigma,这个更漂亮一些。

# chmod a+x build-image
# ./build-image                     # 这一句相当于你执行一句make flash-neutrino-squashfs,如果你想执行make flash-enigma-squashfs,将脚本里面的行打开就是了
好了,现在需要一个漫长的等待,构建系统会自动去下载内核源码,所以的依赖包等等。

4. 串口升级
升级方法就不说了,将tuxbox/root/cdkflash下面的complete-neutrino.img拷出来烧到盒子上就可以了。
如果你对串口打印感兴趣的话,可以尝试修改内核的配置来打开打印输出,具体方法是:
# vim tuxbox/cdk/linux/.config
将CONFIG_CMDLINE的值修改成"console=ttyS0,115200n8 root=/dev/mtdblock5 rootfstype=squashfs ro"
# ./build-image
结束后再将complete-neutrino.img重烧一下,接上串口线就可以看打印了。


*** 这几天卫星天线坏了,我还没有用生成的镜像去搜台,不知道结果会怎么样,如果有问题,以后再慢慢修改代码吧。


阅读(2375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~