anbutu 发表于 2014-3-26 11:40:56

如何参与黑群晖的开发?

我自己是个开发人员,对linux内核的一些子系统有一定的了解,
目前刚刚接触黑群晖,对于黑群晖的实现方法有以下的疑问,
希望大大们有时间可以解答一下,谢谢!

---

如果要把DSM的系统安装到普通的PC机上,需要克服哪些方面的困难?
论坛上的大大有了解的能否详细的说明一下?

虽然普通用户不需要知道这些内容,但是如果能分享出来的话有能力的同学就可以参与到
黑群晖的开发中了,这样对于黑群晖的发展也是有益的。


MrSmith 发表于 2014-3-26 11:54:05

这个可以有,持续关注中.......

billy987ss 发表于 2014-3-26 11:57:24

要装黑裙,只需要intel家的CPU,网卡能被引导识别,笼统的说intel家和螃蟹家的网卡100%成功,其他的自己尝试~
网卡不支持的可以自己插一块独立的82547L网卡或者走虚拟机曲线路径~

dsqa 发表于 2014-3-26 12:34:28

楼主想搞的话,详细资料在这里http://xpenology.com/forum/,这里有详细的破解和编译方法,对了,楼主搞定后放出教程吧,让大家一起搞,虽然会搞的没几个……

剑剑 发表于 2014-3-26 13:27:00

持续关注中.......

anbutu 发表于 2014-3-26 14:46:19

dsqa 发表于 2014-3-26 12:34
楼主想搞的话,详细资料在这里http://xpenology.com/forum/,这里有详细的破解和编译方法,对了,楼主搞定 ...

多谢回复!

http://xpenology.com/wiki/en/building_xpenology
这篇文章描述了如何编译黑群晖需要的内核,看来最关键的就是synobios.ko这个文件的破解。

另外,关于制作用来引导系统的usb镜像,不知道您是否知道哪里有相关的资料?

dsqa 发表于 2014-3-26 15:25:31

本帖最后由 dsqa 于 2014-3-26 15:27 编辑

anbutu 发表于 2014-3-26 14:46
多谢回复!

http://xpenology.com/wiki/en/building_xpenology

xpe上的资料是针对4.1的老版本的,需要破解,但是现在GNOBOOT的不需要破解了,可以到gnoboot.me去看看他发的博文,其中有一篇是关于gnoboot内核编译的(好像不完整,只是点了下吧),当然了也是针对4.x的,我也没细看。。他这个直接用官方pat的,不需要破解synobiso.ko,估计是绕过验证,新的思路,应该说他这个更进一步吧。我觉得有技术,可以从模拟群辉bios上尝试下。。。
制作img镜像?方法网上挺多吧。。。。grub的。。。不一定非得镜像吧。。。

anbutu 发表于 2014-5-24 17:55:08

大家好,我回来了。
经过一段时间的研究,对黑群晖系统的制作有了一些新的认识,写出来和大家分享一下,权当抛砖引玉,吸引更多的人参与到黑群晖的开发中来。

首先,先回答一下我在一楼问的问题:
如果要把DSM的系统安装到普通的PC机上,需要克服哪些方面的困难?
论坛上的大大有了解的能否详细的说明一下?

其实,最关键的一点就是synobios.ko的破解,因为群晖有不同硬件的版本(arm,x86等),为了统一用户空间应用程序的接口,于是使用了一个synobios.ko的内核模块,这个模块的作用就是将不同的硬件抽象为一个统一的接口供应用程序调用。
而且synobios.ko中还包含了一个用来判断机型的接口,所谓的破解,主要就是改一下这个接口的代码,使他在黑群晖的硬件上也能返回一个合法的机型代码(例如DS3612xs的代码是42)。
除了synobios的破解,另外就是引导盘的制作了。引导盘主要包含两个部分,一个是linux内核,另一个就是rd.gz文件,这个是linux的initramfs,是一个简单的根文件系统,用来将系统引导起来。

关于内核的编译,xpenology上有一篇详细的教程
http://xpenology.com/wiki/en/building_xpenology
可以说是一篇最详细和权威的资料(不只是编译内核的内容,还包括了synobios的破解和rd.gz的制作)

关于黑群晖的历史,可以以gnoboot的出现为分水岭将其分为两个阶段:
第一个阶段:需要使用修改的PAT文件
第二个阶段:支持使用官方的PAT文件

gnooboot编写了一组脚本,巧妙的实现了在rd.gz引导系统后自动替换需要破解的文件,可以说是一个巨大的进步,不仅如此,gnoboot还包含了大量的驱动,并且可以很方便的加载和卸载驱动。
另外一个就是sancome的Nanoboot,其实是在gnoboot的基础上做的,使用了5.0最新的开放资源来构建引导镜像,而且内核也是5.0-4458中包含的最新内核。

