前言

其实在写这篇博客之间我已经纠结了很久,到底该为这篇博客取个什么题目。因为这次主要说的是对我家云的Armbian镜像进行微修改,并进行镜像备份。

虽然说是修改,其实也只能说是站在巨人的肩膀上摘苹果。多亏有了这些大佬大神的优秀固件,才能让我们使用上界面美观又不掉盘的我家云Armbian系统。这里实名制表扬“乘风”大佬,我这次的修改就是在他制作的“Armbian_Mix_With_Navi_1213.img”镜像上添加些许功能。

原界面

在进行修改之前,我对这个美观而又神秘的系统可谓是一窍不通,而网上有关我家云镜像修改的内容又极为稀少,所以导致我前前后后花了好几天的时间,才在反复折腾中取得一丝丝成果。

原本我想要有这样一个修改版,拥有博客程序Typecho、VPS宝塔面板、微力同步、支持RSS的qBittorrent(Web面板都不支持RSS)、最新版荔枝相册……

但是折腾了半天,我发现修改我家云的镜像比我想象中的要复杂很多,特别是在镜像里原本就已经自带Nginx,运行着一大堆WEB版的软件后,在想要添加一个宝塔面板,很容易出GUB,而像荔枝相册这些,已经尝试了好几次替换目录下文件,反正也没有成功,最后也只好放弃了。

最重要的其实不是功能调试,而是确保自己在进行修改后,能把镜像打包下来,这样的话即使这次修改新增的功能并不是很多,以后也还是可以慢慢改,否则万一功能都调试好了,结果没有办法备份,而机器又刚好坏掉的话,那就真的是凉凉了。

这次有幸,成功增加了Typecho和微力同步功能,对我来说,这两个功能还是蛮重要的。

安装功能

首先要保证你的系统是一个干净的系统,可以按照之前写的教程重新刷一次。记住,镜像压缩包要解压成img格式再进行刷机。我家云刷新固件教程

如果你只是想增加功能,但是对备份系统没有什么兴趣,那么也可以跳过重新刷机这一步。

打开SSH界面,我们首先为我家云增加微力同步功能。这是一款类似于BTsync的软件,可以用来搭建分布式网盘。在BTsync被墙了之后,各种sync的软件都开始争夺市场,不过微力同步有一个亮点就是支持全平台,并且在各主流平台都有APP。官方还十分贴心地为我们提供了一键安装脚本。

#(如果需要指定索引存放位置请在最后面添加-d 路径 如 -d /data/verysync)
curl http://www.verysync.com/shell/verysync-linux-installer/go-installer.sh > go-installer.sh
chmod +x go-installer.sh
./go-installer.sh

软件默认的WEB UI面板端口为8886,在地址栏输入你的IP:8886就可以访问微力同步的界面了。

微力同步

安装Typecho要比安装微力同步麻烦一点,首先得进入可道云,跳转到目录:/opt/wwwroot/,下载Typecho的最新版本,或者点击这里下载。把下载好的文件上传到目录下,解压后改个名字,大概是这个样子:

上传Typecho

完成后复制一份,跳转到目录/opt/wwwroot/navi/下,其中navi就是我们的导航页目录。把typecho文件夹复制到这个地方一份。至于为什么要复制一份,是因为像其他目录在/navi下都有一个目录快捷键,点进去就能访问到/opt/wwwroot/下面,但是我是萌新,不知道怎么在里面设置快捷键又不影响目录位置的相对引用,所以偷懒了。

现在如果访问你的ip/typecho,应该就能看到程序的安装界面了。数据库里需要填入自己的账号密码,默认是root,123456,建议先在phpMyAdmin里面把密码修改了。先选用户名root'@'localhost,然后修改密码。

修改数据库密码

如果要备份镜像的话,可以先暂不安装博客,等着打包之后再安装。

打开SSH,安装USBMuxd驱动,这样就可以用手机给我家云开热点供网。

sudo apt-get update            #更新仓库
sudo apt-get install usbmuxd   #安装USBMuxd服务

有的同学可能会觉得每次进入微力同步要输入端口号,而进入Typecho又要填写地址,十分麻烦,那么有没有办法能在导航页上增加这两个功能的导航呢?

其实很简单,只要把准备好的两个图标放在/opt/wwwroot/navi/img/png/目录下,分别命名为typecho.png、verysync.png就可以了。不想制作图标,可以用我制作好的,右键保存即可。

typecho
verysync

然后在SSH里面输入该命令修改文件的编辑权限:

chmod 777 /opt/wwwroot/navi/index.php

然后用可道云跳转到该目录,对index.php文件进行编辑,在里面增加以下几行内容即可:

<li>
<a href="http://<?php echo $IP;?>:8886" target="_blank"><img class="shake" src="img/png/verysync.png" /><strong>微力同步</strong></a>
</li>

<li>
<a href="/typecho/" target="_blank"><img class="shake" src="img/png/typecho.png" /><strong>Typecho</strong></a>
</li>

增加代码

具体位置可以根据自己的喜好,安插在不同的地方。如果觉得一整个页面显示不完全,可以把php文件里第18行,显示我家云图标的那行语句删除掉。最终效果图:

最终效果图

备份镜像

经过愉快的修改,是时候该到了最后备份的环节了,先插入一个移动硬盘,等待备份操作。在网上寻找了很多资料,不过经过实践,大多数都是不可用的,只有我家云固件包里那个文档里的链接是有效的,具体可以看这里

代码摘抄如下:

mount /dev/sda1 /mnt
sync
dd if=/dev/mmcblk0p1 of=/mnt/p0.ext bs=1M
e2fsck -fy /mnt/p0.ext
resize2fs -M /mnt/p0.ext
resize2fs /mnt/p0.ext 3500M
dd if=/dev/mmcblk0 of=/mnt/p.img bs=1M count=16
dd if=/mnt/p0.ext of=/mnt/p.img bs=1M seek=16
       

执行第3步的时候会有报错,提示找不到/dev/mmcblk0p1目录。

找不到目录

这是因为设备的名字可能存在不同。不过在控制台-储存器-磁盘里,我们可以看到设备的名字其实是mmcblk1p1。

正确名字

所以第3行代码应该修正为:

dd if=/dev/mmcblk1p1 of=/mnt/p0.ext bs=1M

到了第6行代码的时候又提示我数字不能小于xxxxxx,那我们就把3500M修改成它所提示的数字,这样就能通过了。

执行到最后,我们可以发现挂载的移动硬盘里已经多了一个img结尾的镜像,虽然体积3.6GB有点大,但是好歹完成了备份镜像的任务,也不知道大神们是怎么制作出体积这么小的安装包的。

经过刷机测试,这个img的镜像确实有效,而且如果这个包里没有自己的个人信息,完全可以分享给别人使用,毕竟我家云/粒子云的配置都是一样的。

虽然还没有安装带RSS功能的BT下载软件,不过以后有时间可以慢慢研究怎么增加宝塔面板和BT下载软件。

在最后,还是要感谢乘风大佬制作的镜像,因为真的很好用。