• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |

#楼主# 2020-2-8 06:16

跳转到指定楼层
【老骥伏枥-原创】蜗牛星际矿渣机制作兮克NAS系统启动盘及安装教程

前言

2019年3月份以后,有人在淘宝、闲鱼上开始大量抛售一种名为“蜗牛星际” 的矿渣机。抛售价急跌至200元左右。该机配置为英特尔赛扬J1900四核处理器;4G内存;四盘位SATA机箱。估计单机的实际生产成本应该在600到800元之间。可以说它是一款改机为低功耗NAS(Network Attached Storage:网络存储器)的高性能价格比的硬件。

自从我发表了【老骥伏枥-鼠年大礼包】蜗牛星际矿渣机专版威联通制作教程[2]之后。很多坛友对于安装盘加密颇有怨言(其实,该演示用安装盘实施的加密防扩散处理,仅仅是为了激发大家自己动手的能力,也是为了进行教学研究和技术交流,而不希望直接使用成品安装盘)。大家希望我公布安装盘的制作理念和方法。作为【鼠年大礼包】的进阶续篇,此次我将以兮克NAS系统为例。介绍安装盘的制作方法。该系统并没有加密,可以自由安装,其实并不需要安装盘。但作为NASYUN那是云论坛中的一个板块,我认为有必要对此系统进行分析,同时利用此次机会,把制作安装盘的制作方法也一同讲一讲。

需要强调的是,我不是一个黑客。资源来自于兮克NAS官网公布的系统包和发布的固件。参考文献中注明所有引用的出处。此安装盘的理念和启动引导的基础架构设计均绝对是老骥伏枥本人独创,并合法利用开源项目 (Tiny Core Linux Project) [1] 开发的。 也是老骥伏枥通过 NASYUN 论坛在全球独家首发。为的是进行教学, 研究和技术交流。 禁止用于任何商业目的。

第一讲
兮克NAS系统的初体验

对于NAS的玩家来说,要体验一个新的名不见经传的NAS系统,如果需要购买该系统专用硬件,就会感觉有些不方便。如果能先暂时在手头已有的硬件,例如:蜗牛星际矿渣机或者虚拟机上安装体验一下该系统,那是再好不过的。但兮克NAS的系统,是否加密?能否安装在蜗牛星际矿渣机或者虚拟机呢?我就是那个第一个吃番茄的人!就让我为广大坛友们尝试一下吧。

首先我根据NASYUN论坛的兮克板块介绍的信息,去兮克的官网下载了兮克SSS系统操作说明书 -V1.0_20190614042857.pdf和xksss-1.1.0_2019010312_20200103012006.iso文件。
文001.jpg

因为蜗牛星际矿渣机没有光盘驱动器,但我可以用rufus-3.8.exe工具,把ISO格式文件制作成USB启动盘来安装兮克NAS系统到矿渣机。但因为不了解兮克NAS系统的细节情况,我决定还是直接使用ISO文件在VirtualBox虚拟机上试着安装一下,看看具体情况再说。

具体的安装步骤如下:
1. 创建一个新的虚机(因为这些不是本教程的重点,顾略去了截屏,仅仅给出文章说明)
2. 创建一个启动盘,根据以前剖解其它系统的经验,一般来说启动盘应该为500M到1G左右的大。我首先创建了一个1G启动盘来试试。
3.选择xksss-1.1.0_2019010312_20200103012006.iso文件为启动文件。
4. 配置虚拟机的内存大小,我选择2G内存。
5. 因为要分析启动盘,暂时不为虚拟机配置兮克NAS系统的数据盘。
6. 将VirtualBox虚拟机配置为MBR Legacy启动方式。就可以试着启动虚拟机开始安装了。

很快就看到了如下的启动画面:
文002.jpg

从这个启动画面可以看出,兮克NAS系统将要使用Debian的Linux作为NAS的操作系统。这使我想起了我的另一篇文章。【老骥伏枥-原创】DIY在VMware上安装万由U-NAS系统的初体验 [3] 。万由U-NAS系统也是使用Debian的。真是巧合吗?看来在国内Debian还是比较流行啊。有兴趣的读者可以去读读我的那篇文章,其中讲过一些有关Debian版本的漏洞分析。这里就不赘述了。

