韌體建構器可將您的 Unifi NVR/Unifi NVR Pro 轉換為 OpenMediaVault NAS 設備。
這個倉庫仍在大力開發中,應該被視為 alpha!
請注意,由於該韌體目前需要預先建置的 Ubiquiti 軟體,因此該儲存庫沒有可用的預先建置映像。這是為了防止 Ubiquiti 的 IP 重新分配,所以請不要詢問!此外,使用此儲存庫即表示您接受與其相關的所有風險,包括但不限於使您的保固失效以及免除所有各方與您的裝置和此軟體相關的任何責任。自行承擔風險!
下載設備所需的 UNVR 韌體,並將其放置在 unifi-firmware 目錄中。請參閱該目錄中的 README.md 以取得更多資訊。
確保您的 Linux 系統已安裝此儲存庫所需的軟體包,它們是:
docker-ce losetup wget sudo make qemu-user-static squashfs-tools
請注意,不支援從 OSX/Windows 建置。需要一台 Linux 主機。
使用您的板名稱集運行 make,然後坐下來等待韌體映像的建置。根據您的計算機,這可能需要大約一個小時左右。
對於 UNVR: BOARD=UNVR make
對於 UNVR Pro: BOARD=UNVRPRO make
完成後,您將在 ./output 中獲得壓縮的磁碟映像
請注意,目前安裝過程需要 UART 來修改 u-boot env 進行引導。將來,如果我能獲得最新的內核 GPL 原始碼,就不需要這個了。
確保您的 UNVR/UNVR Pro 正在執行與 unifi-firmware 目錄中的 README.md 中引用的相同的 Unifi 韌體。
建立韌體映像(遵循使用部分),然後將其放在格式化為 ext4 的 HDD/SSD 上。將上述硬碟作為唯一硬碟放入 UNVR/UNVR Pro 中。
將 UART 連接到 UNVR/UNVR Pro:
在 UNVR 上,UART 位於 SFP+ 籠後面的 PCB 上,靠近板的中間(4 個引腳)。
在 UNVR Pro 上,UART 位於 PCB 上靠近 DC 備用電源連接埠(4 個引腳)的位置。
啟動 UNVR/UNVR Pro,並在 UART 控制台中,當提示進入 u-boot shell 時按 Escape (Esc) 兩次。您只有 2 秒鐘的時間來完成此操作!
執行以下命令來更新核心命令列並儲存變更:
setenv rootfs PARTLABEL=rootfs
setenv bootargsextra boot=local rw
saveenv
啟動進入恢復。這可以使用以下命令來完成,或拔掉 UNVR/UNVR Pro 的插頭,並在重新啟動時按住重置按鈕 10~ 秒。
run bootcmdrecovery
啟動恢復後,使用ubnt:ubnt
或root:ubnt
登入。請注意,這可以透過 UART shell 來完成,或者如果您願意,可以透過 telnet 進入復原中的 UNVR/UNVR Pro 的 IP 位址(如果您已連網)。
使用韌體映像安裝 HDD,然後將我們的自訂韌體刷新到 EMMC/儲存。 (請注意,下面的範例預計您的帶有韌體的 HDD 位於 /dev/sda)
聯合國VR:
將磁碟掛載到 /mnt
mount /dev/sda1 /mnt
將 UNVR-NAS 韌體映像寫入 EMMC/Storage
請注意,如果您有帶有內部 USB 驅動器的舊版 UNVR,則需要將/dev/boot
替換為 USB 驅動器的路徑!
gunzip /mnt/debian-UNVR.img.gz
dd if=/mnt/debian-UNVR.img of=/dev/boot bs=4M
sync
reboot
UNVR 專業版:
將磁碟掛載到 /mnt
mount /dev/sda1 /mnt
將 UNVR-NAS 韌體映像寫入 EMMC/Storage
gunzip /mnt/debian-UNVRPRO.img.gz
dd if=/mnt/debian-UNVRPRO.img of=/dev/boot bs=4M
sync
reboot
此時,您可以刪除您使用的 HDD/SSD,並在您的 UNVR/UNVR Pro 上享受帶有 OpenMediaVault 的 Debian 12! OpenMediaVault 的預設登入名稱是admin:openmediavault
。 SSH 登入資訊為debian:debian
。請注意,首次啟動可能需要一些時間,因為 cloud-init 會運行來完成設定。
若要恢復原廠 UNVR/UNVR Pro 韌體,您可以執行以下步驟:
開機時按住前面的「重置」按鈕以啟動進入恢復
一旦裝置處於恢復模式,請遠端登入裝置的 IP 位址(UNVR Pro 將在觸控螢幕上顯示此資訊)。在登入提示字元處,使用ubnt:ubnt
或root:ubnt
登入。
擦除 uboot env,以刪除我們的自訂引導命令。這應該是 mtd1/mtd2,但請先使用cat /proc/mtd
進行驗證,以防止您的裝置變磚!不要跳過這一步!輸出應與下面匹配,如果不匹配,請不要繼續!
$ cat /proc/mtd
dev: size erasesize name
mtd0: 001c0000 00001000 "u-boot"
mtd1: 00010000 00001000 "u-boot env"
mtd2: 00010000 00001000 "u-boot env redundant"
mtd3: 00010000 00001000 "Factory"
mtd4: 00010000 00001000 "EEPROM"
mtd5: 01000000 00001000 "recovery kernel"
mtd6: 00e00000 00001000 "config"
識別出 uboot 環境後,刪除它們以刪除我們在安裝過程中新增的設定覆蓋:
dd if=/dev/zero of=/dev/mtd1
dd if=/dev/zero of=/dev/mtd2
接下來,擦除 EMMC,以便擦除所有分區:
請注意,如果您有帶有內部 USB 驅動器的舊版 UNVR,則需要將/dev/boot
替換為 USB 驅動器的路徑!
/sbin/parted -s -- /dev/boot mklabel gpt
現在您可以使用 Unifi Recovery WebUI 上傳韌體檔案並還原您的裝置。