itoutline.me

 

Qemu

Dzięki quemu możemy uruchamiać na x86 obrazy systemów które do tej architektury nie należą. Można szybko coś sprawdzić bez konieczności instalacji systemu na docelowym urządzeniu. Minusem qemu jest to, że nie jest zbyt wydajne w swojej natywnej postaci ale do niezbyt “grubych” dystrybucji sprawdza się doskonale.

Instalacja qemu

Tylko z tą wersją gcc udało się uniknąć “białego ekranu” po uruchomieniu qemu:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb

Instalacja pakietow potrzebnych do poprawnej pracy qemu:

brew install jpeg gnutls glib

Chwilowa podmiana wersji gcc zainstalowanej przez Xcode 4.4.1 na tą zainstalowaną przez brew:

sudo mv /usr/bin/gcc /usr/bin/gcc_orig sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc

Instalacja qemu:

brew install qemu --use-gcc

Powrót do oryginalnej konfiguracji systemu:

sudo mv /usr/bin/gcc_orig /usr/bin/gcc

Jeśli gcc -v wyświetla w ostatniej linii taką wersję:

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

Tzn. że gcc instalowany przez Xcode 4.4.1 został przywrócony.

Centos

Zaczynamy od przygotowanie dysku który będzie wykorzystywany przez system:

qemu-img create -f qcow2 centos_hdd.img 10G

Na szczęście nie jest tworzony od razu plik 10GB, miejsce jest sukcesywnie dobierane w miarę potrzeb.

Uruchomienie:

qemu-system-x86_64 -m 1G -localtime centos_hdd.img -cdrom CentOS-6.2-x86_64-LiveDVD.iso

Openwrt

Pobieramy Openwrt:

curl -O http://downloads.openwrt.org/backfire/10.03/x86/openwrt-x86-ext2.image.gz

Otwieramy archiwum:

gunzip openwrt-x86-ext2.image.gz

Uruchomienie:

qemu-system-x86_64 -hda openwrt-x86-ext2.image

Debian Squeeze

Tym razem wersja przeznaczona pod architekture ARM.

Pobieramy pliki:

curl -O http://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.32-5-versatile curl -O http://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.32-5-versatile curl -O http://people.debian.org/~aurel32/qemu/armel/debian_squeeze_armel_standard.qcow2

Uruchomienie:

qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1"

Comments