本次黑威采用了暢網 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