Installing OpenWRT on Mikrotik Hex RB750GR3 in May 2024

Very pleased to report that I got this to work, after much experimentation. I am writing to share the recipe. My version of RouterOS on the Hex before I started was v6.46.11; you may see warnings that this version won't work and you need to downgrade. I did not downgrade and I had success. I think what no longer works is the "DHCP" route to booting an image; the "BOOTP" approach still works.

As my computer is a Mac, I did not want to use it as the tftp boot machine, so I followed the instructions to use an old, extra openwrt router (an Archer c7) as the boot source. To do so, I basically used the instructions found here. Note that OpenWrt includes dnsmasq, and dnsmasq supports both tftp and bootp, so while the instructions are clearest for a windows-based computer running TinyPXE, OpenWrt has everything it needs to serve up an image to the Mikrotik Hex.

I'll call the old openwrt Archer C7 "a-router"
I'll call the new Mikrotik Hex "m-router"

Summary:

  1. Review this information on the openwrt page about the device:
    Warning: use openwrt-23.05.0-rc3 for the first step of the TFTP installation, as the other RCs and the final 23.05.0 version cannot be netbooted due to too high entry point addresses.

!!! I suggest downloading this exact version. Other versions did not work !!!

  1. Also download a current sysupgrade version, which can be a different version. Initially you will download both these images to your computer.

  2. Disconnect your computer from your LAN. Connect only the a-router to your computer, and give the a-router the address 192.168.1.10 (because that is where the device will look). Also, make sure your computer is on the same subnet, e.g. your computer might be 192.168.1.2 (it will be easier later if you don't make it 192.168.1.1)

Then:
a. on a-router, using Luci, go the the DHCP page and turn on tftp.
b. after you turn on tftp, set the server root to /root/tftp
c. set the network boot image to vmlinux
d. also on the DHCP add a static lease to the MAC address found on the m-router's label on its case. There are two MAC address; use the one for E01. In Luci, I called the host "routerboard" and gave it the static address 192.168.1.240
e. save and apply

  1. Move the openwrt "factory" image to a-router
    a. On my computer, I renamed the factory image (from step 1) to "vmlinux"
    b. using SFTP, I moved vmlinux to /root/tftp on the a-router.
    c. The a-rotuer is now ready to go, but if you want to test it, use tftp on your computer to connect to it (tftp 192.168.1.10) and try "get vmlinux" -- you should get the file back from the a-router to your computer.

  2. Plug the m-router WAN port into the a-router LAN port of the boot device, then:
    a. power up the m-router
    b. when its running, from your computer go to 192.168.1.240 and you will be in the RouterOS
    c. follow instructions to grab and store your license key.
    d. click the word "System" in the left column of RouterOS, then click "Routerboard." Then:

  • At the “boot device” line : Select “try ethernet-if-fail-nand”.
  • At the “Boot Protocol” line : keep “BOOTP”.
  • Tick the “Force Backup Booter” box.
  • Click “Apply”.
  • Click “Shutdown” in the left column (where System is)
  • Unplug power from the m-router
  1. Now you are about ready to upload openwrt to the m-router. Check the cable is from the m-router wan port to the a-router lan port. Then reconnect power to m-router. In the a-router system log, you should be able to see log entries like this:

daemon.info dnsmasq-dhcp[8619]: BOOTP(br-lan) 192.168.1.240 d4:XX:XX:XX:XX:XX
daemon.info dnsmasq-tftp[8619]: sent /root/tftp/vmlinux to 192.168.1.240

  1. Now wait a few minutes. Move the cable from the m-router WAN to one of the m-router LAN ports. Eventually, you can find luci at 192.168.1.1

  2. Now as you would in doing a normal openwrt upgrade, upload the sysupgrade version to the m-router thru its Luci interface. When this process completes, you are done! The m-router will re-boot and you can configure it via its luci page at 192.168.1.1

I am not an expert -- I got through by lots of experimenting -- so likely will not be able to answer many questions. I was just happy to get this to work.

jeremy

2 Likes