yumin9822 发表于 2014-5-13 10:38:48

DSM系统交叉编译环境的建立

本帖最后由 yumin9822 于 2014-5-13 10:41 编辑

   其实网上关于DSM系统交叉编译的英文文章还是有的,昨天自己折腾了想编译webcam,但是还是不能用。不知道是自己编译的问题还是自己的逻辑webcam C120不支持。Anyway, 今天把自己搜索到的信息整理以下,分享给大家。

正式编译前你需要准备的东西?

1. 一个Linux系统,可以是虚拟机或实体机。推荐Debian / Ubuntu系统。空余磁盘5G左右。
2. 群晖官方发布的toolchains和source code。

   下面我以DSM 5.0 4458系统,DS213j 为例简单讲述一下开发环境建立。

1. 下载相应的toolchains和source code
   两个文件群晖官方都发布在这里:http://sourceforge.net/projects/dsgpl/
   进入Files,按照下图选择toolchain下载。80M左右,DS213J的CPU为armada370,所以相应下载的toolchian文件名为gcc464_glibc215_hard_armada-GPL.tgz




   
   接下来下载Source code。目前官方只发布到DSM5.0 4458系统,4482还没发布,所以这里我们只能下载4458系统。DS213J对应的文件名为synogpl-4458-armada370.tbz, 1.2G大小






2. 在Linux主机上建立交叉编译环境。我们以Debian为例。

sudo apt-get install libncurses5-dev
#这个后面使用make menuconfig需要用到,所以需要先安装

mkdir ~/dsm5
cd ~/dsm5
#建立临时目录

wget http://softlayer-dal.dl.sourcefo ... -4458-armada370.tbz
wget http://iweb.dl.sourceforge.net/p ... hard_armada-GPL.tgz
#下载Toolchian和sourcecode到临时目录,我这里是直接在Linux主机里面下载两个文件,如果你选择不是这个,可以进入步骤1里面下载到本地,然后想办法传到Linux系统的临时目录

tar zvxf gcc* -C /usr/local/
tar jvxf syn* -C /usr/local/arm-marvell-linux-gnueabi/
#解压Toolchian文件到/usr/local/,Source code文件到/usr/local/arm-marvell-linux-gnueabi/ 完整的目录结构如下



对于DS 213J,DSM 5.0 4458,对应的Linux内核为Linux 3.2.40,CPU为armada370 (SSH登陆DS213j "uname -a"可以看到)
cd /usr/local/arm-marvell-linux-gnueabi/source/linux-3.*
cp synoconfigs/armada370 .config
# 复制一个armada370的config文件

make menuconfig
#设置自己需要添加的驱动或者功能等等。怎么设置,这里不赘述!记得保存退出。
make
#开始编译内核,需要时间较长。

3. 开始编译自己的软件
上面已经编译环境全部建立好了,后面就是编译目标软件了。这里官方有详细的文档可以参考,详细见附件或参考文献5。
同时下面网址还有编译样例见参考文献2。本人这方面还是菜鸟,还在学习,谢谢大家。
**** Hidden Message *****

参考文献
1. http://hallard.me/how-to-install ... on-synology-ds1010/
2. http://pcloadletter.co.uk/tag/cross-compile/
3. http://forum.synology.com/enu/viewtopic.php?f=27&t=52065
4. http://forum.synology.com/wiki/i ... a_PowerPC_CPU_model
5. http://www.synology.com/zh-cn/support/develop_tool



小巫 发表于 2014-5-13 11:20:32

非常专业 感谢分享!

kfqzhw 发表于 2014-5-13 11:21:35

支持楼主继续深入探索,早出成果!

imjacob 发表于 2014-5-13 11:23:04

佩服,楼主是程序员????

yumin9822 发表于 2014-5-13 11:25:30

imjacob 发表于 2014-5-13 11:23
佩服,楼主是程序员????
不是,Linux爱好者。想折腾家里的闲置逻辑web Camera C120装在自己的DS213j上,就翻找了一下资料。稍微整理下分享给大家。节省大家时间!

imjacob 发表于 2014-5-13 11:53:58

yumin9822 发表于 2014-5-13 11:25
不是,Linux爱好者。想折腾家里的闲置逻辑web Camera C120装在自己的DS213j上,就翻找了一下资料。稍微整 ...

太厉害了。专业linux程序员也就这样了。呵呵

dsqa 发表于 2014-5-13 12:13:18

这个不错,楼主翻翻xp论坛,把破解编译的也发下吧,还有GNOBOOT的那个破解,让大家都没事时搞搞{:7_196:}

zhaodick 发表于 2014-5-13 12:30:50

这个有点高深了,先学习一下

zjksjs 发表于 2014-5-13 13:01:36

高人处处都是,我都不知道你讲的是什么?

囧.X 发表于 2014-5-13 13:11:19

继续支持个

faninx 发表于 2014-5-13 14:03:29

Mark 以后学习

fornix 发表于 2014-5-13 14:11:06

狠还是狠!

gangjinai 发表于 2014-5-13 14:17:21

又一强贴 支持一下

killfey 发表于 2014-5-13 16:10:46

向楼主学习~~~向楼主学习~~~

cyhyf 发表于 2014-5-13 16:26:09

see see~~~~~~~~~~~

foxzone 发表于 2014-5-13 16:41:14

好强大的技术贴呀。

ben0629 发表于 2014-5-13 20:53:10

回复是最基本的美德

mycfan 发表于 2014-5-14 19:12:01

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

ad911 发表于 2014-5-15 00:38:13


感谢分享!

emyself 发表于 2014-5-18 15:08:07

DSM系统交叉编译环境的建立
页: [1] 2 3 4
查看完整版本: DSM系统交叉编译环境的建立