System w systemie - środowisko do budowy pakietów stworzone w qemu

qemu1

1. Wstęp
Od czasu do czasu brakuje nam jakiegoś pakietu w repozytoriach naszej ulubionej dystrybucji i trzeba sięgnąć do budowania paczek. Wiąże się to jednak z problemem zaśmiecania naszej stacji roboczej, co jeszcze w Archu nie jest tak zauważalne, ale w PLD - gdzie programy mają osobne pakiety -devel (co jest świetnym rozwiązaniem), robi się bałagan.
Jest na to proste, eleganckie i wygodne rozwiązanie - maszyna wirtualna.
Mój wybór padł na qemu. (http://wiki.archlinux.org/index.php/Qemu)

2. Procedura dla Archa

2.1
Instalujemy potrzebne pakiety:
# pacman -Sy qemu kqemu

Kilka wspomagających komend:
# echo "options kqemu major=0" >> /etc/modprobe.conf
potrzebne do odpalania kqemu
# modprobe kqemu
# echo 1024 > /proc/sys/dev/rtc/max-user-freq
pozwoli odpalic programy spod zwykłego użytkownika z lepszą wydajnością (od jądra bodajże 2.6.20 opcja ta nie działa)

2.2
Tworzymy wirtualny dysk:
$ qemu-img create -f qcow archBUILD.qcow 10G
qcow - "format" naszego dysku - dzięki temu nie będzie od początku zajmował10G lecz rozrastał się w miare potrzeb.
archBUILD.qcow -> nazwa
10G -> Rozmar, spokojnie nie zajmuje tyle od początku

2.3
Teraz potrzebujemy (a)obrazu płyty instalacyjnej, bądź (b)wypalonej płytki instalacyjnej.

(a)kopiujemy obraz do katalogu gdzie stworzyliśmy dysk i wydajemy polecenie:
$ qemu -cdrom nazwa_obrazu.iso -boot d archBUILD.qcow -m 512
opcja -m 512 przydzieli dla wirtualnego systemu 512MB ramu, standardowo jest to tylko 128MB, a więc jeżeli chemy odpalić sobie winblowsa, czy np ubuntu to nie zapominajmy o niej :)

bądź:
(b)w przypadku wypalonej płyty:
$ qemu -cdrom /dev/cdrom -boot d archBUILD.qcow -m 512

3. Instalacja Archa - przebiega standardowo, poniżej tylko mała uwaga o dyskach.

Gdyby instalator nie widział dysku (Tylko Arch mnie tak zaskoczył, zarówno PLD jak i Ubuntu nie miały z tym problemu):
Po zabotowaniu z płytki instalacyjnej (w qemu oczywiście)
Wciskamy:
ctrl+alt+2

i wpisujemy:
sendkey ctrl-alt-f2
wciskamy:
ctrl+alt+1
co przeniesie nas zpowrotem do Archa (na vc/2 (tty2))

Ładujemy potrzebne moduły (Poniżej przykład dla typowego dysku IDE, uzyskałem je za pomoca odpalenia w qemu PLD rescucd i komendy lsmod)

# modprobe ide_core
# modprobe ide_disk
# modprobe piix

Jeżeli problem taki wystąpił pamiętac należy, żeby dodać te moduły do sekcji MODULES w /etc/mkinitcpio.conf

Powracamy na vc/1 lub uruchamiamy instalator na tej konsoli.

Dalej instalacja powinna przebiec bez problemów.

4. Start sytemu
Po zainstalowaniu zamykamy qemu i mzemu juz odpalic go normalnie:

$qemu -boot c archBUILD.qcow -m 512 -kernel-kqemu -kernel-kqemu przyśpiesza pracę emulatora.

5. Przeprowadzamy standardowe operacje: ustawiamy repozytoria, zmieniamy serwery, upgradujemy system, instaliujemy potrzebne nam paczki

5.1 ustawienia sieci
Edytujemy /etc/rc.conf
Ustawiamy:
eth0="eth0 10.0.2.X netmask 255.255.255.0"
"X" - dowolny numerek z zakresu 3-255

