Arsip

Archive for the ‘Operating System’ Category

Mengemulasi Raspberry Pi di PC Biasa

Agustus 25, 2013 1 komentar

Raspberry Pi, siapa yang tak kenal dengan benda kecil mungil namun luar biasa ini? Board yang digadang-gadang sebagai komputer mini ini ditenagai oleh ARM dan RAM 512MB (model B). Benda ini juga sedang santer di kalangan lab sistem terdistribusi ITB sebagai mainan yang asyik :).

Harga Raspberry Pi memang tak terlalu mahal, sekitar $35 (model B). Bagaimana kalau kita masih belum bisa mengopreknya karena suatu hal tapi sudah sangat mengidamkannya? Masih ada jalan!

Di artikel ini kita akan mencoba mengemulasikan “Raspberry Pi” di PC kita dengan bantuan QEMU. Meskipun emulasi memungkinkan, tapi jangan terlalu mengandalkannya. Ingat bahwa emulasi mencoba mengimitasi benda tapi tidak akan pernah menjadi seperti benda tersebut ^^. Dan juga yang kita emulasikan tidak akan sama persis, hanya board dengan prosesor ARM yang akan kita emulasikan.

OK, penulis di kesempatan ini menggunakan peralatan sebagai berikut:

  1. Slackware64 14.0 sebagai host
  2. QEMU 1.4.0
  3. Soft-Float Debian Wheezy versi 2013-05-29.
  4. OpenVPN

Obtain the Material

Pastikan QEMU sudah terinstall 😉

Silahkan cari tutorialnya, tidak akan dibahas di kesempatan ini. Salah satu link yang bisa dijadikan rujukan: artikel dari xathrya.web.id (English) .

Sekarang download image OS yang dibutuhkan (Soft-float Debian Wheezy). Download langsung dari halaman download di situs resmi Raspberry Pi. Versi yang kita gunakan adalah 2013-05-29 atau versi terkini per 25 Agustus 2013. Bisa juga download langsung di sini.

Selanjutnya kita juga perlu kernel Linux untuk QEMU. Download di sini.

The Hardware – Overview

Sebelum melangkah lebih jauh, alangkah baiknya kita menjelajah sistem yang akan kita oprek, Raspberry Pi.

System yang akan kita emulasikan di QEMU adalah:

  1. ARM1176JZF-S, datasheet dapat dibaca di sini
  2. Ethernet

Satu hal yang ditekankan, QEMU tidak bisa mengemulasikan GPIO dan GPU. Dan nampaknya belum ada yang dapat mengemulasikannya.

Untuk mengemulasikan jaringan, kita butuh TAP network untuk dukungan jaringan penuh.

Preparing the environment

Bikin direktori kerja. Kita sebut saja qemu-raspberry.

Buka terminal dan masuk ke working direktory kita.

Ekstrak image yang telah diunduh dan letakkan dalam qemu-raspberry bersama dengan kernel linux.

Periksa apakah ada direktori /dev/net dan /dev/net/tun. Kalau tidak ada, lakukan sebagai berikut:

mkdir /dev/net
mknod /dev/net/tun c 10 200
/sbin/modprobe tun

Buat dua file, /etc/qemu-ifup dan /etc/qemu-ifdown. Pastikan file tersebut dapat dieksekusi.

Berikut untuk /etc/qemu-ifup

#!/bin/bash
ETH0IPADDR=192.168.1.100
GATEWAY=192.168.1.1
BROADCAST=192.168.1.255

# First take eth0 down, then bring it up with IP address 0.0.0.0
/sbin/ifconfig eth0 down
/sbin/ifconfig eth0 0.0.0.0 promisc up

# Bring up the tap device (name specified as first argument, by QEMU)
/usr/sbin/openvpn --mktun --dev $1 --user `id -un`
/sbin/ifconfig $1 0.0.0.0 promisc up

# Create the bridge between eth0 and the tap device
/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 eth0
/usr/sbin/brctl addif br0 $1

# Only a single bridge so loops are not possible, turn off spanning tree protocol
/usr/sbin/brctl stp br0 off

# Bring up the bridge with ETH0IPADDR and add the default route

/sbin/ifconfig br0 $ETH0IPADDR netmask 255.255.255.0 broadcast $BROADCAST
/sbin/route add default gw $GATEWAY

dan berikut ini untuk /etc/qemu-ifdown

#!/bin/bash

