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