OpenWRT: Flash Mikrotik RB433

From OnnoWiki
Revision as of 20:31, 18 December 2013 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

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).

Buat versi ram disk. Jika sudah ada binary-nya, buat symlink atau copy ke directory tftp-root, misalnya.

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 Host

Kita membutuhkan server BOOTP dan TFTP di host, yang paling mudah adalah menggunakan dnsmasq, karena dapat memberikan dua layanan tersebut sekaligus. Install menggunakan perintah:

sudo apt-get install dnsmasq

Ubah dnsmasq.conf

vi /etc/dnsmasq.conf

Misalnya menggunakan parameter

interface=eth0
dhcp-range=192.168.0.50,192.168.0.150,12h
# dhcp-host=00:0C:42:XX:XX:XX,192.168.6.101 # ubah menggunakan MAC board Mikrotik yang kita gunakan
dhcp-host=00:0C:42:72:E0:41,192.168.0.100
enable-tftp
tftp-root=/tftpboot
dhcp-boot=/tftpboot/openwrt.elf,boothost,192.168.0.6

Restart dnsmasq

/etc/init.d/dnsmasq restart 

Jika diperlukan kita dapat menset IP dari interface secara manual, misalnya:

sudo ip addr add 192.168.0.1/24 dev eth0
sudo ifconfig eth0 192.168.0.1

Setup Target

Install

apt-get install screen

Sambunkan kabel serial. Jalankan di terminal

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

Langkah yang perlu dilakukan:

  • Sambungkan ke serial port dengan kabel serial (115200, 8N1).
  • Tekan tombol apapun setelah board dinyalakan.
  • Tekan o to change the boot device
  • Tekan e to boot from ethernet in the future.
  • Tekan 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  ........................................................................................

Instalasi Permanen

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