1. 首页
  2. 科技数码

联想个人云存储T1 原生固件获取root&安装docker

偶然从海鲜市场得到联想T1(280.00包邮),就开始想着怎么折腾。其实,本人已经有很多的群晖,两白一黑,两白一主一备(无奈运气不是很好,坏过2块的硬盘),一黑挂pt。参考了张大妈家的几篇文章,大概的办法,一是硬改刷黑群,一个是原生固件装docker。硬改的物件都准备好了,无奈搭不上线,最关键的部分是u-boot的生成。

联想个人云存储T1 原生固件获取root&安装docker

原生固件装docker呢,可能是我眼拙,不太理解现在的网络语言,愣是找不到链接(当然,不耻下问也能问到)。

联想个人云存储T1 原生固件获取root&安装docker

还是自己研究吧,下面把自己的成果小结一下,比刷机要简单,而且不会提示固件更新。


一、准备工作

  • 需要能访问raid的linux(ubuntu等),Windows其实也可以,还是linux原生支持的方便。

  • 移动硬盘盒

  • 可以TTL跑码的工具

二、获取原生固件root权限

1、设置账号密码

通过联想的客户端设置局域网访问账号设置,这个账号和密码一会儿会用上。(其实这个步骤不要也行,默认的admin账号密码是123456)

联想个人云存储T1 原生固件获取root&安装docker

2、挂载硬盘

将你的硬盘从联想T1拔下拉放入移动硬盘盒(要不要关机看你,安全起见还是关机),这时候通过linux访问这个硬盘的内容。

此时打开“文件”查看是否有文件系统被直接挂载,可以访问。如有,那就跳过挂载步骤,直接访问数据即可。

  • 运行终端(英文系统下为Terminal),在终端中使用以下命令安装mdadm:

sudo -i

apt-get install mdadm

  • 使用以下命令安装lvm2以保证vgchange正常运作:

apt-get install lvm2

  • 运行以下命令覆盖常规检查重建RAID阵列:

mdadm -Asf

  • 运行以下命令挂载所有已知的卷到系统:

vgchange -ay

此时应能在系统自带的“文件”中看到新挂载的卷,打开便能看到所有文件,接下来就是修改shadow文件了。

3、获取root权限

可以直接使用admin的密码123456,在挂载的硬盘找到(例如,我这边挂载到/sata)/sata/.storage/etc/shadow文件(这个文件就不解释了)编辑它。

  • 把admin的密码密文拷贝到root下(第1个冒号和第2个冒号之间),把第3个冒号和第4个冒号的数字改为0(不改,登录会要重置密码,登录不了)。

  • 或者,一步到位,把刚才通过APP设置的密码密文拷贝到root下,同时,第3个冒号和第4个冒号的数字改为0。

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker

4、TTL跑码

通过TTL跑码就可以在串口下进行ssh启用,通过刚才的步骤就可以直接root账号登录控制台了。

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker

5、启用SSH

在/opt/conf/user下生成enable_ssh文件。

touch /opt/conf/user/enable_ssh

<!--如果直接通过挂载生成enable_ssh文件也行,可是admin账号似乎没有办法sudo -i或者su执行命令,如果编辑passwd文件也行,那还是不如一步到位,把密码改好了。-->

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker启动SSH服务(不做这一步也行,有上面那个文件生成,重启也能启动ssh服务了)。

/etc/init.d/S50dropbear start

至此,你已经可以通过SSH远程访问联想T1了,甚至还有了root权限,接下来怎么玩,凭君喜好。

三、安装docker

其实,我最主要的目标是给没有网络功能的打印机实现airprint,联想T1也内置了cups,但是被阉割过了,还是自己搞吧。搜罗了一遍,要想找到对应的ipk包(联想T1这个固件其实是openwrt的深度定制版)着实有点困难,最简单的还是docker。

1、下载docker

下载地址:https://download.docker.com/linux/static/stable/

镜像地址:https://mirrors.aliyun.com/docker-ce/linux/static/stable/aarch64/?spm=a2c6h.25603864.0.0.654c4ccaPxer04

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker点击进入aarch64

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker最新的安装包为docker-20.10.9.tgz,浏览器可以下载,网址为

https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz

2、上传docker压缩包

将这个压缩包不解压直接拷贝到tmp文件夹内,然后cd /tmp,进入到该目录中

联想个人云存储T1 原生固件获取root&安装docker

3、解压

tar -zxvf docker-20.10.9.tgz

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker4、安装docker

安装过程是比较暴力的,暂时也没有更好的解决方法。

/bin/cp -a /tmp/docker/* /usr/bin,这样就会把所有刚刚解压的文件拷贝到系统目录下。

然后执行dockerd,用来创建一些临时的目录。但是执行过程会失败,我们需要修改配置文件

vi /etc/docker/daemon.json

将下述文本复制进去

{

"storage-driver": "vfs",

"iptables": false,

"data-root": "/opt/docker"

}

<!--如果过程中有提示只读文件无法修改的,尝试重新挂载/-->

mount - o remount rw /

5、设置docker自启动

vi /etc/init.d/S60dockerd


#!/bin/sh

NAME=dockerd

DAEMON=/usr/bin/$NAME

PIDFILE=/var/run/$NAME.pid

DAEMON_ARGS=""

[ -r /etc/default/$NAME ] && . /etc/default/$NAME $1

do_start() {

echo -n "Starting $NAME: "

start-stop-daemon --start --quiet --background --make-pidfile

--pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS

&& echo "OK" || echo "FAIL"}

do_stop() {

echo -n "Stopping $NAME: "

start-stop-daemon --stop --quiet --pidfile $PIDFILE

&& echo "OK" || echo "FAIL"}

case "$1" in

start)

do_start

;;

stop)

do_stop

;;

restart)

do_stop

sleep 1

do_start

;;

*)

echo "Usage: $0 {start|stop|restart}"

exit 1

esac

注:将就看吧,没想到我这初级写作者,不支持markdown。

至此,docker安装完毕。

四、安装portainerio

其实,到这一步已经是非必要的了,还是命令行来的方便,这里,顺便介绍一下。

  • 拉取镜像

docker pull portainer/portainer

  • 创建卷

docker volume create portainer_data

  • 创建容器

docker run --restart=always -d --name=portainer -p 10001:9000 -v /var/run/docker.sock:/var/run/docker.sock --net=bridge -v portainer_data:/data portainer/portainer

  • 确认容器正常运行

docker ps

联想个人云存储T1 原生固件获取root&安装docker

在浏览器输入联想T1的IP和10001端口号,就可以了看到对应的管理页面,说明安装成功了。

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker

有了docker命令行和web端,想怎么搞都行了。

五、总结

联想T1刷黑群晖,缺的是某大神的u-boot(下一步自己研究怎么编译),而不是动手能力。刷某大神的官改固件现阶段的问题就是会提示固件升级。在原生固件折腾一下,也能实现自己想要的,过程还是学到一些东西的。

联想个人云存储T1 原生固件获取root&安装docker

联想个人云存储T1 原生固件获取root&安装docker

参考了文章如下,感谢作者。

https://www.bilibili.com/read/cv15633573

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47590.html