我的第一次安装失败了,因为启动盘空间不足。于是我又重新创建了一个2G的启动盘,再次安装成功了。到此为止,我未见任何的加密。因此我推测兮克NAS系统并没有加密。实际情况也是这样的。因为这个兮克NAS系统非常初级,对基础的Debian系统也没有做精心的剪裁。导致启动盘相当臃肿,需要2G左右的空间。

兮克NAS系统虽然非常初级,但麻雀虽小,五脏俱全。对于我们学习研究嵌入式linux 逆向工程,确是一个很好的例子。对于NAS的玩家来说,目前流行的各种NAS系统基本上都是采用开源的Linux系统,再加上厂商开发的特定硬件,和提供的web服务界面来组成。各种应用功能部分,也以Linux系统提供的开源软件包为基础。因此我认为NAS系统基本上应考虑分为两类:“小而精”与“大而全”。各个厂商在开发自己的产品时,都有自己的定位。那么到底是“小而精”好呢?还是“大而全”好呢?这里面就有一个“性能价格比”的问题了。本人是个技术党,产品市场的分析研究不是本人的长项。但有一点我想强调的是,系统结构开放的NAS本人比较认可。因为我可以根据自己的需要,对系统进行裁剪或添加。这也是为什么我在体验兮克NAS系统时,会对它的系统结构方面进行分析的原因。

启动盘制作完成后,我为VirtualBox虚拟机添再加了一个数据盘。准备体验一下这个兮克NAS系统。系统启动后的截图如下:
文003.jpg

根据兮克SSS系统操作说明书提供的系统默认最高级管理员xkadmin 密码是固定的 123 。登录进入系统。我首先会使用ifconfig命令查看一下IP地址,哎?居然禁止我查看!难道有什么加密吗?于是我试试使用sudo –i这个命令看看能不能获得管理员权限。嘿,成功了!再次使用ifconfig命令,我就拿到了IP地址。接下来试试浏览器的安装界面,截图如下:
文004.jpg

直接确认安装,系统就建立起来了。还是比较简单的啊。

接下来我要分析一下兮克NAS系统的启动盘与数据盘的结构。请看如下截图:
文005.jpg

兮克NAS系统的启动盘的结构非常简单清晰,只有两个分区,一个主分区使用ext4文件系统以及一个SWAP分区。这就导致了兮克启动盘必须使用MBR Legacy启动方式。因为创建UEFI启动方式的启动盘,至少要有一个FAT32的分区才行。我曾试着安装UEFI启动盘,但是失败了。其实,Debian的Linux系统是可以建立UEFI启动盘的,只是兮克自己的安装脚本,配置的启动盘结构不能支持UEFI启动方式而已。后面我在讲解为蜗牛星际矿渣机制作兮克NAS系统启动盘时,我会调整启动盘结构,制作一个给矿渣机用的UEFI启动方式的启动盘。该安装盘的理念和启动引导的基础架构设计均是老骥伏枥本人独创,并合法利用开源项目 (Tiny Core Linux Project) [1] 开发的。【鼠年大礼包】的安装盘也是同样的架构。因此大家可以把它作为一个模板,用来制作各种各样系统的启动安装盘。

关于启动安装,其实不论是MBR Legacy还是UEFI启动方式都不是很复杂。有关的原理细节我记得已经写过有关文章。不知大家是否还记得几年前的:【老骥伏枥-原创】关于黑群晖5.x版硬盘自启动的探讨 [4] 和【老骥伏枥-鸡年大礼包】黑群晖6.02-8451版硬盘自启动,USB启动盘,系统救援[5] 这两篇文章。如果大家不记得了,可以点击链接再复习一下。对于学习掌握创建安装盘,启动盘是非常有益的。

