Looking for something ?

Written By Vapor Voyager Saputra on 05 Desember 2010 | Minggu, Desember 05, 2010


EMULATOR MACINTOSH PADA LINUX BERBASIS PROSESSOR X86


ABSTRAK

virtualisasi (Inggrisvirtualization) adalah istilah umum yang mengacu kepadaabstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal. [1] semakin berkembangnya sistem operasi Linux mengakibatkan banyak pengguna komputer beralih ke Linux, tapi ada kalanya ada beberapa program dari sistem operasi non-Linux belum bisa di support oleh Linux, oleh karena itu dibutuhkan teknik virtualisasi untuk menjalankan beberapa program non-Linux, dalam penelitian ini akan di bahas teknik virtualisasi Mac OS pada linux agar dapat berjalan di processor x86.
BAB 1
PENDAHULUAN

1.1 Latar Belakang
Linux adalah operating system yang mempunyai beberap distro opensource yang dapat didownload dan diinstall di beberapa PC secara gratis. Selain performa dan perkembangannya yang luar biasa, kestabilan system ini memang sudah dibuktikan di beberapa perusahaan besar yang memakainya.
Dalam bidang pendidikan, pemakaian Linux semakin berkembang dari level elementary school sampai level college. Di San Diego United Schools District, 130.000 siswa akan mempunyai kesempatan untuk memakai Linux operating system, SUSE 10.
Oakland University melakukan migrasi besar-besaran ke Linux, dengan menerapkan CMS, Moodle, kepada 30 ribu mahasiswanya.
Dalam bidang bisnis retail, Walmart, retail terbesar di dunia, yang berbasis di Arkansas, menjual laptop yang memakai OS Linux, gOS, dengan harga sangat murah 399 dollars. System Walmart didukung pula oleh Linux. Dengan cabang yang tersebar di Amerika sebesar 2500 cabang, semakin menekan biaya operasional global yang mereka miliki. Selain itu update Linux os pun semakin mudah untuk saat ini.
Dalam bidang pemerintahan, Amerika mengadopsi Red Hat Enterprise Linux untuk memanage 1.2 juta pasukannya yang tersebar di seluruh dunia. Dengan tanpa menghilangkan kemampuan system yang mereka miliki, mereka dapat menekan cost yang harus dikeluarkan untuk membeli OS, pemeliharaan dan update.
ChicagoYuba County dan Ohio pun mengedakan migrasi besar-besaran dari berbagai macam OS ke Linux OS. Migrasi ini akan terus diikuti oleh kota-kota yang lainnya. [2]
Masalah utama yang dihadapi Linux dahulu adalah interface yang berupa teks (text based interface). Ini membuat orang awam tidak tertarik menggunakan Linux karena harus dipelajari terlebih dahulu untuk dapat dimengerti cara penggunaannya (tidak user-friendly). Tetapi keadaan ini sudah mulai berubah dengan kehadiran KDE dan GNOME. Keduanya memiliki tampilan desktop yang menarik sehingga mengubah persepsi dunia tentang Linux.
Linux di negara-negara berkembang mengalami kemajuan yang sangat pesat. Harga perangkat lunak (misalkan sebuah sistem operasi) bisa mencapai US $100 atau lebih. Di negara yang rata-rata penghasilan per tahun adalah US $200-300, US $100 sangatlah besar. Dengan adanya Linux, semua berubah. Karena Linux dapat digunakan pada komputer yang kuno, dia menjadi alternatif cocok bagi komputer beranggaran kecil. Di negara-negara Asia, Afrika, dan Amerika Latin, Linux adalah jalan keluar bagi penggemar komputer. [3]
Jika melihat ke depan, kemungkinan Linux akan menjadi sistem operasi yang paling dominan bukanlah suatu hal yang mustahil. Karena semua kelebihan yang dimilikinya, setiap hari semakin banyak orang di dunia yang mulai berpaling ke Linux. Akan tetapi ada beberapa pengguna yang sudah terbiasa menggunakan aplikasi-aplikasi dari sistem operasi non-Linux, dalam hal ini Mac OSX. Bagi pengguna Mac OSX yang mungkin terbiasa menggunakan program2 seperti iTunes, QuickTime, TextWrangler ingin menjalankan aplikasi-aplikasi tersebut di linux, saat ini sebenarnya telah tersedia emulator Mac untuk Linux (Mac-on-Linux), hanya saja emulator tersebut hanya dapat berjalan pada platform processor PowerPC kepunyaan Macintosh, padahal kebanyakan pengguna linux di dunia menggunakan processor intel/AMD yang berbasis x86. pada awalnya sistem operasi macintosh memang hanya dapat berjalan di PowerPC, tapi dalam perkembangannya kini macintosh juga dapat berjalan di processor intel, hal tersebut dimulai pada tanggal 10 Januari 2006, Apple meluncurkan versi 10.4.4 bersama dengan produk Apple Mac pertama yang berbasis Intel. Komputer-komputer ini menggunakan Extensible Firmware Interface(EFI) dibandingkan dengan PC biasa yang menggunakan Basic Input Output System(BIOS). [4]
Sedangkan untuk kernel, Linux dan Macintosh merupakan satu rumpun, yaitu Unix. Linux merupakan turunan dari keluarga sistem operasi Unix [5], sedangkan macintosh adalah turunan dari FreeBSD dan NetBSD [6]

