前言:

很多小伙伴,都想DIY一个属于自己的unraid,因为机制问题 在系统内修改的内容,在unraid重启后对系统的修改就会复原,是因为修改的是临时运行系统,unraid的系统每次启动都会解压unraid的文件,所以 在运行中的系统修改是无效的!

教程:

我们在unraid下直接进行拆包和封包的操作,但是unraid的系统缺少组件,所以我用了docker,并且将我使用的docker进行打包已经push到了hub.docker.com 方便大家使用。

我们使用SSH 连接到unraid,运行命令

docker pull rsg2019/custom-unraid

如果上面的命令,无法pull 镜像,可以进入QQ群 下载本地包导入!

将unraid系统的bzroot 拷贝到下面命令中的宿主机路径中。

隐藏内容

docker run -it --name custom-unraid --net host -v /宿主机路径:/容器内部路径:rw rsg2019/custom-unraid /bin/bash

拆包:

进入映射路径,执行读取微码命令:

dd if=./bzroot bs=512 count=$(cpio -ivt -H newc < ./bzroot 2>&1 > /dev/null | awk '{print $1}') of=./bzmicrocode

然后读取包内文件内容:

dd if=./bzroot bs=512 skip=$(cpio -ivt -H newc < ./bzroot 2>&1 > /dev/null | awk '{print $1}') | xzcat | cpio -i -d -H newc --no-absolute-filenames

bzroot 已经解压到了当前路径内。

封包:

在已经解压好的路径执行:

find . | cpio -o -H newc | xz --check=crc32 --x86 --lzma2=preset=9e >> ../2/bzroot

即可将当前目录中的文件封包到2文件夹内。

注意:在拆包时候提取的微码,要作为封包的包头才可以使用,否则封包后 无法使用。

打包好以后 把文件放入/boot 就可以了,重启系统即可。

结尾:

多操作几次,就知道如何使用了,本身教程不难,要注意细节即可!

发表回复

后才能评论

评论(4)