上文分析了兮克NAS系统的启动盘结构,接着再粗粗地看看他的内容。它使用Debian GNU/Linux 8.9 “Jessie”版本,内核是3.16.0-7-amd64,而万由U-NAS系统是3.16.0-6-amd64的内核。看到这里我不禁开始怀疑这个兮克与万由是否是同一家公司?在内容方面,除了/var/www和/var/xk_sss这两个目录中的内容来自兮克自己的开发外,其它部分大都来自开源的Debian系统。我之所以说兮克并没有很好地剪裁系统,是因为我看到系统中还留有gcc编译器等开发用的软件。这也是启动盘相当大需要2G空间的原因。不过这也为小白们带来一些好处,可以直接学习编译,而无需再安装编译器了。

让我们再来看看数据盘的情况,请看如下截图:
文006.jpg

不知道为什么兮克NAS系统要在数据盘中为系统强占大约50G的RAID空间。虽然现在硬盘空间不值钱了,但利用率仅仅为1%未免也太过于浪费了吧。不过,我们仅仅是为了体验一下该系统。并不了解系统设计的全盘理念。在此妄加评论为时过早。

兮克NAS系统的初体验介绍完了,接下来要看看如何为蜗牛星际矿渣机创建一个兮克NAS系统的安装盘。这才是本文的重点。

由于NASYUN的篇幅限制,请看楼下,第二讲 【制作蜗牛星际矿渣机的兮克NAS系统安装盘】,精彩继续!

评分

参与人数 1贡献 +1 收起 理由
zeroqi2008 + 1 很给力!

查看全部评分

最自然的一种表达方式,即是不写赞赏语,红色赞赏按钮就在那,大家懂的。

1人打赏

那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

f541883216 发表于 2020-2-8 06:17 来自 加拿大

第二讲【制作蜗牛星际矿渣机的兮克NAS系统安装盘】


第二讲
制作蜗牛星际矿渣机的兮克NAS系统安装盘

大家希望我公布蜗牛星际矿渣机安装盘的制作理念和方法。作为【鼠年大礼包】的进阶续篇,此次我将以兮克NAS系统为例。介绍安装盘的制作方法。

首先我要解释一下安装盘与启动盘是两种不同的系统。各自独立,没有相关性。安装盘仅仅是为了生成另一个系统的启动盘。例如:威联通,兮克,铁威马系统等等。在做完嵌入式linux逆向工程后,我们总是需要为这个系统能够在其它特定硬件上运行起来而进一步研究分析制作一个启动盘。当然,这个启动盘是可以完全通过手动的方式,一步一步地做出来。对于我自己来说,完全没有必要做个安装盘。但从教学的角度来看,就需要提供一个供学习,分析用的安装盘来让学习的人能够迅速地创建出启动盘,来方便地研究分析该系统。但安装盘也会使某些被破解的系统,如群晖,威联通,铁威马等被一些不法的人用来从事非法商业牟利性活动。因此安装盘是一把双刃剑,有时为了防止这些行为,不得不对安装盘实施加密防扩散处理。

制作安装盘本身,也是一种技术。为了讲解如何制作,我这次使用兮克NAS系统为例。因为该系统并没有加密,可以自由安装,其实并不需要安装盘。在这里我仅仅是以此为例讲解如何设计制作安装盘的过程而已。

安装盘要为另一个系统创建启动盘,因此必须有一套能够创建启动盘的工具软件才行。这里面应该包括:硬盘的分区工具,格式化工具,创建gurb启动引导等等。

其实,构建安装盘的这些工具软件在任何操作系统中都是有的。不论是Windows系统,还是Linux系统。但是制作安装盘并不是目的,我们的目标是用这个安装盘去创建一个启动盘。因此我们希望一个能把这些工具集成一起的,尽可能小巧的系统来构建安装盘。这才是我们设计构建安装盘的指导思想。根据这个设计理念,我肯定不会选择像Windows系统这样庞大体积的系统来构建安装盘,我定会选择像TinyCore Linux这样的即小巧又容易组态剪裁的系统啦。