gateway="default gw 10.0.2.2"
ROUTES=(gateway)

Wyłączamy.

5. Kopia systemu bazowego

Teraz warto zrobic kopie naszego obrazu, tak, żebyśmy zawsze mogli powróci do czystego Archa jak cos zepsujemy ;)
cp archBUILD.qcow archBUILD-clean.qcow

6. Teraz spokojnie możemy kompilować, śmiecić, testować, jak cos padnie to powracamy do systemu bazowego bez najmniejszego problemu.

7. Zrzuty ekranu z qemu:

O tym jak wymieniać dane pomiędzy systemem gospodarzem, a qemu przeczytasz tutaj:
http://grizz.pl/qemu_wymiana_plikow

Portret użytkownika avalan

Ja bym się upierał przy

Ja bym się upierał przy chroot'owanym środowisku. Mniejsza utrata wydajności, większe możliwości modyfikacji samego systemu ;)

Portret użytkownika grizz

Dla mnie jest ważne, że

Dla mnie jest ważne, że działa i nie robi syfu w systemie i jedną komenda mogę wrócić do dowolnej kopii zapasowej, czy też innych ustawień.

Portret użytkownika Taki jeden

Windows XP, a Qemu

Czy testowałeś może w tym emuletorze działanie Windows XP?

Portret użytkownika grizz

nie

XP nie, nie mam potrzeby ;p

w2k instalowałem u znajomego i działało, choc instalacja była niemiłosiernie długa (ale było bez akceleracji kqemu).

Co do używania nie wypowiem się.

Portret użytkownika ArchCezar

windows 2000

Ja uzywam qemu na procesorze core duo, pod slackwarem i musze powiedziec, ze win2k dziala bardzo szybko chociaz widac, ze przydala by sie akceleracja dla grafiki (chociaz w minimalnym zakresie) bo ewidentnie ten element pochlania spora moc procesora (wystarczy wlaczyc jakikolwiek film na wirt. OSie by sie o tym przekonac:). XP hmmm... osobiscie nie tesotwalem - z wlaczona luna pewnie bedzie mulic. Mozna by artykul rozszerzyc o konfiguracje sieci wirtualnej, czyli jak na wirt. systemie kozystac z zasobow sieciowych systemu natywnego.
Pozdrawiam

Portret użytkownika ArchCezar

XP na Qemu

Update!
Sytuacja zmusila mnie do porzucenia win2000 i kozystania z XP na wirtualnej maszynie. Generalnie cale srodowisko dzila znosnie, ale tak jak napisalem wczesniej: przydalo by sie wsparcie dla grafiki. Uwaga do instalacji XP: podczas inicjalizacji instalatora (ten niebieski, textowy ekran) trzeba wylaczyc kqemu (-no-kqemu). Po zgraniu plikow instalatora, gdy instalator jest gotowy do ponownegu uruchomienia sie mozna wylaczyc maszyne wirtualna i dopisac do opcji -kernel-kqemu. Dzieki temu dalsza czesc instalacji przebiegnie w czasie (prawie :P ) zeczywistym (ok. 20-30min).

Portret użytkownika grizz

Dzięki za informację

Dzięki za informację

Portret użytkownika Gość

A jak na wirtualnym win2k3

A jak na wirtualnym win2k3 ustawić sieć skoro nie rozpoznaje karty sieciowej?

Portret użytkownika grizz

Może jakieś sterowniki? Na

Może jakieś sterowniki?
Na XP siec działała.

Portret użytkownika Gość

myślę że mam źle

myślę że mam źle skonfigurowaną sieć na qemu dlatego win nie rozopznaje karty sieciowej.
przekopałem kilka forum, przeczytałem mana
poklepałem kilka opcji z net i tap ale nie rozpoznaje karty sieciowej.
Proszę o pomoc

Portret użytkownika grizz

ALe w qemu się sieci nie

ALe w qemu się sieci nie ustawia :/

Podajesz mu te parametry co w pkt. 5.1 i powinno smigać.

Dodaj nową odpowiedź

Zawartość pola nie będzie udostępniana publicznie. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
Subskrybuje zawartość