本次黑威采用了畅网J4125开发板CW-X86-J4125-P2,此板结合打印机箱,可组多达7个sata2.5的ssd全闪黑威,也可以适当上2.5寸机械(5-6T移动硬盘拆机)当保种,适合喜欢小巧迷你安静的NAS的人士。
一。准备工作
1.u 盘一个
2. 刷写工具,我用的 rufus
3.SSH 工具,我用的 FinalShell: https://www.hostbuf.com/t/988.html
4. 镜像文件: https://drfs.ctcontents.com/file/15396595/876463132/352956/luffyes/QNAP/x77-dom.img.rar
二、制作启动盘
1. 用 rufus 写入 u 盘
三、Debian 底层升级
由于畅网开发板是 i226 网卡,debian 尚不能直接识别到,会导致无法 ssh 连接 debian 进行一些设置修改,所以要先给 debian 升级,假如你的网卡是 i225、8125 以及其他千兆网卡(主要是 intel 的)等之类,这步一般可以不用。
1. 启动盘写完了,插 nas 上(nas 上最好先别装多个硬盘,一个就行),然后插个 usb 网卡(因为是 i226 网卡,需要升级 debian 才能识别)
启动选最后一项 debian
2. 记住 ip 和用户名密码,打开 ssh 把 img 文件拖到 root 路径下,需要等待一会儿
2. 执行命令:dd if=x77-dom.img of=/dev/sda bs=128k
或者 dd if=x77-dom.img of=/dev/sdb bs=128k
这里注意:看 debian 的提示,是 sda 还是 sdb,再选择上面的命令,千万不要盲目 dd,dd 时间较长,耐心等待,完成后如下
3.reboot 重启下,继续进 debian 系统(注意获取到 ip 时候观察下,是 /dev/sda7 还是 sdb7),然后然后 ssh 连接。
4. 执行命令:apt update
执行命令:apt-cache search linux-image
5. 找到就 5.19 版本号,复制名称,
执行命令升级它: apt install linux-image-5.19.0-0.deb11.2-amd64-unsigned
6. 这里可以卸载无用的内核,执行命令:dpkg --list | grep linux-image
分别复制第 1 个和第 3 个名称,执行以下命令:
apt purge linux-image-5.10.0-14-amd64-unsigned
apt purge linux-image-5.19.0-0.deb11.2-rt-amd64-unsigned
假如这步不太懂就不用执行了
执行命令:dpkg --list | grep linux-image
cd /boot
ls
观看是否卸载成功 ,我这里卸载了一个,有个提示卸载会出错,后面也就没有去删除它了。
7. 创建文件夹,挂载分区
mkdir /mnt/sda1
mkdir /mnt/sda7
mount /dev/sda1 /mnt/sda1
mount /dev/sda7 /mnt/sda7
注意:如果是 sdb、sdc 的,这里 sda 要改成 sdb、sdc(下同,以此类推,和你硬盘插了几个有关,如果只一个,一般都是 sda)
如:
mkdir /mnt/sdb1
mkdir /mnt/sdb7
mount /dev/sdb1 /mnt/sdb1
mount /dev/sdb7 /mnt/sdb7
或者
mkdir /mnt/sdc1
mkdir /mnt/sdc7
mount /dev/sdc1 /mnt/sdc1
mount /dev/sdc7 /mnt/sdc7
8. 打包 debian
执行以下命令:
cd /mnt/sda7
cd ramboot
mv -vi image.tar.gz image.tar.bak
tar cvzf /mnt/sda7/ramboot/image.tar.gz --one-file-system /
rm image.tar.bak
打包完后,reboot 重启,debian 就用新内核启动了
9. 设置启动项,执行以下命令:
cd /mnt/sdc7/boot
cp /boot/. /mnt/sdc7/boot
vi /mnt/sdc1/grub/grub.cfg
然后修改 grub 文件,移动光标往下拉,找到 5.10…… 版本号的代码行
从 5.10 开始,改为 5.19.0-0.deb11.2-amd64,下方还有一行也同步修改,这个是配置用这个内核启动
另外,如果此处不好操作,你也可以直接在 finalshell 下面文件的窗口打开 grub 文件修改,路径是 /mnt/sdc1/grub,文件名是 grub.cfg(推荐这样改)
保存就行了
9.reboot 重启继续进 debian,可以直接识别 226 网卡了,不需要 usb 网卡了
执行命令:uname -r 观察内核内核是否为 5.19 了,至此 debian 升级完成。
四、制作威联通系统
1. 下载系统,执行命令:wget https://download.qnap.com/Storage/TS-X53D/TS-X53D_20230609-5.0.1.2425.zip
或者: wget https://download.qnap.com.cn/Storage/TS-X53D/TS-X53D_20230629-5.1.0.2444.zip
(以上是 5.0 和 5.1 版本的威联通,现在有更新的版本,可以自行修改为最新版本的地址应该都没问题)
2。执行解压缩命令:qnap-ex TS-X53D_20230609-5.0.1.2425.zip 或者 qnap-ex TS-X53D_20230629-5.1.0.2444.zip
3. 执行以下命令
mkdir /mnt/sda2
mkdir /mnt/sda3
mount /dev/sda2 /mnt/sda2
mount /dev/sda3 /mnt/sda3
cp /root/TS-X53D_20230609-5.0.1.2425-BOOT/* /mnt/sda2/boot/
cp /root/TS-X53D_20230609-5.0.1.2425-BOOT/* /mnt/sda3/boot/
五。制作model.conf文件
1. 执行以下命令:
mkdir /mnt/sda7
mount /dev/sda7 /mnt/sda7
cd /mnt/sda7/patch/patch/etc/
有个 model.conf,按照自己总线修改 sata 硬盘、m2,usb 等信息,具体修改方法过于复杂,可多看攻略,本文暂且不表。
附畅网 J4125 开发板 model(可能有错,仅供参考):
[System Enclosure]
VENDOR = QNAP
MODEL = TS-653D
CAP=0x16149b9c
MAX_DISK_NUM = 6
MAX_FAN_NUM = 1
MAX_TEMP_NUM = 1
INTERNAL_NET_PORT_NUM = 2
MAX_PCIE_SLOT = 1
CPU_TEMP_UNIT = DTS:4
SYSTEM_TEMP_UNIT=EC
SIO_DEVICE = IT8613E
PWR_RECOVERY_UNIT = EC
BOARD_SN_DEVICE = VPD
ETH_MAC_DEVICE = NET
DISK_DRV_TYPE = ATA
DISK_DEFAULT_MAX_LINK_SPEED = PD_SATA_SAS_6G
SYSTEM_DISK_CACHEABLE_BITMAP = 0x6
SS_MAX_CHANNELS = 40
SS_FREE_CHANNELS = 4
EUP_STATUS = EC
LCM_BAUDRATE = 115200
[System FAN]
FAN_UNIT = EC
FAN_1=I1
FAN_LEVEL_0 = 0
FAN_LEVEL_1 = 70
FAN_LEVEL_2 = 90
FAN_LEVEL_3 = 110
FAN_LEVEL_4 = 130
FAN_LEVEL_5 = 150
FAN_LEVEL_6 = 200
FAN_LEVEL_7 = 250
HEAT_SOURCE = SYS, CPU, DISK
[System I2C]
DEV_BUS = B00:D31
DEV_PORT = 0
[System EDID 1]
DEV_BUS = B00:D02
DEV_PORT = 0
[System IO]
RESET_BUTTON = EC
USB_COPY_BUTTON = EC
STATUS_GREEN_LED = EC
STATUS_RED_LED = EC
VPD_MB = EC
VPD_BP = EC
FRONT_USB_LED = EC
LED_BV_INTERFACE = EC
LED_BV_CTRL = PWM
EDID_COUNT=1
VOICE_ALERT_SUPPORT = 0
[System Disk 1]
DEV_BUS = B00:D19
DEV_PORT = 0
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 1
[System Disk 2]
DEV_BUS = B00:D19
DEV_PORT = 1
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 2
[System Disk 3]
DEV_BUS = B00:D19
DEV_PORT = 2
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 3
[System Disk 4]
DEV_BUS = B00:D19
DEV_PORT = 3
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 4
[System Disk 5]
DEV_BUS = B00:D19
DEV_PORT = 4
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 5
[System Disk 6]
DEV_BUS = B00:D19
DEV_PORT = 5
DEV_BRIDGE_BUS = B01:D00
SLOT_NAME = Disk 6
[System Network 1]
DEV_BUS = B00:D20
DEV_PORT = 0
DEV_BRIDGE_BUS = B02:D00
[System Network 2]
DEV_BUS = B00:D20
DEV_PORT = 0
DEV_BRIDGE_BUS = B03:D00
[Usb Enclosure]
VENDOR = QNAP
MODEL = USB
MAX_PORT_NUM = 2
USB3_PORT_BITMAP = 0xFE
[Usb Port 1]
DEV_BUS = B00:D21
DEV_PORT = 1
[Usb Port 2]
DEV_BUS = B00:D21
DEV_PORT = 2
[Boot Enclosure]
VENDOR = QNAP
MODEL = BOOT
MAX_DISK_NUM = 1
DISK_DRV_TYPE = USB
[Boot Disk 1]
DEV_PORT = 2
DEV_BUS = B00:D21
[System Memory]
MAX_CHANNEL_NUM = 1
MAX_SLOT_NUM = 1
SLOT1_ADDR = 1, 0x50
**2.**修改成功后打包执行打包命令:
cd /mnt/sda7/patch/
repacking ./patch.gz
3.reboot 重启,启动项选择 no2 或者 no3,
进入系统 ip:8080
或者 qfind 搜索
如提示找不到硬盘,就是没写对硬盘,要重新改写 model.conf,改对后重新打包上传重启
设置好用户名密码,继续
最后进入管理界面
六、修改 init 文件
由于威联通系统未支持 I226 网卡,要通过修改 init 文件支持,执行以下命令:
mkdir /mnt/sda7
mount /dev/sda7 /mnt/sda7
cd /mnt/sda7/patch/patch/
cd sbin
nano init(这个命令可直接改 init)
然后打包 patch
cd /mnt/sdc7/patch/
repacking ./patch.gz
或者 在 ssh 上面打开后修改(推荐),执行以下命令
mkdir /mnt/sda7
mount /dev/sda7 /mnt/sda7
cd /mnt/sda7/patch/patch/
cd sbin
打开 init,修改后保存 附 i226 网卡 init 内容,自行复制粘贴替换,记得完事后打包:
#!/bin/sh
# This is developed by laojifuli to patch the QNAP system
sed -i "/\/bin\/echo 65536 > \/proc\/sys\/kernel\/msgmnb/{n;n;n;n;n;n;s|$|\n[ -f \/patch ] \&\& \/patch\nrm -f \/patch|}" /etc/init.d/init_check.sh
sed "/80863101/i \ 8086125c #Ethernet Controller 1226-V" /etc/init.d/load_lan_module.sh -i
sed "/coretemp.ko/i \[ ! -f /lib/modules/misc/hwmon-vid.ko \] || /sbin/insmod /lib/modules/misc/hwmon-vid.ko" /etc/init.d/init_check.sh -i
sed "/coretemp.ko/i \[ ! -f /lib/modules/misc/nct6775.ko \] || /sbin/insmod /lib/modules/misc/nct6775.ko " /etc/init.d/init_check.sh -i
sed "/coretemp.ko/i \[ ! -f /lib/modules/misc/it87.ko \] || /sbin/insmod /lib/modules/misc/it87.ko Ispeed_Model=1 " /etc/init.d/init_check.sh -i
sed "/coretemp.ko/i \[ ! -f /lib/modules/misc/it87.ko \] || /sbin/insmod /lib/modules/misc/it87.ko Ispeed_Model=1 ignore_resource_conflict=1" /etc/init.d/init_check.sh -i
exec /bin/busybox init
七、常用命令集合(天地极限制作)
有些通用命令可以在一开始就执行,这样后面可以省去重复执行,如下:
mkdir /mnt/sdd1
mkdir /mnt/sdd2
mkdir /mnt/sdd3
mkdir /mnt/sdd5
mkdir /mnt/sdd7
mount /dev/sdd1 /mnt/sdd1
mount /dev/sdd2 /mnt/sdd2
mount /dev/sdd3 /mnt/sdd3
mount /dev/sdd5 /mnt/sdd5
mount /dev/sdd7 /mnt/sdd7
1. 修改启动顺序
cd/mnt/sdd1/grub
编辑 grub.cfg 文件
第 13 行注释掉 添加#
第 14 行改成
set default="0"
删掉 78~104 行
强迫症可以吧删除完成后
第 69 行内 “DOM kernel X86” 改成 QNAP 或者你喜欢
第 78 行内 “Debian 11 On Ram” 改成 Debian 11 或者你喜欢
2. 下载威联通固件
cd ~
wget
https://download.qnap.com/Storage/TS-X72/TS-X72_20230926-5.1.2.2533.zip
qnap-ex TS-X72_20230926-5.1.2.2533.zip
cp TS-X72_20230926-5.1.2.2533-BOOT/*
/mnt/sdd2/boot/
cp TS-X72_20230926-5.1.2.2533-BOOT/*
/mnt/sdd3/boot/
3. 编序列号
cd /mnt/sdd5
nano usbdom.conf
格式:
[main]
serial=Q226Y56789
序列号随你喜欢。。大概格式差不多就行
4. 正式 model
cd /mnt/sdd7
rm -rf diyboot
cd patch/patch
cd sbin
rm -rf init_amdgpu
打开 init 编辑,复制备份的 init 文件内容进去保存
cd ../lib
rm -rf firmware
cd modules/5.10.60-qnap
rm -rf amd*
cd /mnt/sdd7/patch/patch/etc
除了 model.conf 其他都覆盖进去
打开 model.conf 文件。。把备份的内容复制进去保存
5、重新打包。每次修改 model 文件都需要重新打包
cd /mnt/sdd7/patch/
repacking ./patch.gz
reboot