在详细介绍我的安装盘结构之前,我想先介绍一些Linux系统的剪裁组态知识。编译过Linux内核的人都知道在编译时可以根据自己的需要对Linux系统进行剪裁组态。记得很多年以前,曾经看过一篇最小的 Linux kernel到底能有多小的文章,大概的意思是拿掉所有可以拿掉的选项。
不要 floppy;不要 SMP,MTRR;不要 networking,SCSI;把所有的 block device 移除,只留下 old IDE device;把所有的 character device 移除;把所有的 filesystem 移除,只留下 minix;不要 sound 支援等等。最终把系统缩小为188K左右。但这不是一个能用的实际系统,仅仅是一个极端的特例而已。我们要做的不是最小化,而是要尽量小巧而又能达到我们的目的。

为了方便大家研究如何剪裁组态系统,这里我为大家找到了一张结构图,供大家参考。
文007.jpg

对于我们来说TinyCore系统是一个非常好的选择。它的内核部分已经做得非常小,并且包含了我们所需要的最基本的功能。而且,TinyCore系统可以方便的进行剪裁组态,不需要对整个系统重新编译。它的官网上为我们提供了各种供剪裁组态用的编译好的二进制代码,我们可以直接选用进行剪裁组态。这是我选择TinyCore系统来构建安装盘的主要原因。以便于小白们快速学习掌握Linux的剪裁组态方法。当然,如果你非常熟悉Linux系统,你可以使用任何自己熟悉的系统来构建安装盘。

接下来我要以我制作的兮克NAS系统安装盘为例介绍系统的结构。我的安装盘将以ISO的格式发布。安装后创建的启动盘中,也将包含一个自举式的再安装创建启动盘的分区。这个自举式的再安装分区对于我们调试被破解的系统(威联通,兮克,铁威马系统等等)非常有用,大家以后自己动手的时候,才会逐渐体会到它的优点哦。

前面我说过,兮克NAS原生系统创建的启动盘只能是MBR Legacy启动模式的。但我要做的是创建UEFI启动模式的安装盘。而且这个安装盘的结构将来可以方便地用于各种系统。在此仅仅是以兮克为例介绍而已。其实,我的【鼠年大礼包】通用安装盘的结构也是如此。所以我才说这是【鼠年大礼包】的进阶续篇。这篇文章并不是要将如何为兮克NAS原生系统做个安装盘。而是用它作为例子,不是直接用敏感的被破解的系统为例罢了。
游客,如果您要查看本帖隐藏内容请回复

为了教学实践的需要,我为大家制做了蜗牛星际矿渣机的兮克NAS系统成品安装盘。大家可能会问,你为什么不发【鼠年大礼包】成品安装盘,而发布兮克NAS系统成品安装盘呢?答案很明显啊,兮克NAS系统本身并没有加密,可以不需要一个安装盘也可以安装,只是安装起来比较麻烦,也不支持UEFI启动方式等等。此次以兮克NAS系统为例教学安装盘的设计,不仅不会引起不必要的争议,也可以供厂家改进产品参考。可以起到一箭双雕的效果,希望不被厂家吐槽。


由于NASYUN的篇幅限制,请看楼下,第三讲 【蜗牛星际矿渣机兮克NAS系统安装盘】,精彩继续!

回复 支持 反对 印象

使用道具 举报

f541883216 发表于 2020-2-8 06:18 来自 加拿大

第三讲【蜗牛星际矿渣机兮克NAS系统安装盘】

第三讲
蜗牛星际矿渣机兮克NAS系统安装盘

此次提供的蜗牛星际矿渣机兮克NAS系统安装盘是采用UEFI启动方式的。

通用安装盘可以从百度云盘下载:
游客,如果您要查看本帖隐藏内容请回复
压缩包中包含了两个文件:
sss_install.iso和rufus-3.8.exe

兮克NAS系统安装盘是UEFI自启动的ISO格式文件。可以刻成光盘直接使用。但因矿渣机没有光驱,为此压缩包中还提供了rufus-3.8.exe工具。用它可以把ISO格式文件制作成USB的UEFI自启动盘。

对于蜗牛星际矿渣机的所有款型,此兮克NAS系统安装盘都支持。

具体的安装步骤如下:
第一步:制作USB的UEFI自启动盘
因为大部分朋友习惯使用windows系统,但要安装的是Linux的NAS系统。为了方便起见,压缩包中提供了一个绿色工具,可以直接将sss_install.iso制成USB的UEFI自启动盘。
启动rufus-3.8.exe按下图所示操作:
文009.jpg

