Unifi NVR/Unifi NVR Pro を OpenMediaVault NAS アプライアンスに変換するファームウェア ビルダー。
このリポジトリはまだ開発中であるため、アルファ版と考えてください。
このファームウェアには現在、事前に構築された Ubiquiti ソフトウェアが必要であるため、このリポジトリには利用可能な事前構築されたイメージが存在しないことに注意してください。これは、Ubiquiti の IP の再配布を防ぐためなので、質問しないでください。また、このリポジトリを使用することにより、保証の無効化、およびデバイスとこのソフトウェアに関連するすべての当事者の責任の免除を含むがこれに限定されない、このリポジトリに関連するすべてのリスクを受け入れることになります。ご自身の責任で進めてください。
デバイスに必要な UNVR ファームウェアをダウンロードし、unifi-firmware ディレクトリに配置します。詳細については、そのディレクトリにある README.md を参照してください。
Linux システムに、このリポジトリに必要な次のパッケージがインストールされていることを確認してください。
docker-ce losetup wget sudo make qemu-user-static squashfs-tools
OSX/Windows からのビルドはサポートされていないことに注意してください。 Linux ホストが必要です。
ボード名を設定して make を実行し、ファームウェア イメージがビルドされるのを待ちます。コンピューターによっては、これには約 1 時間ほどかかる場合があります。
UNVR の場合: BOARD=UNVR make
UNVR Pro の場合: BOARD=UNVRPRO make
完了すると、./output に圧縮されたディスクイメージが作成されます。
現在、インストール プロセスでは、UART が起動のために u-boot 環境を変更する必要があることに注意してください。将来、最新のカーネル GPL ソースを入手できれば、これは必要なくなります。
UNVR/UNVR Pro が、unifi-firmware ディレクトリの README.md で参照されているものと同じ Unifi ファームウェアを実行していることを確認してください。
ファームウェア イメージをビルドし (「使用法」セクションに従って)、ext4 にフォーマットされた HDD/SSD にそれをスローします。上記の HDD を唯一のハード ドライブとして UNVR/UNVR Pro に置きます。
UART を UNVR/UNVR Pro に接続します。
UNVR では、UART は SFP+ ケージの後ろの PCB 上のボードの中央付近 (4 ピン) にあります。
UNVR Pro では、UART は PCB 上の DC 電源バックアップ ポート (4 ピン) の近くにあります。
UNVR/UNVR Pro を起動し、UART コンソールでプロンプトが表示されたらエスケープ (Esc) を 2 回押して、u-boot シェルにアクセスします。これを行うのに必要な時間はわずか 2 秒です。
次のコマンドを実行してカーネル コマンドラインを更新し、変更を保存します。
setenv rootfs PARTLABEL=rootfs
setenv bootargsextra boot=local rw
saveenv
リカバリを起動します。これは、以下のコマンドを使用するか、UNVR/UNVR Pro のプラグを抜き、電源を入れるときにリセット ボタンを 10 秒間押し続けることで実行できます。
run bootcmdrecovery
リカバリが起動したら、 ubnt:ubnt
またはroot:ubnt
でログインします。これは、UART シェル経由で行うことも、ネットワークに接続されている場合は、リカバリ中の UNVR/UNVR Pro の IP アドレスに Telnet でアクセスすることもできることに注意してください。
ファームウェア イメージを使用して HDD をマウントし、カスタム ファームウェアを EMMC/ストレージにフラッシュします。 (以下の例では、ファームウェアを備えた HDD が /dev/sda にあることを想定していることに注意してください)
UNVR:
ディスクを /mnt にマウントします
mount /dev/sda1 /mnt
UNVR-NAS ファームウェア イメージを EMMC/ストレージに書き込みます
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/ストレージに書き込みます
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 アドレスに Telnet で接続します (UNVR Pro はこれをタッチ スクリーンに表示します)。ログイン プロンプトで、 ubnt:ubnt
またはroot:ubnt
を使用してログインします。
uboot 環境を消去して、カスタム ブート コマンドを削除します。これは 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 を使用してファームウェア ファイルをアップロードし、デバイスを復元できるようになります。