MikroTik RouterBOARD 493G - Install / Upgrade from OpenWRT

Hello,

Has anyone installed LEDE onto a MikroTik RouterBOARD 493G?

I have one and I'm currently running OpenWrt Chaos Calmer 15.05.1 on it, so was hoping I could edit /sbin/wget2nand with URLs pointing to files available here: https://downloads.lede-project.org/releases/17.01.1/targets/ar71xx/mikrotik/ and let it run an automated install.

Thanks

@chill here they followed a sysupgrade method - Installing LEDE on Mikrotik RB962UiGS-5HacT2HnT

Edit: I never posted back, but the sysupgrade method does work for a 493G using LEDE 17.01.4.

Steps taken:

  1. Boot router via TFTP using lede-17.01.4-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf as image.

This is required as the OpenWRT sysupgrade is not capable of operating on this device, so we need a modern LEDE one on hand...

I personally used dnsmasq on a local PC and plugged the router WAN to the PC Ethernet port to boot, plus used a null-modem serial cable to tell the 493G bootloader to boot from network.

pc$ ip address add 192.168.1.10/24 dev enp2s0
pc$ dnsmasq -i enp2s0 --dhcp-range=192.168.1.100,192.168.1.200 \
    --dhcp-boot="lede-17.01.4-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf" \
    --enable-tftp --tftp-root="/tmp/" -d -u $USER -p0 -K --log-dhcp --bootp-dynamic

pc$ screen /dev/ttyUSB0 115200
(then pick "o" for boot option, and "1" for from ethernet)

This should get you a local BusyBox shell with LEDE 17.01.4 booted in memory. You can kill dnsmasq now.

(set a password as this allows remote login later)
router$ passwd

Done!

  1. Flash with sysupgrade using lede-17.01.4-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin as image.

Plug PC into the LAN port on the router now, and get an IP from the newly booted router via DHCP.

pc$ dhclient -r enp2s0
pc$ scp lede-17.01.4-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin root@192.168.1.1:/tmp

Back in the router session, trigger the upgrade.

router$ sysupgrade -n /tmp/lede-17.01.4-ar71xx-mikrotik-nand-large-squashfs-sysupgrade.bin

That's it!

Hopefully this can be of use to other people in future.

1 Like

Also of note, unlike the OpenWRT install (which simply un-tars a filesystem snapshot into mtd6 "rootfs" as jffs2 on /) this sysupgrade gives one the standard flash layout (with a read-only squashfs on /rom and an overlay ubifs on /overlay).

This is a much more satisfactory installation IMO. :grinning:

# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 0000b000 00008000 "routerboot"
mtd1: 00001000 00008000 "hard_config"
mtd2: 00002000 00008000 "bios"
mtd3: 00001000 00001000 "soft_config"
mtd4: 00040000 00020000 "booter"
mtd5: 003c0000 00020000 "kernel"
mtd6: 07c00000 00020000 "ubi"

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.5M      2.5M         0 100% /rom
tmpfs                   124.6M    748.0K    123.9M   1% /tmp
/dev/ubi0_2             103.0M      1.4M     96.9M   1% /overlay
overlayfs:/overlay      103.0M      1.4M     96.9M   1% /
tmpfs                   512.0K         0    512.0K   0% /dev

Note that mtd6 "ubi" is split at boot time into two, rootfs (read-only) and rootfs_data (read-write), like most NOR flash based LEDE installs operate.

[    7.411508] block ubiblock0_1: created from ubi0:1(rootfs)
[    7.416999] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    7.438662] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
...
[   14.367368] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 396
[   14.702014] UBIFS (ubi0:2): recovery needed
[   15.335767] UBIFS (ubi0:2): recovery completed
[   15.340350] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2, name "rootfs_data"
[   15.348176] UBIFS (ubi0:2): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[   15.358079] UBIFS (ubi0:2): FS size: 117579776 bytes (112 MiB, 926 LEBs), journal size 5840896 bytes (5 MiB, 46 LEBs)
[   15.368671] UBIFS (ubi0:2): reserved for root: 4952683 bytes (4836 KiB)