mozilla
Your Search Results

    Virtual ARM di Lingkungan Linux

    Pengujian dengan Linux di arsitektur ARM menggunakan QEMU

    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.

    Prasyarat

    Petunjuk ini mengasumsikan sistem host yang Anda gunakan adalah Ubuntu Linux juga karena memudahkan kita untuk memasang  perangkat lunak yang diperlukan dari repositori luar.

    Target board/CPU

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

    Instalasai perangkat lunak yang dibutuhkan

    # 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

    Mengunduh rilis Linaro dan paket perangkat keras

    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
    

    Membuat image

    ''(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
    

    Mengekstart kernel dan initrd

    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
    

    Memulai QEMU

    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:

    • ''-redir tcp:2200::22'' pengalihan lalu lintas TCP pada port host 2200 ke mesin tamu (QEMU) port 22. Ini akan memungkinkan kita untuk SSH ke mesin dilain waktu dengan menghubungkan ke localhost port 2200.
    • ''-m 512'' menetapkan kita ingin menggunakan 512 MB RAM. Anda dapat menyesuaikan ini, tapi pastikan Anda juga mengubahnya di ''-append'' string.
    • ''-drive file=vexpress.img,if=sd,cache=writeback'' Menempelkan image kita sebagai SD card. Saya diberitahu oleh orang-orang Linaro bahwa cara ini lebih cepat I/Onya dbiandungkan opsi tardisional ''-sd''.

    Setelah memulai mesin, Anda akan bertemu dengan Linux shell dalam layar QEMU setelah beberapa waktu startup

    Menggunakan SSH

    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.

    Document Tags and Contributors

    Contributors to this page: ariestiyansyah
    Last updated by: ariestiyansyah,