Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:mikrotik:common [2022/09/25 15:27] – Update tldr: saving the license is optional; downgrade to v6 kirelagintoh:mikrotik:common [2023/09/25 21:57] – [Common Procedures for MikroTik RouterBoard Products] 532910
Line 4: Line 4:
  
 <WRAP alert> <WRAP alert>
-OpenWrt is not compatible with the bootloader of RouterOS **v7**. Do NOT upgrade your device to RouterOS v7 or, if you did, downgrade to RouterOS **v6** before installing OpenWrt.+OpenWrt is not compatible with the bootloader of RouterOS **v7** or **v6.46** or above. Do NOT upgrade the firmware on your device past RouterOS **v6.45.8** or, if you did, downgrade to RouterOS Firmware **v6.45.8** or earlier before installing OpenWrt. 
 + 
 +This isn't fully true, while the first part looks correct: v7 RouterBoot doesn't work with OpenWrt, the second is not: my SXTsq 5 ac has v6.47.10 factory firmware, RouterOS doesn't allow to downgrade main firmware below factory, but openwrt boots and works fine with it! 
 </WRAP> </WRAP>
  
Line 27: Line 29:
  
 ===== First Things First: Don't Lose Your RouterOS License ===== ===== First Things First: Don't Lose Your RouterOS License =====
 +
 +//Note: this step seems to be optional, at least for routers, since their license is tied directly to the hardware. Still, do this just in case.//
 +
 Before you start installing OpenWrt, save your RouterOS License .key file.  This will allow you to use Mikrotik's NetInstall to re-install RouterOS.\\    Before you start installing OpenWrt, save your RouterOS License .key file.  This will allow you to use Mikrotik's NetInstall to re-install RouterOS.\\   
  