几个需要注意的要点是:一定要选择GPT模式,目标系统一定要选择UEFI,文件系统一定要选择FAT32。USB盘做好后,就可以开始安装了。

第二步:准备要安装的矿渣机的环境
给矿渣机接上USB键盘,USB鼠标,显示器接在VGA口。当然也可以把显示器接在hdmi接口,但我测试时用的是VGA口。

把数据盘插在你需要的盘位上。注意数据盘一定要有大于50G的空间。可以把兮克NAS系统安装在mSATA口上的16G SSD盘中,也可以安装在USB盘中,如果是安装到USB盘中,请插入另一个启动用的USB盘。开始前请务必备份好SSD盘或USB盘中的数据。安装过程中会删除启动盘中的所有数据,不会有任何提示,全部过程是一键式全自动快速安装。一般会在一分钟之内完成。

注意:不论是mSATA口上的16G SSD盘或是USB盘都必须事先格式化为FAT32的文件系统。可以不划分任何分区。仅仅是格式化一个FAT32文件系统而已。不可以是NTFS的文件系统。

第三步:插上USB安装盘,开电源,开始安装
如果出现找不到启动盘的问题,请按<ESC>键进入BIOS设置界面,务必将矿渣机设成UEFI启动状态才可以。
启动后很快会出现如下安装界面:
文010.jpg
选择“启动TinyCore 10.1 System创建兮克Seeker-NAS系统启动盘”。接下来要输入用户名和密码。系统默认的用户名是admin;密码也是admin。就可以开始全自动安装了。

安装系统启动后,会首先提示你是否要开始安装兮克系统,如果选择No,就会回到控制台。但你可以稍后通过控制台命令脚本create_sss_boot.sh重启安装过程。所有命令脚本均提供源代码供学习之用。

然后会提示请你选择要把启动盘安装到哪个目标盘中。提示中仅仅显示/dev/sdX名称,请事先搞清楚你的目标盘名称,不要选错了。

安装过程中会显示进度情况。如果出现错误,会在屏幕上提示。并在10秒后自动关机。请记录出错信息,分析原因,排除故障后,再次启动安装。

如果一切顺利,会显示安装成功的信息。也会在10秒后自动关机。请在关机后再移除USB安装盘。

第四步:移除USB安装盘后,就可以开始启动兮克NAS系统了

启动后会出现如下界面:
文011.jpg

选择启动兮克Seeker-NAS系统,按回车键就可以立即启动了。启动时会有一段时间黑屏,请耐心等一会。直至出现如下截屏,就表示启动成功了。
文012.jpg

第五步:启动兮克NAS系统,配置安装

在控制台登录兮克NAS系统,使用系统默认的最高级管理员xkadmin 密码是固定的 123。登录后使用命令:sudo -i 切换到root。再使用ifconfig命令查看IP地址。

兮克NAS系统也提供了一些配置安装工具,但我主要是为了分析系统,并没有下载那些工具。有兴趣更进一步研究兮克系统的坛友们,可以自行分析研究。我这里仅仅介绍最为基础的配置安装。

拿到IP地址后,就可以通过浏览器来配置兮克NAS系统了。截图如下:
文013.jpg

在这时,请选择自定义安装。展开页面如下:
文014.jpg

注意:配置一定不要勾选自己的启动盘。否则安装配置就会出错。因为前面说过的,数据盘的尺寸至少要50G以上才行。这个启动盘太小了,兮克NAS系统不容许配置这么小的盘。再说了,我们也不希望配置时摧毁我们的启动盘啊。切记!切记!

第六步:配置完成后就可以体验兮克NAS系统了

我给大家发个系统完成后的截图:
文015.jpg

我的这个安装盘虽然是给蜗牛星际矿渣机做的。但是兮克NAS系统即没有加密,也没有硬件绑定。因此其实这个ISO安装盘可以直接用于任何硬件机种。当然也可以直接用于任何虚拟机来体验兮克NAS系统了。

