/urnvr

Unlock the full potential of your UNVR

Primary LanguageMakefile

UrNVR

Unlock the full potential of your UNVR

⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️

This may brick your device and void your warranty. Any use of these tools and instructions is completely at your own risk!

Make sure that you have no important data on any of the hard drives attached to the UNVR. Depending on your setup it may not be accessible after the changes described here.

⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️

Compilation

Assuming you have a linux system with regular build tools, follow these steps (a cross compiler will be automatically built for you)

# clone the git directory and enter it
git clone --recurse-submodules https://github.com/UrNVR/urnvr
cd urnvr

# If you want to modify the buildroot configuration (skip otherwise)
make buildroot-menuconfig

# If you want to modify the kernel configuration (skip otherwise)
make kernel-menuconfig

# Compile everything
make

Installation

  • Make sure there are no harddrives installed in your UNVR.
  • If your UNVR has been used with Ubiquiti software, make sure that firmware version 2.3.14 is installed.
  • Find out the IP of your UNVR.
  • Connect via SSH (e.g. ssh root@un.vr.i.p). If you did not change the password, it should still be ubnt.
  • If your UNVR is fresh from the box, now is your time to make sure that firmware version 2.3.14 is installed (I don't remember the name of the necessary command at the moment).
  • Make full backups of /dev/mtd* and /dev/boot using dd via ssh (e.g. ssh root@un.vr.i.p dd if=/dev/boot | dd of=backup_boot, repeat for ´/dev/mtd1´, ´/dev/mtd2´, ´/dev/mtd3´, ...).
  • Compile using the instructions above.
  • Mount /dev/boot1 to a location of your choice (e.g. mkdir /tmp/boot; mount /dev/boot1 /tmp/boot).
  • Configure a copy of urnvr.example.conf per your needs (don't enable setup, yet) and use scp to place it in the boot directory (e.g. scp my-urnvr.conf root@un.vr.i.p:/tmp/boot/urnvr.conf).
  • If there is no uImage.bkp where you mounted /dev/boot1, copy the original uImage over (e.g. ssh root@un.vr.i.p cp /tmp/boot/uImage /tmp/boot/uImage.bkp).
  • You can place your own interfaces.d directory inside the mountpoint of /dev/boot1, the defaults can be found in src/urnvr-init/overlay/config/interfaces.d.
  • Copy uImage onto /dev/boot1 (e.g. scp uImage root@un.vr.i.p:/tmp/boot).
  • Restart your UNVR and wait for it to show up in your network.
  • You should now be able to connect via SSH with password urnvr. If not, stop here and create an issue to get help unbricking your machine (this is especially important for users of the newer version!).
  • Either enable setup in the config file on your PC and copy it over or use sed to enable it on the machine (the drive should automatically be mounted at /boot).
  • Make sure the selected interface is connected to a network that has a DHCP server and internet access. (You won't need to ssh into it at the moment)
  • Reboot the UNVR and give it some time to download the rootfs.
  • If your computer and UNVR are on the same network (and you used the default settings), you know that it is done when the machine is available via SSH.