Difference between revisions of "OpenWRT: Flash Mikrotik RB433"

From OnnoWiki
Jump to navigation Jump to search
Line 1: Line 1:
 
Installation overview
 
Installation overview
  
Here are the three main steps of the installation:
+
Gambaran umum tiga langkah cara instalasi:
  
* Boot the board on OpenWrt from the network (netboot): DHCP and TFTP servers required on the host.
+
* Boot board dengan OpenWrt dari jaringan (netboot): server DHCP dan TFTP dibutuhkan di host.
* Install OpenWrt to the internal flash with wget2nand: HTTP or FTP server required on the host.
+
* Instal OpenWrt ke internal flash dengan wget2nand: server HTTP atau FTP dibutuhkan di host.
* Reboot on the new installation, configure, etc.
+
* Reboot dengan instalasi baru, lakukan konfigurasi dll.
  
 
==Netboot==
 
==Netboot==
  
The bootloader of RB433 is able to load an image in elf format via BOOTP into RAM and execute it.
+
bootloader dari RB433 mampu untuk meload image dalam format elf melalui BOOTP ke RAM dan menjalankannya.
  
==Build the Target==
 
  
You need to get OpenWrt trunk. In menuconfig choose:
+
==Build Image==
  
    Target System: Atheros AR7xxx/AR9xxx
+
Kita perlu mendownload OpenWrt trunk. Di menuconfig pilih:
    Subtarget: Devices with NAND flash (mostly Mikrotik)
+
 
    Target Images: ramdisk (and also tar.gz if you plan to do a permanent install with the same image)
+
* Target System: Atheros AR7xxx/AR9xxx
 +
* Subtarget: Devices with NAND flash (mostly Mikrotik)
 +
* Target Images: ramdisk (juga tar.gz jika kita berencana untuk menginstalasi secara permanen dengan image yang sama).
  
 
Now build the ram disk version. While it's building create the tftp-root directory if not already done and a symlink to the ram disk image
 
Now build the ram disk version. While it's building create the tftp-root directory if not already done and a symlink to the ram disk image

Revision as of 05:50, 18 December 2013

Installation overview

Gambaran umum tiga langkah cara instalasi:

  • Boot board dengan OpenWrt dari jaringan (netboot): server DHCP dan TFTP dibutuhkan di host.
  • Instal OpenWrt ke internal flash dengan wget2nand: server HTTP atau FTP dibutuhkan di host.
  • Reboot dengan instalasi baru, lakukan konfigurasi dll.

Netboot

bootloader dari RB433 mampu untuk meload image dalam format elf melalui BOOTP ke RAM dan menjalankannya.


Build Image

Kita perlu mendownload OpenWrt trunk. Di menuconfig pilih:

  • Target System: Atheros AR7xxx/AR9xxx
  • Subtarget: Devices with NAND flash (mostly Mikrotik)
  • Target Images: ramdisk (juga tar.gz jika kita berencana untuk menginstalasi secara permanen dengan image yang sama).

Now build the ram disk version. While it's building create the tftp-root directory if not already done and a symlink to the ram disk image

sudo mkdir -p /tftpboot
# sudo ln -sf $(HOME)/openwrt/rb433uah-netboot/bin/ar71xx/openwrt-ar71xx-nand-vmlinux-initramfs.elf /tftpboot/openwrt.elf
cp openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf /tftpboot/openwrt.elf
chmod -Rf 777 /tftpboot/

Setup the Host

You need a BOOTP and a TFTP server on your host machine, we use dnsmasq here, since it can provide both services. Install dnsmasq with:

sudo apt-get install dnsmasq

Changes in

vi /etc/dnsmasq.conf

only listen on the interface which is directly connected to the RouterBoards WAN (PoE) port. e.g.

   interface=eth0

allow a DHCP range, e.g.

dhcp-range=192.168.0.50,192.168.0.150,12h

allocate an IP address to the board, e.g.

  1. dhcp-host=00:0C:42:XX:XX:XX,192.168.6.101
dhcp-host=00:0C:42:72:E0:41,192.168.0.100

(replace the XX with the MAC address of your board!)

enable dnsmasq's built-in TFTP server

   enable-tftp

set the root directory for files available via FTP.

   tftp-root=/tftpboot

set filename (produced above) and tftpd server for BOOTP, e. g.

   dhcp-boot=/tftpboot/openwrt.elf,boothost,192.168.0.6

Finally restart dnsmasq

/etc/init.d/dnsmasq restart 

You will probably need to set the IP of the interface manually:

sudo ip addr add 192.168.6.1/24 dev eth0

Setup the Target

Install

apt-get install screen

Cara loginnya

screen /dev/ttyUSB0 115200,cs8,-ixon,-ixoff


  • Connect to the serial port with a null modem cable (115200, 8N1).
  • Press a key shortly after powering the board.
  • Press o to change the boot device
  • Press e to boot from ethernet in the future.
  • Press x to leave setup (-o-e-x is needed only once, the boot method is saved in non-volatile memory)


Untuk memperbaiki tekan o - o - x


RouterBOOT booter 3.02

RouterBoard 433AH

CPU frequency: 680 MHz
  Memory size: 128 MiB
    NAND size: 128 MiB

Press any key within 2 seconds to enter setup..


If everything is setup correctly it should look like:


