Installing OpenWrt
The installation of OpenWrt is device specific. These device specific procedures should be found in the wiki. See Table of Hardware for available procedures. If your device is not listed, information in this Howto may be helpful.
If your attempt to install OpenWrt fails, please view generic.debrick for fixes.
This HOWTO is VERY generic. You cannot use it in most situations, as you have to adapt values and other parts for specific hardware. Please look at the supported hardware page for device-specific documentation.
In most circumstances; you have three options:
Option 1:
install OpenWrt onto the router's non-volatile memoryOption 2:
install OpenWrt onto the RAM
Four Installation Methods
There are four ways to install OpenWrt on a device:
Method 1: via OEM firmware
Open the WebUI of the OEM firmware with your web browser and install the OpenWrt factory firmware image file using the “Firmware Upgrade” option. Your device should reboot with OpenWrt installed.
NOTE:
Sometimes the OEM firmware will only allow you to flash your device with a specific firmware file. If that is the case, you will not be able to install OpenWrt using this method. However, for some devices the build bots prepare tagged builds such that they are compliant with the firmwares from the manufacturer. This should be documented on the device specific page for your model.
Method 2: via Bootloader and an Ethernet port
Most, if not all bootloaders provide built-in functionality for this purpose. Some use a TFTP-client, others a TFTP-server, others a FTP-client, some an FTP-server, some a web server and some use the XMODEM-protocol.
Before proceeding you need to determine the following:
- a) the preset IP address of the bootloader (not necessarily identical to the IP address the device has after it has booted the original firmware!)
- b) the protocol and whether the bootloader acts as client or as server
- c) the correct port number (if not default)
- d) the interface you need to connect to
- e) a user name and login password (if necessary)
- f) the time window you have after starting the device to obtain a connection
Once you know all of the above parameters, you may proceed.
- Install the appropriate software on your PC (i.e. if the bootloader uses an FTP-server, you need a FTP-client).
- Configure a static IP address for your PC interface in the same IP address block as pre-configured in the bootloader.
- Connect your PC to the device.
- Power cycle the device.
- Connect to the bootloader using the software you chose
- Install the OpenWrt firmware file.
- Do not overwrite or alter the bootloader until explicitly instructed to do so!
NOTES:
Sometimes even the bootloader prevents you from flashing a non-OEM firmware.
If you have a short time window, the connection between your computer and device needs to be established quickly. To make this as quick possible, you can disable auto-negotiation on your NIC and/or disable media sensing.
Specific Howtos
Method 3: via Bootloader and Serial port
- data info of mentioned items (b) to (f) inside above Method-2.
Method 4: via JTAG
Install a ramdisk-image into main memory
This step shows you howto upload a new ramdisk image to the device. The existing firmware on the flash remains unchanged! You require a working serial cable to do the ramdisk upload.
- specifically select the RAMDISK option to make OpenWrt Buildroot create a ramdisk-image for you to upload
- connect an ethernet cable between your computer and one of the LAN ports (doesn't matter which, just so long as it's not the WAN port) of the WNDR3700.
- connect your serial cable to the header on the WNDR3700 and set your local terminal program (eg. minicom) to
- 115200 bps 8N1
- no software flow control
- no hardware flow control.
- set your computer's ethernet port to use the IP address
192.168.0.10/24
- set up a TFTP server on your local computer to respond to requests on the 192.168.0.10 interface. Make sure that the ramdisk image (openwrt-ar71xx-uImage-lzma.bin) is in the directory used by the TFTP server.
- Fix the header for the ramdisk image so that it's recognized by the u-Boot firmware. Use the wndr3700.c program that was posted by *aorlinsk* on the forums here http://aorlinsk2.free.fr/openwrt/wndr3700/ and run it from the TFTP server's data directory. I've also reproduced the code here just in case:
./wndr3700 openwrt-ar71xx-uImage-lzma.bin openwrt-fixed.out
- power up the board. When it gets to the message asking you to press any key to interrupt the normal bootup sequence, press a key on the serial console (or just hold down the enter key from first bootup until you get to a prompt):
- enter the following into the serial console:
setenv ipaddr 192.168.0.1 setenv serverip 192.168.0.10 setenv bootargs 'board=WNDR3700' tftpboot 80800000 openwrt-fixed.out bootm
(if you forget the bootargs piece below, the board will boot and look normal, but it won't be able to bring up any of the network interfaces!)
- The system should boot!
Concrete examples: wnr2000, ...
Don't forget to consult the other Generic Basic Howtos for OpenWrt
Installation Checklist
This checklist cannot and does not completely cover all the ways you can install OpenWrt.
Pre-Installation
- Say hello in #openwrt channel at OFTC.
- Make sure that the router has currently stock/original firmware installed.
- Configure your computer to use static IP address.
- Connect to the router with wire, not WiFi.
- Do your own research and read all the resources about installing OpenWrt on your router:
- Print or save those pages for offline reading:
- (optional) Backup flash of your router.
Installation
- Reboot router.
- Download OpenWrt image in proper location.
- In case of upgrading existing OpenWrt system, the proper location is RAM (usually /tmp).
- Verify MD5 checksum of the OpenWrt image you downloaded.
- Make sure that there is at least as much free RAM as the size of OpenWrt image you have downloaded.
Post-Installation
- Do First login and set root password.
- Make yourself comfortable with the Failsafe mode.