Download: CoverBochs

Transkrypt

Download: CoverBochs
Emulator Bochs
Emulacja PC
EMULATOR
BOCHS
Jak szybko i bezpiecznie uruchomić kolejny system operacyjny
na Twoim komputerze? Polecamy emulator Bochs.
JACEK SZUMOWSKI
B
ochs jest wydanym na licencji
GNU/GPL programem do emulacji
komputera PC (Intel x86). Za jego
pomocą można zainstalować i uruchomić
wiele systemów operacyjnych przeznaczonych dla tej platformy sprzętowej: Windows,
Linux czy BSD, bez konieczności przeznaczenia do tego celu odrębnej partycji na dysku twardym. Program Bochs dostępny jest
dla wielu systemów, między innymi: Linux,
Win32, MacOS X. Zajmiemy się, oczywiście,
wersją programu dla systemu Linux. Wszystkie eksperymenty z Bochsem wykonywane
były na komputerze PC wyposażonym
w procesor Intel Celeron 1.2 GHz i 256 MB
RAM z wykorzystaniem dystrybucji Linuksa
Slackware 10.0.
Instalacja
Najpierw pobieramy program z [1]. Archiwum
rozpakowujemy poleceniem tar xzvf bochs-20041110.tar.gz, komendą cd bochs-20041110
przechodzimy do katalogu z programem. Instalacja z domyślnymi parametrami jest bardzo prosta i sprowadza się do wykonania poleceń ./configure, a następnie make. Przy wprowadzaniu tych komend nie musimy korzystać
z konta użytkownika uprzywilejowanego. Za
pomocą skryptu configure, wprowadzając odpowiednie parametry, możemy zmieniać ustawienia domyślne. Mamy między innymi możliwość zmiany emulowanego procesora (domyślnie Pentium), włączenia karty Sound Blaster czy joysticka. Wszystkie opcje skryptu dostępne są po wprowadzeniu komendy ./configure – help, a ich dokładniejszy opis (wraz z informacją, co jest standardowo włączone) znajduje
się w dokumentacji dostarczanej z progra-
mem. Do większości zastosowań zmiana ustawień skryptu nie będzie jednak konieczna. Po
pomyślnej instalacji w katalogu z programem
znajdziemy plik wykonywalny bochs.
Konfiguracja
Instalacja zazwyczaj przebiega bezproblemowo.
Niestety, program bez dodatkowej konfiguracji
na niewiele się przyda. Do przeprowadzenia jej
można posłużyć się dwiema metodami. Pierwsza z nich opiera się na wykorzystaniu interfejsu konfiguracyjnego Bochsa. Znajdując się
w katalogu z programem, musimy uruchomić
program poleceniem ./bochs, a następnie wybrać
opcję Edit options, wprowadzając cyfrę 3. Zobaczymy menu z opcjami przeznaczonymi do edycji. Po ewentualnych zmianach nie możemy zapomnieć o zapisaniu utworzonej konfiguracji
(domyślnie w pliku bochsrc).
Powyższa metoda zmiany ustawień celowo
opisana została bardzo pobieżnie. Nie zawsze
działa ona bezbłędnie (niektórych ustawień
nie udaje się zmienić). Poza tym szybszy i precyzyjniejszy wydaje mi się drugi sposób: bezpośrednia edycja pliku bochsrc. Plik ten znajduje się w katalogu, w którym zainstalowaliśmy program. Podzielony on został na kilkanaście sekcji. Aby program działał poprawnie,
TEMAT MIESIĄCA
musimy zmienić domyślne parametry zawarte w tym pliku, wykorzystując do tego celu
dowolny edytor tekstu. Na początek musimy
odnaleźć sekcję ROMIMAGE i wpis romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000 zmienić na romimage: file
=bios/BIOS-bochs-latest, address=0xf0000, pozwoli to na odnalezienie przez program plików
z BIOS-em emulowanego PC. W sekcji MEGS
wstawiamy znak komentarza # przed wpis
megs: 32, a usuwamy z #megs: 64. Teraz nasz
wirtualny komputer będzie miał 64 MB RAM
(przy posiadanych fizycznie 256 MB RAM).
Następnie odnajdujemy sekcję VGA ROMIMAGE odpowiedzialną za odnalezienie
w strukturze katalogów odpowiedniego obrazu
pamięci RAM karty VGA, zmieniamy wpis:
vgaromimage: file=$BXSHARE/VGABIOS-elpin-2.40 na vgaromimage: file=bios/VGABIOS-elpin-2.40. Teraz w sekcji ATA0, ATA1,
ATA2, ATA3 kontrolującej twarde dyski
i napędy CD-ROM wpis ata1: embeded=0,
ioaddr=0x170, ioaddr2=0x370, irq=15 zmieniamy na ata1: embeded=1, ioaddr=0x170, ioaddr2=0x370, irq=15. Na koniec pozostały
nam ustawienia w sekcji ATA[0-3]-MASTER,
ATA[0-3]-SLAVE. Na początek trzeba zmienić
wpis ata0-master: type=disk, mode=flat,
path=„30M-sample”, cylinders=615, heads=6,
spt=17, na ata0-master: type=disk, mode=flat,
path=„1280M”, cylinders=2600, heads=16,
spt=63. Tym samym zmieniony został domyślny wpis odwołujący się do nieistniejącej 30
MB plikopartycji, nasz nowy dysk będzie miał
1280 MB. Oczywiście, można stworzyć plik
o większym rozmiarze, należy wtedy wprowadzić odpowiednie modyfikacje w powyżej edytowanej linii. Pomocna może tu być Tabela 1.
Następny wiersz pliku bochsrc, który będziemy zmieniać, dotyczy emulowanego napędu
dysków optycznych. W komputerze, w którym
napęd CD/RW jest podpięty do kontrolera
ATA1 jako master, należy zamienić linię #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
na ata1-master: type=cdrom, path=/dev/cdrom,
status=inserted. Na tym zakończymy edycję pliku konfiguracyjnego programu Bochs. Tak
zmieniony plik pozwoli na poprawne działanie
Tabela1: Parametry dla przykładowych rozmiarów
dysków twardych
Rozmiar
Cylindry
Głowice
112 MB
900
15
Sektory/Ścieżki
17
Suma sektorów
229500
640 MB
1300
16
63
1310400
1280 MB
2600
16
63
2620800
2215 MB
4500
16
63
4536000
WWW.LINUX-MAGAZINE.PL
NUMER 16 MAJ 2005
35
TEMAT MIESIĄCA
Emulator Bochs
Rysunek1: Start FREESCO.
aplikacji w większości przypadków. Gdyby zależało nam na bardziej wyszukanych ustawieniach, z pomocą przyjdzie dołączona do programu dokumentacja, w której plik bochsrc jest dobrze opisany. Po zakończeniu czynności konfiguracyjnych musimy jeszcze stworzyć obraz
dysku twardego naszego komputera. Musi on
mieć rozmiar i położenie zgodne z wpisem w pliku bochsrc. W tym celu, znajdując się w katalogu
z programem, wprowadzamy polecenie: dd
if=/dev/zero of=1280M bs=512 count=2620800.
W dystrybucji Slackware 10.0, aby móc korzystać
ze stacji dyskietek i napędu dysków optycznych,
nie posługując się kontem roota, trzeba zmienić
prawa dostępu do plików /dev/fd0 i /dev/sr0, poleceniami chmod 664 /dev/fd0 i chmod 664 /dev/sr0.
Użytkownicy innych dystrybucji mogą być z tego
obowiązku zwolnieni.
Opis działania
Przedstawiając działanie programu Bochs,
skoncentrujemy się na pracy emulowanego
komputera z oprogramowaniem Open Source.
Najbardziej interesująca wydaje się możliwość zapoznania się z systemami BSD. Należy jednak wspomnieć, że możliwe jest uruchomienie systemów Windows. Jest to doskonale
opisane w załączonej do programu dokumentacji, a przedstawione w niniejszym artykule
informacje pomocne będą także do pracy z tymi systemami. Warto zaznaczyć, że do emulacji systemów Windows potrzebujemy naprawdę szybkiego komputera, jednak i wtedy lepiej
wybrać wersję 95/98 niż 2000/XP.
Nasze próby rozpoczniemy z jednodyskietkową dystrybucją Linuksa, Freesco. Świadomie do pierwszego uruchomienia Bochsa wybrano system o tak małym rozmiarze. Przy
niewielkiej prędkości emulowanego sprzętu
przeprowadzanie eksperymentów i przedstawienie sposobu działania programu z wykorzystaniem tak mało wymagającego systemu
wydaje się zasadne. Aby uruchomić system,
po włożeniu dyskietki do napędu (i ewentualnym zamontowaniu) należy, znajdując się
w katalogu z programem, wydać polecenie/bochs boot: floppy. Ukaże się menu z wybra-
36
NUMER 16 MAJ 2005
ną domyślnie opcją Begin simulation, wystarczy wtedy potwierdzić wybór klawiszem Enter. Po chwili powinniśmy zobaczyć okno, takie jak na Rysunku 1. Na górnym pasku okna
emulatora można zauważyć szereg ikon
z przydatnymi opcjami, między innymi: status dostępnych napędów, włączenie/wyłączenie myszki, wykonanie zrzutu ekranu w trybie
tekstowym (domyślnie plik snapshot.txt), reset
czy koniec pracy programu (ikonka Power).
kowy Linux posłużył jako narzędzie do przedstawienia możliwości uruchamiania programu.
Informacje te przydatne będą także do zainstalowania innych systemów operacyjnych. Aby
zainstalować system FreeBSD, należy po włożeniu płyty do napędu wprowadzić polecenie:
./bochs -q boot:cdrom. Można także skorzystać
z obrazu płyty w analogiczny sposób, jak z obrazu dyskietki. Celem tego artykułu nie jest
przedstawienie całego procesu instalacyjnego
FreeBSD. Użytkownik Bochsa powinien jednak trzymać się pewnych wskazówek. Ze
względu na prędkość emulatora warto w oknie
sysInstall Main Menu wybrać opcję Express, a następnie w sekcji Choose Distribution zaznaczyć
A (Rysunek 2). Po zakończeniu instalacji konieczne może okazać się wyłączenie w oknie
Configure sshd w sekcji Networking (Bochs wieszał się podczas generowania kluczy). Działający system FreeBSD przedstawia Rysunek 3.
Rysunek 2: Wybór minimalnej instalacji
FreeBSD 5.0
Pasek na dole okna programu Bochs informuje nas o wykorzystywanym napędzie i włączonych klawiszach klawiatury (Caps Lock, Scroll
Lock, Num Lock), podświetlając odpowiednie
miejsce na zielono. Program Bochs możemy
uruchomić z odpowiednimi argumentami wydawanymi z linii poleceń. Niezbyt imponującą listę opcji otrzymamy po wydaniu polecenia ./bochs–help. Argument (-f nazwa_pliku)
pozwala podać lokalizację pliku konfiguracyjnego (przydatne, gdy nie korzystamy z .bochsrc). Opcja -n próbuje uruchomić Bochsa bez
pliku konfiguracyjnego, a argument -q powoduje uruchomienie programu z pominięciem
interfejsu konfiguracyjnego. Naszą wirtualną
maszynę uruchamialiśmy poleceniem /bochs
boot: floppy, co w wypadku uruchamiania komputera z dyskietki jest postępowaniem właściwym. Gdy do startu zamierzamy wykorzystać
inny napęd zamiast floppy, należy wpisać
cdrom (napęd płyt optycznych) lub disk (dysk
twardy). Aby zmienić domyślne urządzenie
bootujące, musimy powrócić do edycji pliku
bochsrc i zmienić odpowiedni wpis w sekcji
BOOT. Należy wspomnieć o możliwości stworzenia obrazu dyskietki lub płyty CD-ROM,
z którego będziemy uruchamiać system. Aby
skorzystać z tej możliwości dla jednodyskietkowej dystrybucji Freesco, musimy wykonać
polecenie: dd if=/dev/fd0 of=freesco, zmienić
wpis floppya: 1_44=/dev/fd0, status=inserted,
w sekcji FLOPPYA pliku bochsrc na floppya:
1_44=freesco, status=inserted. Po wpisaniu polecenia ./bochs -q boot:floppy system załaduje się
z utworzonego wcześniej obrazu. Jednodyskiet-
WWW.LINUX-MAGAZINE.PL
Rysunek 3: FreeBSD podczas pracy.
Podsumowanie
Bochs to aplikacja, która stale się rozwija.
Warto odwiedzać stronę internetową programu w celu pobrania najnowszych, stabilniejszych wersji. Jego największym mankamentem jest jednak prędkość działania. FreeBSD
podczas uruchamiania przedstawia informację, że dysponuje procesorem Pentium 10
MHz, a sama instalacja systemu (w wersji minimalnej) zajęła około 50 minut. Ewentualna
instalacja i praca z Windows zasadna jest tylko
w wypadku posiadania naprawdę szybkiego
sprzętu. Bochs sprawuje się natomiast znakomicie podczas testowania dystrybucji Linuksa
(np. jednodyskietkowych) i systemów BSD, pracujących, oczywiście, w konsoli tekstowej.
■
AUTOR
Jacek Szumowski jest operatorem systemu
komputerowego Muzeum w Koszalinie. Systemami Open Source interesuje się od pięciu lat.
INFO
[1] Strona internetowa programu Bochs:
http://bochs.sourceforge.net/getcurrent.html