--- title: Virtual ARM di Lingkungan Linux slug: Developer_Guide/Virtual_ARM_di_Lingkungan_Linux tags: - ARM Linux - Mengembangkan Mozilla - Mobile - Pengujian - SSH - Virtual ARM translation_of: Mozilla/Developer_guide/Virtual_ARM_Linux_environment ---
Halaman ini menejelaskan bagaimana cara untuk mendapatkan lingkungan virtual ARM dengan QEMU yang berjalan di (Ubuntu) Linux. Ini berguna untuk siapapun yang ingin mencoba kode ARM-specific dan tidak memiliki (atau membutuhkan) perangkat keras ARM untuk pengujian.
Petunjuk ini mengasumsikan sistem host yang Anda gunakan adalah Ubuntu Linux juga karena memudahkan kita untuk memasang perangkat lunak yang diperlukan dari repositori luar.
QEMU mendukung beberapa board dan CPU. Dari semua yang Saya uji, saya hanya bisa mendapatkan Versatile Express board untuk bekerja dengan lebih dari 256 MB RAM, itulah kenapa kita akan menggunakan board ini. Untuk target CPU, Saya menguji dengan Cortex A9 saja (ARMv7).
# Tambahkan repositori Linaro, termasuk peralatan mereka dan yang lebih baru # versi dari qemu (Anda memerlukan setidaknya qemu 0.15*). sudo add-apt-repository ppa:linaro-maintainers/tools # Memasang peralatan linaro dan qemu sudo apt-get install linaro-image-tools qemu-user-static qemu-system # Jika Anda ingin mendapatkan cross-compile pada host, pasang juga perangkat ini sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueab
Anda dapat menemukan rilis yang cocok dan paket perangkat lunak tarball pada halaman rilis linaro. Beberapa dari itu mungkin bekerja, atau mungkin tidak. Saya menggunakan dua link dibawah ini yang bekerja dengan baik untuk Saua I used the two links below that worked fine for me.
wget http://releases.linaro.org/platform/linaro-n/nano/alpha-3/linaro-natty-nano-tar-20110302-0.tar.gz wget http://releases.linaro.org/platform/linaro-n/hwpacks/alpha-3/hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
''(Langkah-langkah berikut kita pinjam dari https://wiki.linaro.org/PeterMaydell...rsatileExpress dan sedikit dimodifikasi).'' Menggunakan peralatan linaro, Anda dapat dengan mudah membuat SD card image dari paket unduhan (ini akan memakan waktu cukup lama):
linaro-media-create --image_file vexpress.img --dev vexpress \ --binary linaro-natty-nano-tar-20110302-0.tar.gz \ --hwpack hwpack_linaro-vexpress_20110302-0_armel_supported.tar.gz
Image yang dubuat juga berisi kernel dan initrd dari mesin kita. Kita memerlukan kedua file meskipun itu diluar image. Perintah berikut untuk mount image ke "/mnt/tmp":
sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } /partition 2/ { print $7*512; }')" \
-t auto vexpress.img /mnt/tmp
Sekarang salin kernel dan initrd file ke direktori saat ini (CATATAN: Nama file dapat berbeda disetiap pembuatan!):
cp /mnt/tmp/vmlinuz-2.6.38-1000-linaro-vexpress . cp /mnt/tmp/initrd.img-2.6.38-1000-linaro-vexpress . # Buat beberapa symlink untuk memudahkan ln -s vmlinuz-2.6.38-1000-linaro-vexpress vmlinuz ln -s initrd.img-2.6.38-1000-linaro-vexpress initrd.img
Anda dapat memulai QEMU sekarang dengan perintah berikut:
qemu-system-arm -M vexpress-a9 -cpu cortex-a9 -kernel ./vmlinuz \ -initrd ./initrd.img -redir tcp:2200::22 -m 512 \ -append "root=/dev/mmcblk0p2 vga=normal mem=512M devtmpfs.mount=0 rw" \ -drive file=vexpress.img,if=sd,cache=writeback
Bebrapa penjelasan dari opsi yang tidak jelas pada perintah diatas:
Setelah memulai mesin, Anda akan bertemu dengan Linux shell dalam layar QEMU setelah beberapa waktu startup
Untuk menggunakan SSH, Anda harus terlebih dahulu mengaktifkan jaringan dan memasang paket SSH servere. Mengaktifkan jaringan untuk sementara menggunakan perintah berikut:
ifconfig eth0 up dhclient eth0
Sekarang coba pasang SSH:
apt-get install openssh-server
Untuk membuat jaringan berubah menjadi permanen, edit file ''/etc/network/interfaces'' (e.g. dengan ''vi'') dan tambahkan baris berikut:
auto eth0 iface eth0 inet dhcp
Terakhir, tentukan password untuk root menggunakan perintah ''passwd''. Sekarang jalankan ulang mesin dan lihat apakah Anda bisa melakukan SSH menggunakan ''ssh -p2200 root@localhost'' pada mesin host.