Construtor de firmware para converter seu Unifi NVR/Unifi NVR Pro em um dispositivo OpenMediaVault NAS.
Este repositório ainda está em forte desenvolvimento e deve ser considerado alfa!
Observe que, como o software Ubiquiti pré-construído é atualmente necessário para este firmware, este repositório não possui imagens pré-construídas disponíveis. Isto é para evitar a redistribuição do IP da Ubiquiti, então por favor NÃO PERGUNTE! Além disso, ao usar este repositório, você aceita todos os riscos associados a ele, incluindo, mas não se limitando a, anular sua garantia e isentar todas as partes de qualquer responsabilidade associada ao seu dispositivo e a este software. PROCURE POR SUA CONTA E RISCO!
Baixe o firmware UNVR necessário para o seu dispositivo e coloque-o no diretório unifi-firmware. Consulte o README.md nesse diretório para obter mais informações.
Certifique-se de que seu sistema Linux tenha os pacotes necessários instalados para este repositório, que são:
docker-ce losetup wget sudo make qemu-user-static squashfs-tools
Observe que a construção a partir do OSX/Windows não é suportada. Um host Linux é NECESSÁRIO .
Execute make com o nome da placa definido, relaxe e espere a imagem do firmware ser construída. Dependendo do seu computador, isso pode levar cerca de uma hora.
Para o UNVR: BOARD=UNVR make
Para o UNVR Pro: BOARD=UNVRPRO make
Uma vez feito isso, você terá uma imagem de disco compactada em ./output
Observe que atualmente o processo de instalação requer que o UART modifique o ambiente u-boot para inicialização. No futuro, se eu conseguir a fonte GPL do kernel mais recente, isso não será necessário.
CERTIFIQUE-SE de que seu UNVR/UNVR Pro esteja executando o mesmo firmware Unifi mencionado em README.md no diretório unifi-firmware.
Crie a imagem do firmware (siga a seção Uso) e, em seguida, jogue-a em um HDD/SSD formatado para ext4. Coloque o referido HDD no UNVR/UNVR Pro como o único disco rígido.
Conecte o UART ao UNVR/UNVR Pro:
No UNVR, o UART está localizado na PCB atrás da gaiola SFP+, próximo ao meio da placa (4 pinos).
No UNVR Pro, o UART está localizado na PCB próximo à porta DC Power Backup (4 pinos).
Inicialize o UNVR/UNVR Pro e, no console UART, pressione Escape (Esc) duas vezes quando solicitado para acessar o shell do u-boot. Você só tem 2 segundos para fazer isso!
Execute os seguintes comandos para atualizar o cmdline do kernel e salvar as alterações:
setenv rootfs PARTLABEL=rootfs
setenv bootargsextra boot=local rw
saveenv
Inicialize na recuperação. Isso pode ser feito usando o comando abaixo ou desconectando o UNVR/UNVR Pro e segurando o botão reset por 10 segundos enquanto você o liga novamente.
run bootcmdrecovery
Depois que a recuperação for inicializada, faça login com ubnt:ubnt
ou root:ubnt
. Observe que isso pode ser feito via shell UART ou, se desejar, você pode fazer telnet para o endereço IP do seu UNVR/UNVR Pro em recuperação, se estiver em rede.
Monte seu HDD com a imagem do firmware e, em seguida, atualize nosso firmware personalizado para o EMMC/Storage. (Observe os exemplos abaixo, espere que seu HDD com o firmware esteja em /dev/sda)
UNVR:
Monte seu disco em /mnt
mount /dev/sda1 /mnt
Grave a imagem do firmware UNVR-NAS no EMMC/Storage
Observe que se você tiver um UNVR mais antigo com unidade USB interna, você precisará substituir /dev/boot
pelo caminho da sua unidade USB!
gunzip /mnt/debian-UNVR.img.gz
dd if=/mnt/debian-UNVR.img of=/dev/boot bs=4M
sync
reboot
UNVR Pró:
Monte seu disco em /mnt
mount /dev/sda1 /mnt
Grave a imagem do firmware UNVR-NAS no EMMC/Storage
gunzip /mnt/debian-UNVRPRO.img.gz
dd if=/mnt/debian-UNVRPRO.img of=/dev/boot bs=4M
sync
reboot
Neste ponto você pode remover o HDD/SSD que usou e aproveitar o Debian 12 com OpenMediaVault em seu UNVR/UNVR Pro! O login padrão para OpenMediaVault é admin:openmediavault
. As informações de login SSH são debian:debian
. Observe que a primeira inicialização pode demorar um pouco enquanto o cloud-init é executado para concluir a configuração.
Para restaurar o firmware UNVR/UNVR Pro de fábrica, você pode executar as seguintes etapas:
Segure o botão "reset" na frente enquanto liga para inicializar na recuperação
Quando o dispositivo estiver no modo de recuperação, faça telnet para o endereço IP do dispositivo (o UNVR Pro exibirá isso na tela de toque). No prompt de login, faça login com ubnt:ubnt
ou root:ubnt
.
Apague o ambiente uboot para remover nossos comandos de inicialização personalizados. DEVE ser mtd1/mtd2, mas VERIFIQUE primeiro com cat /proc/mtd
para evitar bloquear seu dispositivo! NÃO PULE ESTA ETAPA! A saída deve corresponder abaixo, caso contrário, NÃO CONTINUE!
$ 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"
Depois que os ambientes do uboot forem identificados, apague-os para remover as substituições de configuração que adicionamos durante a instalação:
dd if=/dev/zero of=/dev/mtd1
dd if=/dev/zero of=/dev/mtd2
Em seguida, apague o EMMC para que todas as partições sejam apagadas:
Observe que se você tiver um UNVR mais antigo com unidade USB interna, você precisará substituir /dev/boot
pelo caminho da sua unidade USB!
/sbin/parted -s -- /dev/boot mklabel gpt
Agora você pode usar o Unifi Recovery WebUI para carregar o arquivo de firmware e restaurar seu dispositivo.