Easy way to install OpenWRT on Mikrotik RB951 device using Ansible and Vagrant. Before you begin bootstrapping your Mikrotik RB 951 2HnD you will need.
The MicroSD slot needs the kmod-mmc
, kmod-mmc-over-gpio
, and kmod-mmc-spi
kernel module packages. The driver configuration is:. The SD card device will be called /dev/mmcblk0
, with the first partition called /dev/mmcblk0p1
. You will need to format the card from the command line before you can use it. For more information about setting up the card as a permanently-mounted filesystem, the USB storage instructions can be adapted, using /dev/mmcblk0*
as the device names.
Some users of the RB450G state that the MicroSD slot is not designed for regular push/pull operations and microSD cards are now fit there well, plus the microSD slot is on the opposite side of the board and is not accessible in many RB450G enclosures designed originally for older RB450 model (no access hole), so when using an old RB450 enclosure you need to fully disassemble the unit to fix / add / remove the microSD card.
Sep 15, 2017 - Saving your MikroTik RouterBoard software key. Kernel and root, so this bootloader is preserved even after OpenWrt is installed onto NAND. Permanently installing OpenWrt on the RouterBoard. As we have an accessible Linux system running now on the RouterBoard the available tools such as scp and mtd can be used to copy the needed files onto the NAND device and thus permanently install OpenWrt on the device.
List of microSD cards know to work on RB450G with original Microtik RouterOS. Note that since RouterOS uses a different kernel version and MMC driver, cards that don't work with RouterOS may work with OpenWRT, and vice versa.
The Mikrotik Routerboards are cheap and versatile embedded platforms that can be used for routers, WiFi APs and the like. In a rather wide range of products, I happen to have access to the RB411 and the RB750 two devices of very different properties. While the RB750 is effectively a 5 port 10/100 Mbit Ethernet switch with an Atheros AR71xx CPU on it, the RB411 has the same CPU with one Ethernet port and a Mini PCI slot as well as a serial port (and a beeper ;)). Because of their price (around 40 €), both are very interesting targets to do some experiments with them. Unfortunately, they come with Mikrotiks RouterOS which seems to be a modified Linux that officially cannot be modified. Interestingly, the RB do not ship with a GPL and as far as I have heard, Mikrotik does not publish the source code as required by the GPL. So, who wants RouterOS anyway? 😉
Although I do not have other Mikrotik products, I assume that the OpenWRT flash procedure is similar for products using RouterBOOT as bootloader and the Atheros AR71xx CPU. However, this guide comes without warranty, everything you do is at your full risk. Although I was unable to do so, there is a certain risk of permanently bricking your device.
The process of flashing the Routerboard has 5 major steps:
Compiling OpenWRT from the SVN is actually more straight forward than you might imagine. Take your favorite Linux Distribution (Ubuntu in my case), check our the SVN, configure it and hit make. There you go.
I have used revision 27019.
While you are of course free to select all the packages you need and deselect those you do not need, you have to set the following options to make it work in the Routerboards:
The result image is located in the bin/ar71xx directory and is called openwrt-ar71xx-nand-vmlinux-initramfs.elf.
This time, you have to change the Target Images to tar.gz as follows:
The target image consists of two files in the bin/ar71xx directory:
You may want to modify the IP range to match your subnet, the hardware ethernet MAC address of your router board, the next-server address of your tftp server and the filename of the ramdisk image that should be booted over the network.
You can see, that the tftp server will look for image files in /tftpboot. Either change this directory or copy the OpenWRT ramdisk image (openwrt-ar71xx-nand-vmlinux-initramfs.elf) to /tftpboot.
The purpose of this step is to have a ramdisk version of OpenWRT running on the routerboard. This is a good basis for our flashing process and can also be used to test images without flashing them. This involves the following steps:
You should see something like this:
Sit and wait until 192.168.1.1 starts replying to pings. Now you can log into the board using telnet (ssh login is not possible, since no password is set as of yet).
Now, erase the content of “kernel” and “rootfs”:
and set a password. On the linux PC, you can now copy the images onto the Routerboard: Sekirei season 3 sub indo.
Now the root filesystem:
After some while, you should be able to ping the board at 192.168.1.1.
Do not panic. If the board is not reachable at 192.168.1.1 after some minutes, something must have gone wrong. You can always recover the boards using Mikrotiks Netinstall. Also, you can start again at the point where the ramdisk image should have booted. Unfortunately, the RB750 does not have a serial port, debugging problems with the linux boot process is probably *very* annoying.
The flash process for the Routerboard 411 is almost similar to the process for the RB750 – only the flash layout is a bit different and hence the number of the target partitions have to be changed. Apart from that, you can use the exact same procedure. However, since the RB411 offers a serial port, debugging is much more convenient.
The purpose of this step is to have a ramdisk version of OpenWRT running on the routerboard. This is a good basis for our flashing process and can also be used to test images without flashing them. This involves the following steps:
Press any key and you will end up here:
Change the “boot device” (o) to “boot over Ethernet” (e). Reboot with x.
Now, erase the content of “kernel” and “rootfs”:
and set a password. On the linux PC, you can now copy the images onto the Routerboard:
Now the root filesystem:
Do not panic. Look onto the serial terminal to see, at which state the Routerboard is stuck. You can always recover the boards using Mikrotiks Netinstall.