1.2 Perumusan Masalah
Perumusan masalah penelitian ini adalah, ”Bagaimana membuat emulator Macintosh pada Linux, agar dapat berjalan pada processor x86?”

1.3 Tujuan dan Manfaat
Tujuan penelitian ini adalah membuat emulator macintosh pada linux, sehingga aplikasi-aplikasi pada sistem operasi macintosh dapat berjalan di linux, sehingga para pengguna macintosh yang saat ini menggunakan linux dapat menjalankan aplikasi-aplikasi bawaan macintosh yang di inginkan.

1.4 Batasan Masalah
Penelitian ini hanya dibatasi pada penerapan virtualisasi macintosh pada sistem operasi linux, supaya dapat berjalan pada processor X86
BAB 2
KAJIAN PUSTAKA


2.1 Teknik Virtualisasi
Virtualisasi merupakan suatu mekanisme yang menjadikan suatu komputer tunggal seakan-akan menjadi sistem banyak yang terisolasi total. Kemampuan perangkat keras PC saat ini memungkinkan teknologi virtualisasi di mainframe diterapkan di PC. Ada berbagai teknik virtualisasi yang menyediakan tingkatan abstraksi dan metoda yang berbeda, Virtualisasi ini menjadikan mesin seperti menyediakan berbagai sistem operasi yang berjalan secara paralel. Tentu saja tiap sistem operasi ini sebetulnya menggunakan perangkat keras secara bergantian dan harus diisolasi secara baik. Dunia Linux menawarkan beberapa metoda untuk menyajikan kerangkeng ini. [7]
2.1.1 Emulasi Processor
Emulasi prosesor adalah salah satu teknik yang digunakan untuk menyediakan virtualisasi lengkap. Dalam hal ini, CPU diemulasikan sepenuhnya dalam perangkat lunak. biasanya digunakan untuk menemukan perangkat keras seperti keyboard, mouse, VGA, jaringan,timer chip, dll yang didukung oleh emulator. Emulasi ini berfungsi untuk di ruang lingkup software, selain itu teknik ini mempunyai banyak kelebihan untuk meningkatkan performa untuk mengefesien kan biaya. Tapi bagaimanapun teknik ini membutuhkan banyak sumber daya untuk menterjemahkan instruksi perangkat keras dari prosessor asli ke prosessor hasil emulasi. Hal ini menyebabkan instruksi pada prosessor emulasi lebih lambat ratusan kali dari pada instruksi yang di jalankan pada prosessor asli
Salah satu perangkat lunak yang mendukung teknik ini adalah QEMU, adalah suatu emulator mesin dan virtualizer, ketika digunakan sebagai emulator mesin QEMU dapat menjalankan beberapa OS dan program dalam satu mesin, dengan mengunakan translasi dinamis yang menghasilkan performa yang bagus, QEMU dapat memvirtualisasi x86, server dan Power PC. [9] QEMU sebenarnya bukanlah merupakan aplikasi virtualisasi, melainkan emulator yang digunakan untuk mengemulasikan suatu prosesor. Namun, anda bisa menggunakan modul tambahan yang bernama KQEMU yang berfungsi untuk mempercepat akselerasi QEMU agar sesuai dengan clock dari komputer anda.
2.1.2 Sistem Operasi Virtual
Virtual OS adalah sebuah teknologi yang memungkinkan Anda untuk menginstal sebuah OS yang sama maupun berbeda secara virtual tanpa perlu kuatir akan adanya konflik dengan OS yang sedang Anda gunakan saat ini. Berbeda dengan dual-boot, Virtual OS ini cenderung lebih aman dan praktis karena cara kerjanya mirip dengan aplikasi perangkat lunak pada umumnya, hanya saja sewaktu proses virtualisasi dijalankan akan terjadi proses pemakaian bersama “resource” di komputer Anda sehingga kedua-duanya akan sedikit berjalan lambat. Namun bagi pengguna yang mempunyai spesifikasi komputer yang lebih maka hal ini tidak akan dirasakan. Dalam Linux dikenal dengan nama User Mode Linux (UML). UML merupakan suatu mesin virtual yang dapat digunakan untuk menjalankan proses pada Linux secara aman tanpa beresiko merusak lingkungan Linux yang sebenarnya. UML secara umum bisa disebut sebagai kernel dalam kernel. Kernel dalam UML benar-benar mirip dengan kernel yang menjalankan sebuah sistem operasi linux. Bisa diubah kodenya, dicompile, distart, direstart, dan dishutdown. [10]
2.1.3 Mesin Virtual
Mesin virtual pada mulanya didefinisikan oleh Gerard J. Popek dan Robert P. Goldberg pada tahun 1974sebuah duplikat yang efisien dan terisolasi dari suatu mesin asli. Pada masa sekarang ini, mesin-mesin virtual dapat mensimulasikan perangkat keras walaupun tidak ada perangkat keras aslinya sama sekali. [11]. Dalam penelitian ini penulis akan menggunakan Xen.
BAB 3
METODOLOGI PENELITIAN