兮克NAS系统虽然是一个非常初级的NAS系统。远远不能与群晖,威联通,铁威马等系统相比。但是既然它在NasYun那是云论坛有一个专门的板块。我又是专门为NasYun那是云论坛写学习嵌入式linux逆向工程技术教程的。所以我就会在论坛中给它的系统做个分析评测。希望厂家不要吐槽。



结束语

很高兴能与大家分享此次的成果。本教程中详细讲解了制作过程中各种细节技术详情。

非常感谢如下的九个群友: QQ593334717,QQ923330170,QQ5160207,QQ992825199,QQ14546685,QQ324213001,QQ978834675,QQ2288991,QQ349191606
是他们众筹为我购买“蜗牛星际矿渣机”的硬件设备供研究,学习,分析之用。在他们的大力帮助之下,才能够完成这次的【老骥伏枥-原创】蜗牛星际矿渣机制作兮克NAS系统启动盘及安装教程。希望广大坛友们能够本着“吃水不挖井人”的心态。对他们表示诚心诚意的感谢。同时也非常感谢NASYUN论坛提供学习讨论的平台。

文章的最后,老骥伏枥要再次郑重声明:撰写蜗牛星际矿渣机制作兮克NAS系统启动盘及安装教程的目的是为了探索,研究,学习嵌入式linux逆向工程技术。禁止利用本文提供的技术和使用本教程的安装盘从事任何非法商业牟利性活动。

参考文献:
[1] Tiny Core Linux -维基百科,自由的百科全书  
[2] 【老骥伏枥-鼠年大礼包】蜗牛星际矿渣机专版威联通制作教程
[3] 【老骥伏枥-原创】DIY在VMware上安装万由U-NAS系统的初体验
[4] 【老骥伏枥-原创】关于黑群晖5.x版硬盘自启动的探讨
[5] 【老骥伏枥-鸡年大礼包】黑群晖6.02-8451版硬盘自启动,USB启动盘,系统救援


此文绝对是本人【原创】。如果你对本文的观点有不同意见,可以回帖喷我,本人从不固步自封,固持己见。

回复 支持 反对 印象

使用道具 举报

f541883216 发表于 2020-2-8 06:18 来自 加拿大

文章发表后记

本帖最后由 f541883216 于 2020-2-8 07:19 编辑

该文主要讲述如何设计制作安装盘,并介绍了有关Linux系统组态剪裁的知识。因为大家希望我公布安装盘的制作理念和方法。作为【鼠年大礼包】的进阶续篇,此次我将以兮克NAS系统为例。也同时介绍了一个新的名不见经传的兮克NAS系统供大家体验。

至于为什么要以兮克NAS系统为例,而不是直接用威联通为例,我想大家应该心知肚明吧。不过不管以什么系统为例,教学的效果是一样的。我们的目的是教学,把必要的知识传授给广大坛友。

只是因为年老体弱多病,精力不足,辜负了大家的期望。一些计划都被迫延期了。在此敬请广大坛友们谅解。

回复 支持 1 反对 0 印象

使用道具 举报

黑曜石之狐 发表于 2020-2-8 08:00 来自 中国黑龙江大庆
感谢大佬的无私奉献!
回复 支持 反对 印象

使用道具 举报

unanxtg 发表于 2020-2-8 08:17 来自 中国福建泉州
谢谢大佬对新手如此详细的讲解,这也是网上难找这么详细的文章了
回复 支持 反对 印象

使用道具 举报

threebugs 发表于 2020-2-8 08:18 来自 中国北京
大佬又出新品啦,学习学习!!!
回复 支持 反对 印象

使用道具 举报

pengxiaoya123 发表于 2020-2-8 09:07 来自 中国湖北武汉
感谢前辈的辛苦劳动!
回复 支持 反对 印象

使用道具 举报

hxjhxj163 发表于 2020-2-8 09:25 来自 中国广西南宁
大师作品,必是精品,谢谢分享!
回复 支持 反对 印象

使用道具 举报

悦8398 发表于 2020-2-8 11:09 来自 中国广东珠海
感觉大神的无私分享!收藏学习!
回复 支持 反对 印象

使用道具 举报

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

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图