OpenWRT: Flash Mikrotik RB433

From OnnoWiki
Jump to navigation Jump to search

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. Cara membuat binary ramdisk di terangkan di Cara Membuat Firmware OpenWRT Mikrotik RB433. Jika sudah ada binary-nya copy ke directory tftp-root, misalnya.

sudo mkdir -p /tftpboot
sudo cp openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf /tftpboot/openwrt.elf
sudo 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.1.50,192.168.1.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.1.100
enable-tftp
tftp-root=/tftpboot
dhcp-boot=/tftpboot/openwrt.elf,boothost,192.168.1.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.1.6/24 dev eth0
sudo ifconfig eth0 192.168.1.6

Setup Target

Install screen untuk komunikasi serial melalui RS232

apt-get install screen

Sambungkan kabel serial RS232 antara laptop / PC ke Mikrotik RB433 . 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 untk keluar dari setup (-o-e-x is needed only once, the boot method is saved in non-volatile memory)
  • CATATAN: untuk mengembalikan boot ke NAND tekan -o-o-x

Akan keluar

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

Jika semua benar akan tampak kira-kira seperti:


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.1.100
resolved mac address 00:0C:42:72:E0:41
Gateway: 192.168.1.6
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
...
procd: - init complete -
[   12.270000] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   12.270000] device eth1 entered promiscuous mode
[   12.280000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   12.310000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.460000] eth0: link up (100Mbps/Full duplex)
[   12.460000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   13.780000] eth1: link up (100Mbps/Full duplex)
[   13.780000] br-lan: port 1(eth1) entered forwarding state
[   13.790000] br-lan: port 1(eth1) entered forwarding state
[   13.790000] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   13.820000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   15.790000] br-lan: port 1(eth1) entered forwarding state

BusyBox v1.19.4 (2013-12-18 06:16:05 WIB) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 BARRIER BREAKER (Bleeding Edge, r39125)
 -----------------------------------------------------
  * 1/2 oz Galliano         Pour all ingredients into
  * 4 oz cold Coffee        an irish coffee mug filled
  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
  * 2 tsp. Creme de Cacao
 -----------------------------------------------------
root@OpenWrt:/#

Instalasi Permanen

Untuk melakukan instalasi permanen, kita perlu masuk menggunakan netboot melalui BOOTP & TFTP seperti di atas. Kita tidak bisa me-reflash dari instalasi OpenWRT sebelumnya, flash hanya bisa dilakukan melalui netboot.

Target Image

Buat target Image Untuk flash NAND Mikrotik RB433. Pastikan make menuconfig ada

Target System > Atheros AR7xxx/AR9xxx
Subtarget > Mikrotik devices with NAND flash
Target Profile > Atheros WiFi (ath5k) 
Target Images >
       cpio.gz 
       tar.gz
       ext4
       jffs2
       squashfs
       GZip images

Cara membuat binary ramdisk di terangkan di Cara Membuat Firmware OpenWRT Mikrotik RB433. File yang dperlukan untuk me-flash NAND adalah

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

Untuk OpenWRT versi baru kemungkinan adalah

  • openwrt-ar71xx-mikrotik-Ath5k-rootfs.tar.gz
  • openwrt-ar71xx-mikrotik-vmlinux-lzma.elf

Supaya aman sebaiknya semua file berikut di letakan di web

  • openwrt-ar71xx-mikrotik-Ath5k-rootfs.tar.gz
  • openwrt-ar71xx-mikrotik-root.squashfs
  • openwrt-ar71xx-mikrotik-root.squashfs-64k
  • openwrt-ar71xx-mikrotik-vmlinux.bin
  • openwrt-ar71xx-mikrotik-vmlinux.elf
  • openwrt-ar71xx-mikrotik-vmlinux.gz
  • openwrt-ar71xx-mikrotik-vmlinux.lzma
  • openwrt-ar71xx-mikrotik-vmlinux-lzma.elf

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

Format NAND Flash

Jika kita ingin menginstalasi OpenWRT secara permanen ke NAND flash. Kita perlu memformat NAND flash untuk membuang semua RouterOS.

Caranya:

  • Sambung melalui kabel serial.
  • Tekan keyboard setelah RB433 nyala.
  • Tekan e dan ketik yes untuk memformat flash dari bootloader.

Setup Apache Web Server Lokal

Setup Apache Web Server Lokal di laptop / PC. Kemudian sebagai user biasa yang mengcompile OpenWRT, lakukan:

rm /var/www/index*
cp ~/openwrt.trunk/trunk/bin/ar71xx/* /var/www
sudo chmod 777 /var/www
mv openwrt-ar71xx-mikrotik-Ath5k-rootfs.tar.gz openwrt-ar71xx-mikrotik-rootfs.tar.gz

Jika perintah mv di atas tidak dilakukan, maka akan terjadi kesalahan berikut

Connecting to 192.168.1.6 (192.168.1.6:80)
kernel               100% |*******************************|  1047k  0:00:00 ETA
Connecting to 192.168.1.6 (192.168.1.6:80)
wget: server returned error: HTTP/1.1 404 Not Found
Unable to download http://192.168.1.6/openwrt-ar71xx-mikrotik-rootfs.tar.gz


Install OpenWrt ke NAND Flash

Lakukan:

  • netboot
  • Tekan ENTER Untuk memperoleh shell.
  • Lakukan
ping 192.168.1.6

Pastikan ada sambungan, jika tidak kadang kala bisa di atasi dengan mematikan br-lan

ifconfig br-lan down


Alternatif lain, pindahkan kabel LAN dari laptop / PC ke LAN RB433 yang bukan PoE. Pastikan ada sambungan ke laptop / PC.

ping 192.168.1.6

Kemudian

wget2nand http://192.168.1.6

Script ini akan melakukan transfer melalui br-lan, dengan tampilan


root@OpenWrt:/# wget2nand http://192.168.1.6
Connecting to 192.168.1.6 (192.168.1.6:80)
kernel               100% |*******************************|  1041k  0:00:00 ETA
Connecting to 192.168.1.6 (192.168.1.6: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/
…
./bin/vi
./bin/mv
./bin/touch
./bin/mknod
./bin/sed
./bin/chmod
./bin/sync
./bin/zcat
./bin/netstat
./bin/lock
./bin/ubus
./bin/sleep
./bin/gunzip
./bin/gzip
Cleaning up...
Image written, you can now reboot.  Remember to change the boot source to Boot from Nand

Ubah Boot Source

  • Sambungkan ke serial port dengan kabel serial (115200, 8N1).
  • Tekan tombol sembarang setelah board RB433 dinyalakan.
  • Tekan o ubah boot device
  • Tekan o boot dari NAND flash
  • Tekan x untk keluar dari setup

Referensi

Pranala Menarik

Build Firmware

APRX

IPv6

Flash Firmware

Misc

UBNT