3.1 Studi Literatur
Pada tahap ini akan dihasilkan sebuah software emulasi yang dapat menjalankan aplikasi Macintosh di Linux, pada prosessor x86

3.2 Instalasi
3.2.1 Instalasi QEMU
A. Instalasi Qemu dan Qemu Launcer
- instalasi qemu
[root@joezoop~]# yum install qemu
- instalasi qemu-launcher
qemu-launcher merupakan aplikasi GUI yang mempermudahkan untuk menjalankan fungsi-fungsi qemu
Berikut cara instalasi qemu-launcher dengan yum
[root@joezoop~]# yum install qemu-launcher
B. Membuat virtual disk dengan qemu
Sebelum menjalankan instalasi sistem operasi di qemu dibutuhkan untuk membuat virtual disk terlebuh dahulu. Berikut ini adalah cara membuat virtualdisk dengan qemu
[root@joezoop~]# qemu-img create -f qcow2 test.img 4G
Command line tersebut akan membuat virtual disk dengan nama test.img dengan ukuran 4GB
C. Menjalankan instalasi sistem dengan qemu
Setelah virtual disk terbentuk kita akan memulai instalasi sistem operasi di disk tersebut dengan cara sebagai berikut.
[root@joezoop~]# qemu -cdrom /dev/cdrom -hda test.img -m 512 -boot d
Dalam instalasi tersebut kita menggunakan memory virtual dengan ukuran 512 MB.
Untuk menjalankan fungsi-fungsi qemu dengan lebih mudah silahkan menggunakan qemu-launcher, dengan menjalankan lewat CLI sebagai berikut
root@joezoop~]# qemu-launcher
atau di menu Applications->System Tools ->Qemu Launcher
3.2.2 Instalasi UML
angkah pertama instalasi uml :
root@joezoop:~#apt-get install user-mode-linux uml-utilities
langkah kedua siapkan rootfs sambil menunggu kalo lama instalasinya :
root@joezoop:~#dd if=/dev/zero of=endut.fs bs=1M seek=500 count=1
root@joezoop:~#mkfs.reiserfs -f endut.fs
root@joezoop:~#mkdir -p mount root@joezoop:~#mount -o loop endut.fs mount/
langkah ketiga jalankan proses instalasi debian guest pada rootfs yg telah kita buat :
root@joezoop:~#debootstrap –arch i386 lenny mount/ http://192.168.1.12/debian/
…..Base System succesfully installed
setelah proses instalasi selesai maka edit sedikit konfigurasi..
langkah keempat konfigurasi sedikit
root@joezoop:~#chroot mount
root@joezoop:/#mkdir -p /dev/ubd
root@joezoop:/#cd /dev/ubd
root@joezoop:/dev/ubd#for a in 0 1 2 3 4 5 6 7;do mknod $a b 98 $[$a*16];done
root@joezoop:/dev/ubd#nano /etc/fstab
tambahkan baris ini :
/dev/ubd/0 reiserfs default 1 1 none
/proc proc defaults 0 0 none
/dev/pts devpts gid=5,mode=620 0 0
setelah itu masuk pada /etc/securetty :
root@joezoop:/dev/ubd#nano /etc/securetty
tambahkan ini :
tty0
vc/0
setelah selesai edit /etc/inittab :
root@joezoop:/dev/ubd#nano /etc/inittab
beri tanda kres (#) pada baris ini, sehingga menjadi :
#1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
lalu tambahkan ini :
1:23:respawn:/sbin/getty 38400 tty0
setelah selesai simpan konfigurasi2 tersebut
langkah kelima optimasi rootfs :
root@joezoop:~#umount mount/
root@joezoop:~#cp -p –sparse=always endut.fs joezoop.fss
setelah selesai maka jalankan uml :
root@joezoop:~#linux ubd0=vc1,joezoop.fss umid=vc1 con=pts con0=xterm
3.2.3 Instalasi Xen
root@usb:~# cat /etc/apt/sources.list
$ sudo apt-cache policy ubuntu-xen-server (dari intrepid)
$ sudo apt-cache policy linux-xen (dari hardy)
$ sudo apt-get upgrade
$ sudo apt-get install ubuntu-xen-server linux-xen
Installasi tersebut akan merubah settingan /boot/grub/menu.lst yang memang sebelumnya harus di backup dulu. Untuk itu silahkan periksa file menu.lst tersebut. Selanjutnya reboot dan pilih menu kernel xen untuk dibooting. Saya menggunakan xen kernel 2.6.24-24-xen.
root@usb:~# uname -a
Linux usb 2.6.24-24-xen #1 SMP Wed Apr 15 17:05:38 UTC 2009 x86_64 GNU/Linux
Saya edit file menu.lst menjadi sbb :
title Xen 3.3 / Ubuntu 8.10, kernel 2.6.24-24-xen
uuid 53bf694a-089c-4335-9608-3f22ba53c01c
kernel /boot/xen-3.3.gz dom0_mem=512M 
module /boot/vmlinuz-2.6.24-24-xen root=UUID=53bf694a-089c-4335-9608-3f22ba53c01c ro console=tty0
module /boot/initrd.img-2.6.24-24-xen
quiet
Yang perlu diperiksa salah satunya ifconfig, yang seharusnya ada satu interface yang dibuat (peth0) yang tidak memiliki IP Address. Xen akan membuat virtual interface yang bersifat bridge dan menuju eth[n] untuk koneksi ke luar.
root@usb:~# xm li
Name ID Mem VCPUs State Time(s)
Domain-0 0 512 2 r----- 329.8
Diatas menampilkan daftar virtual xen yang diinstall, sementara belum ada sehingga hanya tertulis Domain-0 (default XEN) dan memory yang dipakai adalah 512 untuk managernya sesuai dengan yang telah diedit pada menu.lst.
root@usb:~# brctl show
bridge name bridge id STP enabled interfaces
eth0 8000.00118560e25f no peth0
Edit file /etc/xen/xend-config.sxp dan cari settingan berikut sehingga menjadi
(dom0-min-mem 256) angka 256 menunjukkan minimal memory untuk satu buat virtual machine.

3.3 Uji Coba Sistem
Tahap terakhir adalah uji coba sistem apakah sistem sudah layak digunakan dan sesuai dengan harapan. Jika masih belum layak, maka akan dilakukan perbaikan sistem. Berikut adalah screenshot dari program Mac-on-Linux:












DAFTAR PUSTAKA

[1] 
^ Mann, Andi, Virtualization 101Enterprise Management Associates (EMA)
[2] http://infokomtek.com/linux-software/perkembangan-linux-di-amerika
[6] en.wikipedia.org/wiki/Mac_OS_X
[11] Smith, Daniel E., Nair, Ravi (2005). "The Architecture of Virtual Machines".Jurnal Computer Volume 38 (5): 32–38. DOI:10.1109/MC.2005.173
HALAMAN BLOG
http://joezoop.blogspot.com/

Tidak ada komentar:

Posting Komentar

Monggo di comment, insaallah di balas

Last Post

SiteCompInfo