# Bring down eth0 and br0
/sbin/ifconfig eth0 down
/sbin/ifconfig br0 down

# Delete the bridge
/usr/sbin/brctl delbr br0

# Bring up eth0 in "normal" mode
/sbin/ifconfig eth0 -promisc
/sbin/ifconfig eth0 up

# Delete the tap debice
/usr/sbin/openvpn --rmtun --dev $1

Pastikan OpenVPN terinstall 😉

Booting the disc image

Perlu TAP interface untuk mendapatkan dukungan jaringan penuh. Untuk mendapatkannya, cukup jalankan script ini sekali saja sampai puas bermain-main dengan QEMU. Lakukan ini:

/etc/qemu-ifup tap0

Boot QEMU, jalankan perintah berikut:

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb \
-no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda 2013-05-29-wheezy-raspbian.img \
-net nic -net tap,ifname=tap0,script=no,downscript=no

Setelah puas, lakukan ini untuk menghentikan interface:

/etc/qemu-ifdown

Daaaan, ini hasilnya:

pi_qemu_linux

Iklan

StickyKeys for sticky situations

Pengguna Windows mungkin mengenal StickyKeys, suatu fitur accessibility yang kadang menyebalkan bagi yang tidak membutuhkannya, karena sering tidak sengaja terpanggil ketika kita menekan tombol Shift lima kali berturut-turut. Namun selain menyebalkan, fitur ini juga ternyata menjadi salah satu titik lemah sistem operasi Windows, sekaligus bisa berguna dalam situasi terdesak. Bagaimana bisa?  Baca selanjutnya…

exFAT

September 15, 2009 2 komentar

Ketika hendak melakukan format pada flash drive di Windows 7 beberapa hari yang lalu, saya melihat pilihan file system yang berbeda. Selain FAT, FAT32, dan NTFS, ada juga pilihan exFAT. Apa sih exFAT itu?

Baca selanjutnya…

Google Chrome OS dan Indonesia

Google Chrome OS

Memang ada-ada saja Mbah Google ini. Belum lama ini, Google mengumumkan sedang membuat sistem operasi baru bernama Google Chrome Operating System. Dari namanya, sudah terlihat bahwa ini adalah lanjutan dari proyek web browser Google Chrome dan merupakan proyek yang terpisah dari OS lain besutan Google, yaitu Android yang ditujukan pada perangkat mobile.

Lho, kok aneh, OS tapi lanjutan dari web browser? Baca selanjutnya…

Windows 7 Release Candidate build 7100

Bismillah,

Artikel berikut ini adalah salinan dari artikel saya pada pranala ini, dengan sedikit penyesuaian. Pada tulisan kali ini saya akan mengupas sedikit mengenai seri terbaru dari sistim operasi yang dibuat oleh Microsoft yang bernama Windows 7, versi yang sekarang telah ada adalah versi Release Candidate  (build 7100) dari Windows 7. Yah mungkin tulisan saya ini sudah agak basi, karena sebenarnya release candidate ini telah di rilis cukup lama. Baca selanjutnya…

Windows\Linux – cooperative virtual machine

Kalau sebelumnya saya pernah menulis artikel bagaimana menjalankan aplikasi Windows secara seamless di host berupa Linux, sesuai judul, kali ini kebalikannya. Lingkup artikel ini adalah sedikit pembahasan teknis mengenai virualisasi kooperatif. Baca selanjutnya…

Linux/Windows?

Februari 23, 2009 4 komentar

Apa sih kelemahan sistem operasi Microsoft Windows XP? Bagi saya, yang paling utama adalah keamanan dan stabilitas. Lalu kenapa tidak beralih sepenuhnya ke Linux? Apa kelemahan utamanya? Sayangnya, pada saat-saat tertentu saya butuh membuka dokumen-dokumen yang tidak dapat dibuka secara sempurna dengan perangkat lunak yang didukung Linux, antara lain format Microsoft Office 2007. Selain itu tentunya untuk menjalankan berbagai game masih dibutuhkan OS Windows XP. Kedua persoalan ini belum sepenuhnya bisa ditangani dengan emulasi seperti Wine. Bagaimana jika saya membutuhkan sistem operasi se-aman dan se-stabil Linux, namun dapat menjalankan game Windows dan membuka Microsoft Office 2007? Coba perhatikan screenshot ini untuk mendapatkan gambaran hasil akhirnya:

Bukan Manipulasi Loh...

Bukan Manipulasi Loh...

Baca selanjutnya…