关于synology开放的代码,其实内核部分synology还是玩了很多把戏,直接编译后在引导系统的时候会出现很多错误,例如加载synobios时候出现找不到符号的错误、synoacl实现并没有完全开放等等。
因此,需要对synology开放的内核代码做一些修改,目前网上能够找到的对内核的修改只有旧内核的(3.2.11等),对于5.0-4458中包含的内核的修改方法gnoboot和nanoboot都没有开放出来。
我经过几天的尝试,成功编译了5.0-4458中包含的内核(3.2.40),和目前nanoboot使用的版本是一样的,大家可以通过以下的链接来查看:
https://github.com/liwei/xpenology-3.x
通过查看commit历史,可以学习怎样修改代码,对synology的代码主要做了以下修改:
- 加入xpenology的补丁
- 启用被synology禁用的virtual consoel(drivers/tty/vt/vt.c)
- 导出synobios.ko需要的一些函数
- 加入使用参数控制引导u盘vid和pid的功能
- 其他等等

感谢xpenology论坛的大侠无私奉献,才有了今天的黑群晖。
写的比较乱,大家有什么问题可以跟帖提出,我知道的话会和大家一起讨论,希望黑群晖的明天越来越好。

singled 发表于 2014-5-24 18:43:24

本帖最后由 singled 于 2014-5-24 19:07 编辑

写的好专业啊,S大的网站nanoboot.tk好像有提供源码,楼主可以看看。

anbutu 发表于 2014-5-24 19:53:38

singled 发表于 2014-5-24 18:43
写的好专业啊,S大的网站nanoboot.tk好像有提供源码,楼主可以看看。

不,他放出的只是旧版本内核的补丁,对于现在nanoboot使用的内核(3.2.40)并没有开放出来。

youyisi 发表于 2014-5-24 20:43:33

高手。。。。。。

squallmp5 发表于 2014-5-24 21:03:26

虽然我不懂,但这种技术贴看着就有感觉!希望有更多的强人能在这贴里讨论,让非专人也有一颗专业的心 ~~~~

sancome 发表于 2014-5-24 21:14:36

anbutu 发表于 2014-5-24 19:53
不,他放出的只是旧版本内核的补丁,对于现在nanoboot使用的内核(3.2.40)并没有开放出来。 ...

      synogpl-3776, synogpl-4418, synogpl-4458 都是Linux 3.2.40的内核,我放的内核补丁是在synogpl-4418基础上制作的,不算旧版本内核吧?况且,gnoboot现在还在用synogpl-3776的内核来引导DSM-4458。
      我在github放的源码已经很完整了,除了破解的synobios.ko没有放出以外(真需要的话完全可以到我发布的img里提取出来),其他所有编译需要的东西我都准备好了,包括ramdisk的补丁(基于gnoboot代码)、config文件、编译脚本等,简单到执行几个脚本就能生成img,这还不够?
    说到最新的代码,如果有人真的把我开放的源码研究一遍,我相信做个synogpl-4458的内核也不是什么大问题,甚至补丁都是可以直接打的,在我看来,只是没人愿意研究罢了!

yoseou 发表于 2014-5-24 21:21:01

应该多出现这类贴子,先收藏,谢谢

wuterwu_519 发表于 2014-5-25 01:54:37

这个太专业了,小白表示看不懂。

anbutu 发表于 2014-5-25 06:51:25

sancome 发表于 2014-5-24 21:14
synogpl-3776, synogpl-4418, synogpl-4458 都是Linux 3.2.40的内核,我放的内核补丁是在synogpl-4 ...

S大不要激动,我上面那个回复的意思只是说现在的nanoboot使用的内核补丁并没有开放出来,没有别的意思。
我非常感谢你对黑群晖做出的贡献,而且我现在用的也是你制作的nanoboot,只是因为缺少atheros ar8171的驱动所以才自己编译了3.2.40的内核和ar8171的驱动。
另外,如果可以的话,我希望你能把现在nanoboot使用的最新的内核补丁开放出来,有能力的同学可以一起来把它做的更加完善,虽然这可能会导致更多的xxboot的诞生,但是你对黑群晖的贡献大家都是有目共睹的,而且这对黑群晖的发展也是有益的。

S大,期待与你的交流,如果我上面的回复有什么不对的地方,我向你表示道歉。

sangood 发表于 2014-5-25 11:48:26

anbutu 发表于 2014-5-25 06:51
S大不要激动,我上面那个回复的意思只是说现在的nanoboot使用的内核补丁并没有开放出来,没有别的意思。
...

支持一下为黑裙贡献青春的大大,如果可以的话能研究下主板自带声卡的驱动吗?没有linux下开发经验,看开源的声卡驱动好复杂,头大了。

sancome 发表于 2014-5-25 16:28:18

anbutu 发表于 2014-5-25 06:51
S大不要激动,我上面那个回复的意思只是说现在的nanoboot使用的内核补丁并没有开放出来,没有别的意思。
...

我也在考虑把最新的源码放出来,但是我不希望出现各种boot,因为那样力量太分散了,如果能把想研究的人集中到一起来协作开发会更好,有没有什么好的建议?

剑剑 发表于 2014-5-25 16:56:09

这个要关注并支持。

anbutu 发表于 2014-5-25 18:09:43

sancome 发表于 2014-5-25 16:28
我也在考虑把最新的源码放出来,但是我不希望出现各种boot,因为那样力量太分散了,如果能把想研究的人集 ...

S大,感谢回复!

我觉得可以先集中论坛上一些有开发经验的大家讨论一下,共同来开发nanoboot。
开发方式可以采用邮件列表+私有git库的形式来进行。
页: [1] 2
查看完整版本: 如何参与黑群晖的开发?