RouterBOOT booter 2.16
RouterBoard 433AH
CPU frequency: 680 MHz
  Memory size: 128 MB
Press any key within 2 seconds to enter setup..
trying bootp protocol.......... OK
Got IP address: 192.168.6.101
resolved mac address 4E:80:00:00:00:00
Gateway: 192.168.6.1
transfer started ................................... transfer ok, time=7.16s
setting up elf image... OK
jumping to kernel code
Linux version 2.6.26.7 (joerga@thinkpad) (gcc version 4.1.2) #2 Mon Nov 10 11:23:37 CET 2008
console [early0] enabled
...


RouterBOOT booter 3.02

RouterBoard 433AH 

CPU frequency: 680 MHz
  Memory size: 128 MiB
    NAND size: 128 MiB

Press any key within 2 seconds to enter setup..
trying bootp protocol.... OK
Got IP address: 192.168.0.100
resolved mac address 00:03:0D:E3:DB:76
Gateway: 192.168.0.6
transfer started  ........................................................................................

Permanent Installation

You need a working netboot first, see above. Please note also that you cannot reflash from a previous OpenWrt installation, you need the netboot in any case.

Target Image

If you want to use the same trunk image as the netboot image (cf. above), you need to have the tar.gz target selected in the Target Images menu and rebuild if you didn't select it before. You can also use one of the pre-built images (tested with 12.09-rc2); in the download area, browse the ar71xx/nand/ directory and pick the two following files:

  • openwrt-ar71xx-nand-rootfs.tar.gz
  • openwrt-ar71xx-nand-vmlinux-lzma.elf

If you don't have many devices to install and your netbooted system can access the Internet, you can probably pass the download URL directly to wget2nand as well, that will save you the web server configuration step (see below).

Save your RouterOS license key

If you have access to the MikroTik's Winbox software, you can export the license file from System→Licence, as stated on the RouterBoard 411 page.

Otherwise, boot RouterOS and export the key to a file:

/system license output

Then list the files on your device to see which file the .key file was saved:

/file print

On a fresh install, the key file should be #1 (or #0 on a RB433UAH); to open the editor with file #1, type:

/file edit 1 value-name=contents

Then copy-paste the text in a file on your computer. The differences between the obtained key file and a key exported with Winbox are that the SoftwareID line is not present in the latter, and there are no empty lines, so you should probably delete all the empty lines in your file prior to import it for a new installation; the SoftwareID line should not bother the installer (untested).

Erase the NAND Flash

If you want to install OpenWrt permanently into the NAND flash you once need to erase the NAND flash to get rid of the RouterOS stuff:

  • connect via serial line
  • press a key shortly after powering the RB433 up
  • press e and type yes to format the flash from the bootloader

Setup the Host

An HTTP web server is required on the host, e.g. mini-httpd in Ubuntu. Install the mini-httpd web server

sudo apt-get install mini-httpd

In /etc/default/mini-httpd change

   Start daemon
   START=1

In /etc/mini-httpd.conf change

   On which host mini_httpd should bind
host=192.168.6.1
   Run in chroot mode
chroot
   Where are the web files stored
data_dir=/home/openwrt/rb433uah/bin/ar71xx/

Restart the mini-httpd web server

sudo /etc/init.d/mini-httpd restart

Install OpenWrt into Flash

   Start netboot (see above).
   Press ENTER to get a shell prompt.
   Execute:

wget2nand http://192.168.6.1

This script will set an IP address via dhcp on br-lan. The output should look like:

root@OpenWrt:/# wget2nand http://192.168.6.254
Connecting to 192.168.6.254 (192.168.6.254:80)
kernel               100% |*******************************|  1041k  0:00:00 ETA
Connecting to 192.168.6.254 (192.168.6.254:80)
rootfs.tgz           100% |*******************************|  4243k  0:00:00 ETA
Erasing filesystem...
[  137.110000] nand_erase_nand: attempt to erase a bad block at page 0x00002240
[  137.140000] nand_erase_nand: attempt to erase a bad block at page 0x00003ac0
[  137.180000] nand_erase_nand: attempt to erase a bad block at page 0x00005d40
[  137.620000] nand_erase_nand: attempt to erase a bad block at page 0x00026a80
[  137.850000] nand_erase_nand: attempt to erase a bad block at page 0x000373c0
[  137.860000] nand_erase_nand: attempt to erase a bad block at page 0x00037440
[  138.000000] yaffs: dev is 32505861 name is "mtdblock5" rw
[  138.000000] yaffs: passed flags ""
[  138.020000] yaffs: dev is 32505862 name is "mtdblock6" rw
[  138.020000] yaffs: passed flags ""
Mounting /dev/mtdblock6 as new root and /dev/mtdblock5 as kernel partition
Copying kernel...
Preparing filesystem...
./
./tmp/
./usr/
./usr/lib/
./usr/lib/opkg/
…
./proc/
./sys/
./www/
./root/
./var
Cleaning up...
Image written, you can now reboot.  Remember to change the boot source to Boot from Nand

Reboot the RB433 and change the boot source to NAND.

USB Ports

To have the USB ports work on the RB433UAH, you need to install the kmod-usb2 package, as explained on the USB Basic Support page. See also the USB Overview page.

Referensi

Pranala Menarik

Build Firmware

APRX

IPv6

Flash Firmware

Misc

UBNT