Line 32: Line 37:
   * [[#Saving MikroTik RouterBoard License Key Without Using WinBox|Procedure for Linux and other unix-like OS]]    * [[#Saving MikroTik RouterBoard License Key Without Using WinBox|Procedure for Linux and other unix-like OS]] 
   * [[#saving_mikrotik_routerboard_license_key_using_winbox_and_windows|Procedure for Windows with winbox]]   * [[#saving_mikrotik_routerboard_license_key_using_winbox_and_windows|Procedure for Windows with winbox]]
 +
 +
 +===== Make sure the bootloader is compatible  =====
 +
 +The bootloader from RouterOS **v7** is not compatible with OpenWrt. If you have it, you will be able to netboot your device and flash OpenWrt, but after it reboots it will go straight to netboot again.
 +If this happens to you, [[https://wiki.mikrotik.com/wiki/Manual:Netinstall|restore RouterOS using Netinstall]], downgrade to RouterOS **v6**, and install OpenWrt again.
 +
 +To check the version of your bootloader from RouterOS, go to System → Routerboard in the web interface or run ''/system routerboard print'' and look for “current firmware”. If the version is below 7, you are all set. If it is 7.*, [[#Downgrading_RouterOS|downgrade RouterOS to v6]] before proceeding.
 +
 +If you have already booted an OpenWrt initramfs, to see the bootloader version run ''cat /sys/firmware/mikrotik/hard_config/booter_version''.
 +
 ===== Selecting an OpenWrt version  ===== ===== Selecting an OpenWrt version  =====
  
Line 41: Line 57:
  
 ===== To Test-Drive OpenWrt, Netboot the initramfs File  ===== ===== To Test-Drive OpenWrt, Netboot the initramfs File  =====
 +
 Since an initramfs image is just a temporary image (only loaded into RAM), it is safe to test a particular version of OpenWrt by netbooting (using DHCP/BOOTP/TFTP) and downloading the initramfs image.\\    Since an initramfs image is just a temporary image (only loaded into RAM), it is safe to test a particular version of OpenWrt by netbooting (using DHCP/BOOTP/TFTP) and downloading the initramfs image.\\   
 When you power down your RouterBoard after loading an initramfs file, OpenWrt will simply vanish: a power down and reboot of the RouterBoard will revert to the prior version of firmware that is still in flash of the RouterBoard.   When you power down your RouterBoard after loading an initramfs file, OpenWrt will simply vanish: a power down and reboot of the RouterBoard will revert to the prior version of firmware that is still in flash of the RouterBoard.  
Line 46: Line 63:
 If the RAM-based initramfs version you have selected works for you, feel free to try other versions of OpenWrt, such as Latest release or snapshot.\\  If the RAM-based initramfs version you have selected works for you, feel free to try other versions of OpenWrt, such as Latest release or snapshot.\\ 
 Once you are happy with the RAM-based operation of OpenWrt, proceed to the step of [[#Flash OpenWrt|flashing OpenWrt]] in order to permanently write OpenWrt into your RouterBoard. Once you are happy with the RAM-based operation of OpenWrt, proceed to the step of [[#Flash OpenWrt|flashing OpenWrt]] in order to permanently write OpenWrt into your RouterBoard.
 +
 +Note: MikroTik's bootloader ([[:docs:techref:bootloader:routerboot]]) may have a size limitation for TFTP images, approximately 7MiB.  If it refuses to accept an initramfs image above that size (it will proceed to boot whatever was already installed in the device), that could be the reason.
  
 ===== Downloading OpenWrt images for Mikrotik RouterBoards ===== ===== Downloading OpenWrt images for Mikrotik RouterBoards =====
  
 The latest OpenWrt images can be downloaded from [[https://downloads.openwrt.org/]]\\  The latest OpenWrt images can be downloaded from [[https://downloads.openwrt.org/]]\\ 
-Most OpenWrt supported RouterBoards are Atheros-based hardware: in that case, after selecting a release, go to the targets/ar71xx/mikrotik folder to see a list of all files available for that release.\\   
-For example, to download the 19.07.9 OpenWrt images for the (Atheros-based) RB450G, download from [[https://downloads.openwrt.org/releases/19.07.9/targets/ar71xx/mikrotik/]] 
-  
- 
-After the commit of [[https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=9db9072d6767e5910e01b8962171c89359ab7a14|Introduce sysupgrade + 64MB/Large NAND sysupgrade images]], there is no longer a tar.gz image, but instead there are multiple sysupgrade .bin images, only one of which will be used for any particular RouterBoard model.\\  
-This page has been updated to reflect this simplifying change used in OpenWrt Version 18 for the Mikrotik RouterBoards. 
- 
 There will be just two images needed to install OpenWrt for any particular Mikrotik RouterBoard hardware platform: There will be just two images needed to install OpenWrt for any particular Mikrotik RouterBoard hardware platform:
   - The specific initramfs image to be downloaded into RAM during an initial netboot of the RouterBoard.   - The specific initramfs image to be downloaded into RAM during an initial netboot of the RouterBoard.
-  - The specific sysupgrade .bin image to be flashed into the Mikrotik router using the LuCI web interface.  The correct sysupgrade .bin file must be selected for the: +  - The specific sysupgrade .bin image to be flashed into the Mikrotik router using the LuCI web interface or with the sysupgrade command.
-    * Type of WiFi (AC vs. non-AC) installed on the RouterBoard. The 802.11 a/b/g/n WiFi products are 'non-AC': only the 802.11 AC WiFi products are type 'AC'+
-    * Size and type (NAND vs. NOR) of flash on the RouterBoard +
  
 <WRAP leftalign round info 60%> <WRAP leftalign round info 60%>
Line 70: Line 80:
 </WRAP> </WRAP>
    
-The following table explains the general convention of initramfs and sysupgrade file names, but does have exceptions. For example, for the nand-large images, it is quite model-specific whether you use the initramfs.elf or initramfs-lzma.elf image.\\  
-The above [[toh:views:toh_fwdownload?datasrt=model&dataflt%5BBrand%2A~%5D=mikrotik|link Table of Hardware - Firmware Downloads]], or the wiki for your specific RouterBoard, are the most accurate resources for the correct file names. 
- 
-^   Flash Size            sysupgrade .bin File Naming Convention                       ^^^  File Names to Download from OpenWrt.org (Please Verify [[toh:views:toh_fwdownload?datasrt=model&dataflt%5BBrand%2A~%5D=mikrotik|At This Link]])  ^^   RouterBoard Type                 ^ 
-^     :::                ^  Image Name Prefix=>  ^  AC Wifi?=>  ^  Image Name Suffix=>     ^ sysupgrade .bin File Name                    initramfs File Name     :::                                                                ^ 
-| 16 MB NOR              | rb-nor-flash-16M      |  -ac-        | squashfs-sysupgrade.bin  | rb-nor-flash-16M-ac-squashfs-sysupgrade.bin | rb-nor-flash-16M-ac-initramfs-kernel.bin                               | RouterBoard with 16 MB NOR (includes AC WiFi)                    | 
-| :::                    | :::                    -           | :::                      | rb-nor-flash-16M-squashfs-sysupgrade.bin    | rb-nor-flash-16M-initramfs-kernel.bin                                  | RouterBoard with 16 MB NOR (includes a/b/g/n WiFi)               | 
-| 64 MB NAND             | nand-64m              |  -           | :::                      | nand-64m-squashfs-sysupgrade.bin            | vmlinux-initramfs.elf                                                  | RouterBoard with 64 MB NAND (includes a/b/g/n WiFi)              | 
-|128 MB NAND (or larger) | nand-large            |  -ac-        | :::                      | nand-large-ac-squashfs-sysupgrade.bin       | vmlinux-initramfs.elf                                                  | RouterBoard with 128 MB NAND (or larger) (includes AC WiFi)      | 
-|:::                     | :::                    -           | :::                      | nand-large-squashfs-sysupgrade.bin          | vmlinux-initramfs.elf or vmlinux-initramfs-lzma.elf (model-dependent)  | RouterBoard with 128 MB NAND (or larger) (includes a/b/g/n WiFi) | 
- 
-Refer to the OpenWrt [[toh:views:toh_available_16128|Table Of Hardware-Ideal]] to determine the type and size of flash for your particular RouterBoard.  The type of WiFi may depend on optional WiFi cards you may have installed in your RouterBoard. 
- 
-<WRAP leftalign round important 60%> 
-If you add packages to your installed version of OpenWrt (via opkg or LuCI), be careful to use the packages that are compiled specifically for the version of sysupgrade .bin you have running on your RouterBoard. 
-For example, if you decide to run nightly snapshots, be aware you'll want to also install and run the packages from that specific snapshot - each time you update the snapshot, you'll want to update both the sysupgrade .bin AND the packages you are using. 
-</WRAP> 
- 
-<WRAP leftalign round important 60%> 
-If you are using a snapshot (e.g. for the RB750Gr3), there is no LuCI contained. The flashing can still be done using SSH as outlined in [[docs:guide-user:installation:sysupgrade.cli|Upgrading OpenWrt firmware via CLI]]. 
-</WRAP> 
 ===== Netboot of OpenWrt Uses DHCP/BOOTP/TFTP ===== ===== Netboot of OpenWrt Uses DHCP/BOOTP/TFTP =====
  
Line 115: Line 104:
 === On Linux or other unix-like OS === === On Linux or other unix-like OS ===
  
-== with dnsmasq ==+=== with dnsmasq ===
  
   * Create the following script using a text editor such as vi: vi ~/tftp/loader.sh   * Create the following script using a text editor such as vi: vi ~/tftp/loader.sh
Line 147: Line 136:
   # ./loader.sh   # ./loader.sh
  
-== with a generic DHCP/BOOTP/TFTP server ==+=== with a generic DHCP/BOOTP/TFTP server ==
 Copy openwrt-19.07-*-initramfs-* file to your TFTP server location. Set up your BOOTP server to point to your [[:docs:guide-user:troubleshooting:tftpserver#setting_up_tftp_server|TFTP server]] as the next-server and to that file as the bootfile. Copy openwrt-19.07-*-initramfs-* file to your TFTP server location. Set up your BOOTP server to point to your [[:docs:guide-user:troubleshooting:tftpserver#setting_up_tftp_server|TFTP server]] as the next-server and to that file as the bootfile.
  
Line 166: Line 156:
 Connect the ethernet 1 port of your routerboard (typically the WAN port) to a network configured to reach the DHCP/BOOTP/TFTP server that you have set up. Connect the ethernet 1 port of your routerboard (typically the WAN port) to a network configured to reach the DHCP/BOOTP/TFTP server that you have set up.
  
-The RouterBoard default boot protocol is BOOTP.  You can change the RouterBoot boot protocol from BOOTP to DHCP by using the COM portRouterOS, or rbcfg from OpenWrt as documented in this list of netboot methods.  //Warning. Not all RouterBoard devices can boot OpenWRT via DHCP.//+The RouterBoard default boot protocol is BOOTP.  You can change the RouterBoot boot protocol from BOOTP to DHCP by using the COM port or RouterOS, as documented in this list of netboot methods.  //Warning. Not all RouterBoard devices can boot OpenWRT via DHCP.//
  
 The instructions in this wiki tend to assume you have changed the netboot protocol to DHCP since DHCP netboot is supported by all DHCP servers.\\  The instructions in this wiki tend to assume you have changed the netboot protocol to DHCP since DHCP netboot is supported by all DHCP servers.\\ 
Line 179: Line 169:
 Most RouterBoard models generate a short beep when an image begins to netboot or load from flash (unless the RouterBoard has been put in 'silent mode' from the RouterBoot menu). So if you are running without a connection to the serial console COM port to view boot activity from a terminal window, you can use the beep to know when RouterBoot has successfully started to load an image (either a netboot image or the existing flash image). Most RouterBoard models generate a short beep when an image begins to netboot or load from flash (unless the RouterBoard has been put in 'silent mode' from the RouterBoot menu). So if you are running without a connection to the serial console COM port to view boot activity from a terminal window, you can use the beep to know when RouterBoot has successfully started to load an image (either a netboot image or the existing flash image).
  
-If you are using Tiny PXE as your netboot PXE DHCP/BOOTP/TFTP server, you can watch its information/log window to see exactly when Tiny PXE begins uploading the initramfs file to the RouterBoard (TFTPd:DoReadFile shows up in the information/log window): this will be the same time the RouterBoard beeps.+If you are using dnsmasq or Tiny PXE as your netboot PXE DHCP/BOOTP/TFTP server, you can watch its information/log window to see exactly when the DHCP/BOOTP/TFTP server begins uploading the initramfs file to the RouterBoard (TFTPd:DoReadFile shows up in the information/log window): this will be the same time the RouterBoard beeps.
  
 To enable a netboot using the Reset button: To enable a netboot using the Reset button:
Line 187: Line 177:
   - Plug the power jack back in   - Plug the power jack back in
   - Observe activity LED(s). The LED behavior varies across models, but can be a good indicator about the boot process.  See the Mikrotik wiki https://wiki.mikrotik.com/wiki/Manual:RouterBOOT for details.   - Observe activity LED(s). The LED behavior varies across models, but can be a good indicator about the boot process.  See the Mikrotik wiki https://wiki.mikrotik.com/wiki/Manual:RouterBOOT for details.
-  - Release the reset button after you hear the beep (maximum 15 - 20 seconds).+  - Release the reset button after you hear the beep (maximum 15 - 20 seconds) or see the upload in the DHCP/BOOTP/TFTP server logs.
  
 === Method 2 - Use the RouterBoard serial COM port to enable TFTP netboot === === Method 2 - Use the RouterBoard serial COM port to enable TFTP netboot ===
Line 217: Line 207:
   Save   Save
    
-Shutdown RouterBoard and next turn power off and on (don't reboot because on some devices "System --> Reboot" does not perform a correct TFTP boot; you must use instead "System --> Shutdown" and unplug/replug the router). This will boot OpenWrt from TFTP once. The boot protocol setting will stay persistent across reboots, but the next reboot will be again from NAND (the bootloader resets this parameter after booting from TFTP once). Once you have installed OpenWrt, RouterOS will have been deleted, so you will need to use one of the following other methods listed here to netboot from TFTP+Shutdown RouterBoard and next turn power off and on (don't reboot because on some devices "System --> Reboot" does not perform a correct TFTP boot; you must use instead "System --> Shutdown" and unplug/replug the router). This will boot OpenWrt from TFTP once. The boot protocol setting will stay persistent across reboots, but the next reboot will be again from NAND (the bootloader resets this parameter after booting from TFTP once). Once you have installed OpenWrt, RouterOS will have been deleted, so you will need to use one of the previous methods to netboot from TFTP.
- +
-=== Method 4 - Using a running OpenWrt to enable TFTP netboot === +
- +
-The OpenWrt rbcfg utility permits to configure parameters of the routerboard bootloader. Note that this program may not work on all routerboards. +
- +
-  opkg update +
-  opkg install rbcfg +
-   +
-  rbcfg set boot_device ethnand +
-  rbcfg set boot_protocol dhcp +
-  rbcfg apply +
-   +
-Reboot.+
      
  
Line 254: Line 231:
 Congratulations: you have now successfully flashed OpenWrt into your RouterBoard! Congratulations: you have now successfully flashed OpenWrt into your RouterBoard!
  
-==== Manually Flashing OpenWrt ==== 
  
-These instructions are deprecated since wget2nand is no longer used, but left here for reference. Note "rootfs" has become "ubi" in the current OpenWrt release. 
- 
-If wget2nand encounters problems, perform its steps manually from shell. 
-   
-  cat /proc/mtd 
-  dev:    size   erasesize  name 
-  mtd0: 00040000 00020000 "booter" 
-  mtd1: 003c0000 00020000 "kernel" 
-  mtd2: 07c00000 00020000 "rootfs" 
- 
-The following instructions assume that as shown above, kernel is /dev/mtd1 and rootfs /dev/mtd2. If these numbers are different on your model, appropriately change the following commands. 
- 
-  mtd erase /dev/mtd1 
-  mtd erase /dev/mtd2 
-  mkdir /mnt/kernel 
-  mkdir /mnt/rootfs 
-  mount /dev/mtdblock1 /mnt/kernel 
-  mount /dev/mtdblock2 /mnt/rootfs 
- 
-Copy kernel & rootfs to routerboard: 
- 
-  scp bin/ar71xx/openwrt-ar71xx-mikrotik-vmlinux-lzma.elf root@192.168.1.1:/tmp 
-  scp bin/ar71xx/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz root@192.168.1.1:/tmp 
- 
-Flash kernel & rootfs 
- 
-  mv /tmp/openwrt-ar71xx-nand-vmlinux-lzma.elf /mnt/kernel/kernel 
-  chmod +x /mnt/kernel/kernel 
-  umount /mnt/kernel 
-  cd /mnt/rootfs 
-  tar -xvzf /tmp/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz 
-  cd / 
-  umount /mnt/rootfs 
-  sync 
- 
-Reboot 
  
 ===== When flashing doesn´t work ===== ===== When flashing doesn´t work =====
Line 339: Line 279:
  
 [[docs:guide-quick-start:walkthrough_login]] [[docs:guide-quick-start:walkthrough_login]]
 +
 +
 +
  
  
 ===== Step-By-Step OpenWrt Installation Processes on Routerboard ===== ===== Step-By-Step OpenWrt Installation Processes on Routerboard =====
 ==== With a Linux and other unix-like OS ==== ==== With a Linux and other unix-like OS ====
-  * [[#saving_mikrotik_routerboard_license_key_without_using_winbox|Save the license key.]]+  * Plug an ethernet cable between the router port 2 and your computer. 
 +  * [[#saving_mikrotik_routerboard_license_key_without_using_winbox|Save the license key.]] (optional)
   * [[#downloading_openwrt_images_for_mikrotik_routerboards|Download OpenWrt images]] (initramfs and sysupgrade)   * [[#downloading_openwrt_images_for_mikrotik_routerboards|Download OpenWrt images]] (initramfs and sysupgrade)
   * Connect to web interface http://192.168.88.1   * Connect to web interface http://192.168.88.1
-  * Go to "System"-"Routerboard" then "Settings". \\ At the "boot device" line : Select "try ethernet-if fail-nand". \\ At the "Boot Protocol" line : Select "DHCP". \\ Tick the  "Force Backup Booter" box. \\ Click "Apply".+  * Go to "System"-"Routerboard" then "Settings". \\ 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".
   * Go to "System"-"Shutdown" \\ Click "Shutdown"    * Go to "System"-"Shutdown" \\ Click "Shutdown" 
   * Unplug power.   * Unplug power.
   * Create the following script using a text editor such as vi: vi ~/tftp/loader.sh   * Create the following script using a text editor such as vi: vi ~/tftp/loader.sh
  
-Note: Don't forget to change USER, IFNAME, IP/DHCP IP-range and file name/folder path for your needs and replace openwrt-19.07-*-initramfs-* with the appropriate filename. +Note: Don't forget to change USER, IFNAME, IP/DHCP IP-range and file name/folder path for your needs and replace openwrt-22.03-*-initramfs-* with the appropriate filename. 
  
   #!/bin/bash   #!/bin/bash
Line 371: Line 315:
   --tftp-root=$(pwd)   --tftp-root=$(pwd)
  
-  * Copy openwrt-19.07-*-initramfs-* file to the folder where the script is located.+  * Copy openwrt-22.03-*-initramfs-* file to the folder where the script is located.
   * Make the script executable    * Make the script executable 
  
Line 392: Line 336:
   * Congratulations, you installed OpenWrt on your MikroTik RouterBoard.   * Congratulations, you installed OpenWrt on your MikroTik RouterBoard.
  
-==== using SSH instead on LuCI ====+==== using SSH instead of LuCI ====
  
   - Pre-requisites. First, save the license key. Second, set-up the DHCP and TFTP services/daemons on server/router/PC to netboot with openwrt-*mikrotik*-initramfs-kernel.bin.   - Pre-requisites. First, save the license key. Second, set-up the DHCP and TFTP services/daemons on server/router/PC to netboot with openwrt-*mikrotik*-initramfs-kernel.bin.
   - Connect to web interface http://192.168.88.1   - Connect to web interface http://192.168.88.1
-  - Go to "System"-"Routerboard". \\ Select "Boot ethernet-if fail-nand". \\ Select “DHCP” (if needed). \\ Turn on "Force Backup Booter". \\ Click "Apply".+  - Go to "System"-"Routerboard". \\ Select "Boot ethernet-if fail-nand". \\ In "Boot Protocol", keep BOOTP (except if your DHCP/BOOTP/TFTP server doesn't support BOOTP __and__ if yourRouteurBoard is able to boot OpenWRT from DHCP, then select “DHCP”). \\ Turn on "Force Backup Booter". \\ Click "Apply".
   - Go to "System"-"Shutdown" \\ Click "Shutdown" \\ Wait for LEDs off   - Go to "System"-"Shutdown" \\ Click "Shutdown" \\ Wait for LEDs off
-  - Unplug power, plug ethernet cable from DHCP/TFTP server to "WAN" port, plug power cord back in. \\ Wait for beep.+  - Unplug power, plug ethernet cable from DHCP/TFTP server to "WAN" port, plug power cord back in. \\ Wait for beep (if available on your RouterBoard).
   - Connect ethernet cable from your PC with turned on DHCP client to port "2", "3" or "4".   - Connect ethernet cable from your PC with turned on DHCP client to port "2", "3" or "4".
   - Establish SSH connection to root@192.168.1.1 \\ You should see OpenWrt banner. Check correct functioning of OpenWrt. \\ If you see no OpenWrt, then OpenWrt didn't boot on the router, so please check DHCP, TFTP — if these are correctly configured, then the test failed and this version of OpenWrt doesn't work on this router.   - Establish SSH connection to root@192.168.1.1 \\ You should see OpenWrt banner. Check correct functioning of OpenWrt. \\ If you see no OpenWrt, then OpenWrt didn't boot on the router, so please check DHCP, TFTP — if these are correctly configured, then the test failed and this version of OpenWrt doesn't work on this router.
Line 410: Line 354:
   - You first netboot an initramfs image of OpenWrt from your DHCP/BOOTP/TFTP server into the RAM of the RouterBoard.  This is done from the ether1 port (typically the WAN port) of the RouterBoard.   - You first netboot an initramfs image of OpenWrt from your DHCP/BOOTP/TFTP server into the RAM of the RouterBoard.  This is done from the ether1 port (typically the WAN port) of the RouterBoard.
   - From that RAM-based running OpenWrt you use the web-based LuCI interface to permanently flash the appropriate sysupgrade .bin file (see above) using LuCI 'Flash image' This is done from a LAN port (typically ether2 or higher) at IP address 192.168.1.1 of the RouterBoard.   - From that RAM-based running OpenWrt you use the web-based LuCI interface to permanently flash the appropriate sysupgrade .bin file (see above) using LuCI 'Flash image' This is done from a LAN port (typically ether2 or higher) at IP address 192.168.1.1 of the RouterBoard.
- 
-Note the wget2nand utility has been deprecated in this latest release of OpenWrt since the UBI changes to the code now allow direct flashing of the NAND or NOR from the LuCI web interface. 
  
 The detailed 8 steps process below is updated to reflect the new 'UBI' style firmware images of version 18 OpenWrt that now make it very easy to flash the RouterBoard directly from the LuCI web interface.  Many of the board-specific wiki's here in OpenWrt have yet to be updated to reflect this new, simpler process.  Use this description of the Step-By-Step Installation Process to get an idea how relatively simple it is to install and upgrade OpenWrt - and feel free to give it a try since the initramfs version of OpenWrt is just a RAM image that will not affect your RouterOS if you decide NOT to flash the permanent sysupgrade.bin file into your RouterBoard.  If you do flash OpenWrt into your RouterBoard, you can revert back to RouterOS at a later time using [[https://wiki.mikrotik.com/wiki/Manual:Netinstall|Mikrotik's NetInstall utility]] - as long as you saved your RouterOS license file (export your .key license file) before you permanently install (flash) OpenWrt. (For non-windows users, [[https://help.mikrotik.com/docs/display/ROS/Upgrading+and+installation#heading-Netinstall|MikroTik claims that it runs on Linux with Wine (superuser permissions are required)]]. The detailed 8 steps process below is updated to reflect the new 'UBI' style firmware images of version 18 OpenWrt that now make it very easy to flash the RouterBoard directly from the LuCI web interface.  Many of the board-specific wiki's here in OpenWrt have yet to be updated to reflect this new, simpler process.  Use this description of the Step-By-Step Installation Process to get an idea how relatively simple it is to install and upgrade OpenWrt - and feel free to give it a try since the initramfs version of OpenWrt is just a RAM image that will not affect your RouterOS if you decide NOT to flash the permanent sysupgrade.bin file into your RouterBoard.  If you do flash OpenWrt into your RouterBoard, you can revert back to RouterOS at a later time using [[https://wiki.mikrotik.com/wiki/Manual:Netinstall|Mikrotik's NetInstall utility]] - as long as you saved your RouterOS license file (export your .key license file) before you permanently install (flash) OpenWrt. (For non-windows users, [[https://help.mikrotik.com/docs/display/ROS/Upgrading+and+installation#heading-Netinstall|MikroTik claims that it runs on Linux with Wine (superuser permissions are required)]].
Line 424: Line 366:
   - **You Are Almost There: OpenWrt is Now Running From RAM**\\ Now you have OpenWrt running in RAM on your RouterBoard.  You can try it out by running the next two steps, then poke around and decide if you like it.  Since it is only in RAM, if you reboot the RouterBoard without performing the flash (the final step here), this initramfs RAM-based version of OpenWrt will vanish.     - **You Are Almost There: OpenWrt is Now Running From RAM**\\ Now you have OpenWrt running in RAM on your RouterBoard.  You can try it out by running the next two steps, then poke around and decide if you like it.  Since it is only in RAM, if you reboot the RouterBoard without performing the flash (the final step here), this initramfs RAM-based version of OpenWrt will vanish.  
   - **Connect to RouterBoard ether2**\\ Unplug your Ethernet cable from ether1 and plug in to a LAN port on your RouterBoard such as ether2. Some RouterBoards do not enable all LAN ports, so you may need to experiment here.    - **Connect to RouterBoard ether2**\\ Unplug your Ethernet cable from ether1 and plug in to a LAN port on your RouterBoard such as ether2. Some RouterBoards do not enable all LAN ports, so you may need to experiment here. 
-  - **Login to OpenWrt LuCI Web Interface or via SSH**\\ Use a web browser to open the OpenWrt LuCI web interface at 192.168.1.1.  Login is admin, no password.  It may take a minute or more for OpenWrt to fully boot -- wait until the lights on the LAN port indicate activity. If you can't reach the LuCI web interface the initramfs image might be without LuCI. You need SSH in that case. Username is root and there is no password.+  - **Login to OpenWrt LuCI Web Interface or via SSH**\\ Use a web browser to open the OpenWrt LuCI web interface at 192.168.1.1.  Login is admin, no password.  It may take a minute or more for OpenWrt to fully boot -- wait until the lights on the LAN port indicate activity. If you can't reach the LuCI web interface the initramfs image might be without LuCI. [[:toh:mikrotik:common#using_ssh_instead_of_luci | You need SSH in that case.]] Username is root and there is no password.
   - **Flash sysupgrade.bin Into RouterBoard**\\ Go to System->Backup/Flash Firmware in LuCI.  Select 'Choose file' under 'Flash new firmware image' Select the sysupgrade.bin file you previously downloaded to your PC.  Press 'Flash image' to permanently install OpenWrt on your RouterBoard.\\ The flash process may take a minute or more to complete, then your RouterBoard will automatically reboot.\\ **Congratulations!** You now have OpenWrt running and flashed into your RouterBoard.  Subsequent upgrades of OpenWrt are as simple as running this step alone (a noted improvement from previous versions of OpenWrt). If you used SSH in the previous step you can flash the RouterBoard with the ''sysupgrade'' command.   - **Flash sysupgrade.bin Into RouterBoard**\\ Go to System->Backup/Flash Firmware in LuCI.  Select 'Choose file' under 'Flash new firmware image' Select the sysupgrade.bin file you previously downloaded to your PC.  Press 'Flash image' to permanently install OpenWrt on your RouterBoard.\\ The flash process may take a minute or more to complete, then your RouterBoard will automatically reboot.\\ **Congratulations!** You now have OpenWrt running and flashed into your RouterBoard.  Subsequent upgrades of OpenWrt are as simple as running this step alone (a noted improvement from previous versions of OpenWrt). If you used SSH in the previous step you can flash the RouterBoard with the ''sysupgrade'' command.
  
Line 504: Line 446:
  
 Warning: once you run "make", it will copy files from the 'target' directory over to 'build_dir' directory including downloading additional software/patches. If you modify/patch files in 'target' after a 'make', those changes will not propagate into 'build_dir'. To experiment with different patches, you either need to modify files in build_dir directly, or run 'make clean' before every make run. Warning: once you run "make", it will copy files from the 'target' directory over to 'build_dir' directory including downloading additional software/patches. If you modify/patch files in 'target' after a 'make', those changes will not propagate into 'build_dir'. To experiment with different patches, you either need to modify files in build_dir directly, or run 'make clean' before every make run.
 +
 +==== Routerboard configuration ====
 +
 +Routerboard bootloader settings are available in the Devicetree at ''/sys/firmware/mikrotik''.
 +
 +For example, to see the current silent-boot setting, you can run:
 +
 +  # cat /sys/firmware/mikrotik/soft_config/silent_boot 
 +  [off] on
 +
 +and to turn it on, run ''echo on > /sys/firmware/mikrotik/soft_config/silent_boot''.
  
 ==== Saving MikroTik RouterBoard License key using WinBox and Windows ==== ==== Saving MikroTik RouterBoard License key using WinBox and Windows ====
Line 563: Line 516:
  
 Be sure to use Mikrotik WinBox to export your license key before installing OpenWrt. Be sure to use Mikrotik WinBox to export your license key before installing OpenWrt.
 +
 +==== Downgrading RouterOS ====
 +
 +  - [[https://mikrotik.com/download|Download]] RouterOS v6 for the correct architecture (ARM for armv7 devices, ARM64 for armv8 devices, etc.).
 +  - Upload the .npk file using FTP, SCP, or at http://192.168.88.1/webfig/#Files.
 +  - Run the ''/system package downgrade'' command or press the “Downgrade” button at System → Packages in the web interface.
 +  - After the device reboots, it will have donwgraded the RouterOS itself, but not the bootloader yet. To downgrade the bootloader, confusingly, run the ''/system routerboard upgrade'' command or press the “Upgrade” button at System → Routerboard.
 +  - Reboot and then run ''/system routerboard print'' or go to System → Routerboard in the web interface to make sure that you have the “current version” that you expect.
 +
 +==== Manually Flashing OpenWrt with wget2nand (deprecated)====
 +
 +These instructions are deprecated since wget2nand is no longer used, but left here for reference. Note "rootfs" has become "ubi" (and allow direct flashing of the NAND or NOR from the LuCI web interface) in the current OpenWrt release.
 +
 +If wget2nand encounters problems, perform its steps manually from shell.
 +  
 +  cat /proc/mtd
 +  dev:    size   erasesize  name
 +  mtd0: 00040000 00020000 "booter"
 +  mtd1: 003c0000 00020000 "kernel"
 +  mtd2: 07c00000 00020000 "rootfs"
 +
 +The following instructions assume that as shown above, kernel is /dev/mtd1 and rootfs /dev/mtd2. If these numbers are different on your model, appropriately change the following commands.
 +
 +  mtd erase /dev/mtd1
 +  mtd erase /dev/mtd2
 +  mkdir /mnt/kernel
 +  mkdir /mnt/rootfs
 +  mount /dev/mtdblock1 /mnt/kernel
 +  mount /dev/mtdblock2 /mnt/rootfs
 +
 +Copy kernel & rootfs to routerboard:
 +
 +  scp bin/ar71xx/openwrt-ar71xx-mikrotik-vmlinux-lzma.elf root@192.168.1.1:/tmp
 +  scp bin/ar71xx/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz root@192.168.1.1:/tmp
 +
 +Flash kernel & rootfs
 +
 +  mv /tmp/openwrt-ar71xx-nand-vmlinux-lzma.elf /mnt/kernel/kernel
 +  chmod +x /mnt/kernel/kernel
 +  umount /mnt/kernel
 +  cd /mnt/rootfs
 +  tar -xvzf /tmp/openwrt-ar71xx-mikrotik-DefaultNoWifi-rootfs.tar.gz
 +  cd /
 +  umount /mnt/rootfs
 +  sync
 +
 +Reboot
      
 ===== Notes ===== ===== Notes =====
  • Last modified: 2024/11/03 16:16
  • by base258