Opis emulatora systemu operacyjnego DOS
Opis emulatora systemu operacyjnego DOS
Autor: Mike Deisher
Uaktualnione przez Uwe Bonnes dla dosemu-0.64.4, 15 Marca 1997
Uaktualnione przez Davida Hodgesa
davidhodges@altavista.iname.com
Dla dosemu-0.98.6, 24 Kwietnia 1999
Wersja polska: Bartosz Maruszewski
B.Maruszewski@jtz.org.pl
v2.0, 14 Sierpnia 1999
Jest to dokument opisujący dosemu i zawierający Często Zadawane Pytania na
jego temat. Najbardziej aktualna wersja oryginału tego dokumentu
znajduje się po adresem
www.dosemu.org.
Wersji oryginalnej możesz też poszukać w Polsce pod adresem
ftp.icm.edu.pl.
Dokument ten został napisany w standardzie ISO-8859-2.
1. Wstęp.
1.1 Co to w ogóle jest DOSEMU?
Cytując podręcznik, dosemu jest programem dla wszystkich
użytkowników danego serwera, który korzysta z pewnych specjalnych
cech jądra Linuksa oraz procesora 80386, aby uruchomić system
MS-DOS/FreeDOS/DR-DOS. Emulator tego systemu, kombinacja sprzętowych i
programowych trick-ów, ma następujące właściwości:
zdolność naśladowania wszystkich instrukcji procesora i operacji
wejścia/wyjścia.
pozwala na wykorzystanie 16-bitowego adresowania trybu
rzeczywistego rodziny procesorów iAPX86, podczas gdy sam działa w
trybie chronionym
jeśli zachodzi taka potrzeba, ze względu na właściwe funkcjonowanie czy
też jakośc działania, istnieje możliwość zablokowania wszystkich odwołań
systemowych DOS-a i BIOS-a oraz ich emulacja.
możliwość symulowania sprzętowego środowiska, nad którymi
programy DOS-owe mają mieć kontrolę.
zapewnia usługi systemu DOS korzystając w tym celu z usług
Linux-a, na przykład dosemu pozwala na używanie dysku wirtualnego,
który w rzeczywistości jest jednym z katalogów Linux-a.
W tym miejscu chciałbym podziękować Piotrowi Tęczyńskiemu oraz
Wojtkowi Gałązce za pomoc w przetłumaczeniu powyższych pięciu punktów.
1.2 Na jakich systemach operacyjnych działa DOSEMU ?
DOSEMU zostało pierwotnie napisane dla Linuksa. Działa także w NetBSD
i możliwe, że także w FreeBSD, jednak emulacje graficzne racej nie
będą działać w NetBSD. Co oznacza, że wszystkie programy DOS-owe
używające trybu graficznego (większość programów) nie będą działały.
1.3 Na jakich procesorach działa DOSEMU ?
Działa tylko na rodzinie Intel 80x86, czyli 80386, 80486, Pentium
itp.
1.4 Co jeśli mam procesor Alpha/Sparc/Motorola/inny nie-Intel ?
DOSEMU działa tylko na rodzinie procesorów x86, ale są wyjścia
alternatywne: Bochs (http://www.bochs.com) jest shareware'owym
emulatorem komputera PC z dostępem do kodu źródłowego, który to
emulator działa na większości Uniksów (jak również na MS-Windows).
A są jeszcze inne opcje (non-free) - poczytaj FAQ grupy
comp.emulators.misc dostępne w Polsce pod adresem
ftp.icm.edu.pl/pub/doc/usenet/comp/emulators/misc/
1.5 Czy potrzebuję MS-DOS-a, aby używać DOSEMU ?
Nie. Potrzebujesz jakiejś wersji DOS-a, ale nie musi to być
koniecznie MS-DOS. Przeczytaj rozdział "Jakie wersje DOS-a działają
z DOSEMU ?".
1.6 Czy mogę uruchamiać programy dla Microsoft Windows w DOSEMU ?
Nie jest to rozsądne. Lepiej żebyś użył emulatorra Windows -- Wine
(http://www.winehq.com). Jeśli upierasz się, aby uruchomić Windows
w DOSEMU, to poczytaj rozdział 8 -- DOSEMU i MS-Windows 3.1.
1.7 Chcę uruchomić coś co nie działa w DOSEMU czy WINE.
Przeczytaj punkt 1.4.
1.8 Nazwy i liczby.
(xx/yy/zz) oznacza dzień xx, miesiąc yy, rok zz (9/2/97).
winemu oznacza uruchomienie WinOS/2 w dosemu (10/2/97).
1.9 Jakiej wersji dosemu powinienem używać?
Dosemu używa tego samego schematu numerowania wersji co
jądro. Drugie liczby nieparzyste oznaczają wersję rozwojową, czyli
niestabilną, drugie parzyste liczby oznaczają wersję uznaną za
stabilną. Podczas pisania tego dokumentu, v0.98.6 jest
najnowszą stabilną wersją, podczas gdy v0.99.10 jest
najnowszą wersją rozwojową. Tak więc jeśli chcesz używać dosemu,
zdobądź najnowszą stabilną wersję.
1.10 Jaka jest najnowsza wersja dosemu i skąd ją mogę wziąć?
Najnowszą wersją dosemu na dzień dzisiejszy (9/4/99) jest
dosemu0.98.6 i można ją znaleźć na:
SUNSite Polska
ftp.dosemu.org
[Od tłum.] Lepiej używać adresu w Polsce, bo z
zagranicy czas ściągania może się znacznie wydłużyć.
Pamiętaj, że to jest kod ALPHA: mogą być tam poważne błędy i mało
dokumentacji na temat nowości. W wersji
testowej znajdują się błędy. Używaj jej tylko jeśli chcesz się
aktywnie włączyć w jej rozwój. Nie zgłaszaj błędów w wersji
rozwojowej - napraw je.
1.11 Gdzie mogę zadawać pytania?
Jeśli masz problemy związane z instalacją i uruchamianiem dosemu po
przeczytaniu dokumentacji, najpierw spróbuj sobie sam pomóc: Twoje
pytanie zostało już pewnie zadane i odpowiedź udzielona. Spróbuj
poszukać tej informacji w Internecie. Np. możesz zajrzeć do
DejaNews - największego zbioru artykułów z grup
dyskusyjnych z całego świata.
aby znaleźć wszystkie artykuły, które zawierają podane przez ciebie
słowo. W ten sposób pomożesz sobie prędzej niż zadawaniem dobrze znanego
pytania na jakiejś liście. To także uwalnia programistów od
odpowiadania na trywialne pytania i przyczynia się do tego, aby
nowsze wersje oprogramowania powstawały szybciej.
[Od tłumacza] Istnieje także polska grupa dyskusyjna na temat
Linuksa, gdzie możesz pytać o dosemu pod warunkiem, że instalujesz
je na Linuksie. Jej nazwa to pl.comp.os.linux, można się także
na nią zapisać listownie pod adresem listserv@ict.pwr.wroc.pl.
1.12 Gdzie mogę zgłaszać zauważone błędy i zadawać pytania?
Jeśli chcesz zadać pytanie lub zgłosić błąd w dosemu, powinieneś
rozważyć zapisanie się na listę dyskusyjną linux-msdos.
Aby zapisać się na nią, wyślij list na adres
Majordomo@vger.rutgers.edu o treści
subscribe linux-msdos imię_nazwisko@twoj.adres.pocztowy
Jeśli będziesz chciał się kiedyś wypisać z tej listy, to wyślij
pocztę o treści
unsubscribe linux-msdos imię_nazwisko@twoj.adres.pocztowy
pod ten sam adres co powyżej(11/8/95). Kiedy jesteś zapisany na tę
listę możesz na nią wysyłać listy kierując pocztę na adres
linux-msdos@vger.rutgers.edu. Istnieje bramka pomiędzy tą
listą a grupą dyskusyjną linux.dev.msdos. Jeśli twój dostawca
Internetu nie prowadzi tej grupy, to poproś go o dodanie
jej(10/2/97). Zanim zadasz pytanie powinieneś przeczytać dokładnie
całą dokumentację, włącznie z tym HOWTO i sprawdzić jedno z
archiwów listy dyskusyjnej wymienione na
www.dosemu.org
i sprawdzić czy twoje pytanie zostało już zadane i czy ktoś na nie
odpowiedział.
1.13 Jaka dokumentacja jest dostępna dla dosemu?
Dokumentacja jest zawarta w pakiecie DOSEMU. Główne pliki z
dokumentacją (README.txt i README-tech.txt) pokrywają ogólnie
wszystkie aspekty DOSEMU i mogą być bardziej aktualne niż to HOWTO.
Podręcznik pod nazwą "dosemu Novice's Altering Guide", albo w
skrócie DANG stanowi mapę wewnętrznego sposobu działania
dosemu. Jest on przeznaczony dla żądnych przygody, dla tych którzy
chcą modyfikować kod źródłowy. DANG jest pod opieką Alistair
MacDonald (
alistair@slitesys.demon.co.uk) i można go znaleźć w
katalogu doc w drzewie katalogów dosemu.
Lista niepowodzeń EMU (EMUfailure.txt) jest listą programów, o
których wiadomo, że NIE działają DOSEMU.
No i oczywiście jest dosemu FAQ/HOWTO. Ale o tym już wiesz, nie?
Jest ono wysyłane raz na jakiś czas na listę dyskusyjną i znajduje
się też w katalogu doc w drzewie katalogów dosemu. Najnowsza
wersja oryginału znajduje się pod adresem
www.dosemu.org.
1.14 Mam program, który nie działa i nie jest w EMUfailure.txt.
Najpierw sprawdź czy powodem nie jest coś co wiadomo, że nie działa
w DOSEMU, wymienione w EMUfailure.txt. Jeśli uważasz, że znalazłeś
coś nowego, to zgłoś to do linux-msdos@vger.rutgers.edu. Możliwe,
że uda się to uruchomić z pomocą innych. Podaj szczegółowe
informacje na temat twojej konfiguracji, wersję jądra, DOSEMU itp.
No i podaj też zaobserwowane błędy. Możesz użyć xdos, żeby
przekleić myszką błędy, ale postaraj się utrzymać czytelność
raportu. Znamy też zawartość pliku ../etc/config.dist więc wyślij
tylko te linijki z dosemu.conf, które mają jakieś znaczenie.
Spróbuj uruchomić DOSEMU z trybem śledzenia (debug mode) i przyślij
nam najpierw tylko te części, które wydają się mieć związem z
problem. Naprawdę mało ludzi ma ochotę wczytywać się w czyjeś
długie załączniki, żeby wyśledzić co jest nie tak. Ale trzymaj te
logi pod ręką w razie gdyby się ktoś dopytywał szczegółów.
1.15 Jak mam informować o zmianach lub dodatkach w HOWTO?
Preferowaną metodą jest edycja pliku dosemu-HOWTO-xx.x.sgml,
żeby nanieść zmiany, stworzenie pliku z różnicami przez napisanie
czegoś takiego:
diff -uw plik-oryginalny plik-nowy > zmiany
i wysłanie pliku zmiany na adres
davidhodges@altavista.iname.com.
Jeśli nie znasz SGML-a, to nie szkodzi. Zmiany będą akceptowane w
jakiejkolwiek formie. Stworzenie pliku "zmiany", to po prostu
ułatwienie życia opiekunowi HOWTO. :-)
1.16 Wiadomości od Grega...
O ile nie stwierdza się inaczej, dokumenty HOWTO są chronione
prawami autorskimi ich autorów. Mogą one być rozprowadzane w
całości lub w części, w jakiejkolwiek postaci fizycznej czy
elektronicznej tak długo, dopóki znajduje się w nich ta wzmianka.
Dystrybucja komercyjna jest dozwolona, a nawet zachęca się do
niej; chociaż autor chciałby być poinformowany o takowej.
Wszelkie tłumaczenia, prace pochodne, prace zebrane zawierające
dokumenty HOWTO muszą zawierać tę notatkę o prawach autorskich.
Oznacza to, że nie możesz stworzyć pracy pochodzącej z HOWTO i
nałożyć na jej dystrybucję dodatkowych ograniczeń. Wyjątki od tej
zasady mogą być uczynione pod pewnymi warunkami; skontaktuj się z
koordynatorem programu Linux HOWTO pod niżej podanym adresem.
Krótko mówiąc, chcemy promować szerzenie tych dokumentów przez
wszelkie dostępne kanały. Chcielibyśmy także utrzymać prawa
autorskie nałożone na te dokumenty, i być powiadomieni o planach
dotyczących redystrybucji HOWTO.
Jeśli masz pytania skontaktuj się z Gregiem Hankisem,
koordynatorem programu Linux HOWTO pod adresem
gregh@sunsite.unc.edu(11/8/95).
2. Kompilacja i instalacja dosemu.
2.1 Gdzie są instrukcje instalacyjne?
Znajdują się one w pliku "QuickStart" dołączonym do dystrybucji.
2.2 Dziesięć najczęściej spotykanych problemów podczas instalacji dosemu.
Zapomniałeś przeczytać podręcznika QuickStart.
Próbujesz skompilować jakąś starą wersję dosemu.
Próbujesz kompilować z jądrem starszym niż 2.0.28 lub 2.1.15.
Masz złą wersję źródeł jądra w /usr/src/linux albo nie
masz pliku /usr/src/linux/include/version.h
Używasz dosemu z jądrem, które nie ma wkompilowanej obsługi
IPC.
Kompilujesz przy pomocy gcc starszego niż 2.7.2 albo z
biblioteką libc starszą niż 5.x.x
Zapomniałeś zmodyfikować plików /etc/dosemu.conf,
/etc/dosemu.users i /var/lib/dosemu/global.conf.
Uruchamiasz DOSEMU z dostępem do partycji podczas gdy są one już
zamontowane.
Nie instalujesz dosemu zalogowany jako root.
2.3 Jak mam zrobić binaria a.out?
Poczynając od wersji 0.64.4 nie ma już obsługi formatu a.out. Jeśli
koniecznie jej potrzebujesz, musisz użyć wersji 0.64.3.1. Skrypt
konfiguracyjny powinien się tym zając jeśli masz standardową
konfigurację.
2.4 Jak mam skompilować dosemu na maszynie z małą ilością RAM-u?
Marty Leisner (leisner@sdsp.mc.xerox.com) zgłosił
(8/4/95)
"Jeśli masz problemy z pamięcią, np. kończy się swap, to możesz
dodać wyrażenie CFLAGS+=-fno-inline za definicją CFLAGS w
pliku dpmi/Makefile. Bądź ostrożny i sprawdź czy masz
swap. Przekonałem się, że Linux często pada jeśli nie ma swap-u."
2.5 Kompilacja przerywa się na jakichś dziwnych błędach dotyczących "slang".
Przypuszczalnie zainstalowałeś swoją wersję biblioteki Slang i
podczas kompilacji miałeś ustawienie slangforce off w pliku
Makefile. Musisz to zmienić na slangforce on.
2.6 Jakie są dostępne opcje podczas kompilacji, które mogę zmieniać ?
W pliku compiletime-settings.help znajdziesz opis takich opcji. W
README.txt znajdziesz opis opcji, które możesz zmieniać po
kompilacji.
2.7 Czy muszę uruchamiać dosemu jako root?
Nie. Chociaż DOSEMU porzuca przywileje root-a gdzie tylko jest to
możliwe. Bezpieczniej jest nie uruchamiać DOSEMU jako root,
szczególnie jeśli uruchamiasz w nim programy korzystające z DPMI.
Większość programów nie potrzebuje, żeby DOSEMU działało z
przywilejami root-a, szczególnie jeśli uruchamiasz DOSEMU pod
X-ami. Nie powinieneś pozwalać użytkownikom na uruchamianie wersji
suid root jeśli to tylko możliwe, a tylko wersję bez uprawnień
root-a. Można to skonfigurować dla każdego użytkownika osobno w
pliku /etc/dosemu.users.
Programy, które wymagają bezpośredniego dostępu do portów sprzętu
(np. jeśli jakiś program musi komunikować się ze sprzętem nie
obsługiwanym przez Linuksa i DOSEMU) wymagają, aby DOSEMU działało
z prawami root-a. Ale drukarki, porty szeregowe, myszy i karty
graficzne (i w małym zakresie dżwiękowe) są emulowane przez DOSEMU
i nie potrzeba bezpośredniego dostępu do sprzętu. Nie potrzeba
wtedy także praw root-a, aby to działało.
2.8 Jak mam łatać dosemu.
Jeśli łatasz dosemu z jednej wersji do drugiej, napisz "make
pristine;./configure; make". Jeśli nie napiszesz "make
pristine", przynajmniej nowa wersja wykonywalna będzie zła jeśli
całość się w ogóle skompiluje(9/2/97).
2.9 Jakie wersje DOS-a działają z dosemu.
Wszystkie wersje DOS-a powinny działać z DOSEMU, jednak z pewnymi
kruczkami:
FreeDOS nie ma jeszcze działającego przekierowywania, więc nie
będziesz mógł mieć dostępu do partycji Linuksa czy do Novella.
Pamiętaj też, że FreeDOS to wersja bardzo beta i może się wywalić
kiedykolwiek psując system plików itp., itd.
DOS 4.01 miał problemy sam w sobie więc także w DOSEMU nie będzie
działał.
MsDos-7 czyli Win 95 także działa, ale zakładając, że nie
masz włączonego logo startowego i nie wystartujesz środowiska
graficznego. Jeśli uczynisz obraz dysku startowym tak zwaną
"dyskietką ratunkową", która jest ci oferowana podczas instalacji
Windows-ów, będziesz miał dobre ustawienia. Jeśli użyjesz normalnej
instalacji Win95, aby przenieść pliki systemowe, to zajrzyj do
pliku msdos.sys zapisanym na obrazie dysku i zmień ustawienia w
sekcji [Options] na takie:
[Options]
Logo=0
BootGUI=0
(7/3/97)
3. Ustawienia twardego dysku.
3.1 Jak mam używać swojego dysku z dosemu?
Po pierwsze zamontuj parytcję DOS-ową jako podkatalog w drzewie
Linux-a. Na przykład stwórz katalog "/dos" w Linux-ie (mkdir -m 755
/dos) i dodaj taką linię
/dev/hda1 /dos msdos umask=022
do pliku /etc/fstab. (W tym przykładzie, partycja jest
zamontowana w trybie tylko-do-odczytu. Możesz go zamontować w
trybie odczyt-zapis zamieniając "022" na "000" i używając w
poleceniu mkdir opcji -m 777). Teraz mount /dos.
W README.txt czytamy:
można mieć jakiś katalog Linuksa z całą zawartością jako C:.
Skopiuj IO.SYS, MSDOS.SYS czy co tam trzeba do tego katalogu (np.
/var/lib/dosemu/bootdir), do pliku /etc/dosemu.conf wpisz:
$_hdimage = "bootdir"
i już. DOSEMU zrobi z tego przekierowany napęd i będzie mogło
wystartować z niego. Przed wystartowaniem DOSEMU możesz
zmodyfikować config.sys i autoexec.bat w tym katalogu. Idąc dalej;
można mieć bardziej wyrafinowaną konfigurację. Zakładając, że
chcesz mieć ten sam napęd co wtedy kiedy startujesz prawdziwego
DOS-a, musisz poprostu zamontować tę partycję w Linuksie (np: /dos)
i umieścić linki do podkatalogów w katalogu, z którego DOSEMU
startuje. W ten sposób decydujesz które katalogi/pliki są widzialne
w DOSEMU a które nie. Oto mały i niekompletny przykład takiej
konfiguracji:
config.sys
autoexec.bat
command.com -> /dos/command.com
io.sys -> /dos/io.sys
msdos.sys -> /dos/msdos.sys
dos -> /dos/dos
bc -> /dos/bc
windows -> /dos/windows
Jest jednak jedna wada; nie można używać w tej konfiguracji jądra
DosC (FreeDOS), ponieważ nie posiada ono jeszcze działającego
przekierowania (przypuszczalnie będzie kiedyś w przyszłości).
3.2 Jak mogę się dostać do obrazu dysku z Linux-a?
Użyj mtools. Do pliku /etc/mtools.conf dopisz linię:
drive n: file="/var/lib/dosemu/hdimage" MTOOLS_SKIP_CHECK=1 \
MTOOLS_LOWER_CASE=1 MTOOLS_NO_VFAT=1 partition=1 offset=128
Potem możesz już używać mtools, np. "mdir n:". "mcopy n:/config.emu
/tmp" skopiuje plik config.emu z obrazu dysku DOS-owego do katalogu
/tmp na Linuksie. Możesz go tam zmodyfikować i skopiować z
powrotem. Użyj takiej litery dla dysku jaką chcesz, N: jest tylko
przykładem.
3.3 Czy mogę używać dysku spakowanego (stacked/double-spaced/super-stored)?
W tej chwili standardowe jądro nie potrafi obsłużyć takich dysków
przy pomocy programów "lredir" czy "emufs". Jest jednak łata, przy
pomocy której można zamontować skompresowane pliki. Nazywa się
"dmsdosfs". Można ją znaleźć w Polsce na
SUNSite Polska,
albo w USA pod adresem
sunsite.unc.edu.
Dobrym pomysłem jest też zaglądanie do
katalogu incoming w poszukiwaniu nowszej wersji. Oryginalna
zawartość jest pod adresem
sunsite.unc.edu.
Opcja "wholedisk" ze starszych wersji DOSEMU nie
działa w nowszych wersjach, chociaż linia:
$_hdimage = "/dev/hda1"
może działać. Jednak ryzykujesz utratę danych na tej partycji w
przypadku wywalenia się DOSEMU.
Jeśli twoja partycja DOS-owa jest już zamontowana z dostępem dla
zapisu i próbujesz uruchomić dosemu z dostępem do parytcji,
to wyświetli ono komunikat o błędzie i przerwie
działanie. Takie zachowanie zapobiega robieniu przez Linuksa i
DOS-a niezależnych zapisów na twojej partycji, co w konsekwencji
zaśmieciłoby ci tylko dysk(11/8/95).
---------------------
Jeśli masz zainstalowane LILO, to powyższe nie będzie
działać. Chociaż...
Thomas Mockridge (thomas@aztec.co.za) zgłosił (5/8/94)
Aby wystartować (boot) dosemu z LILO i Stacker-em 4.0 robisz małe
obejście...
przy pomocy polecenia dd przenieś MBR do pliku (czy
Norton Utilities, w każdym bądź razie pierwsze 512 bajtów).
wystartuj DOS-a (rzeczywisty DOS - nie dosemu), potem
wykonaj polecenie fdisk /mbr i uczyń partycję
DOS-ową aktywną (DOS-owym fdisk-iem).
skopiuj nowy MBR do pliku.
zamień na oryginalny MBR.
skopiuj ten drugi MBR do /var/lib/dosemu/partition.hda?
(gdziekolwiek tam masz parytcję DOS-ową).
ustaw w dosemu.conf
disk {partition "/dev/hda? ?"}
Wystartuj dosemu i voila! Nie ma LILO.
W nowszych wersjach DOSEMU musisz zmienić linię
disk {partition "/dev/hda? ?"}
na
$_hdimage = "/dev/hda1"
Holger Schemel (q99492@pbhrzx.uni-paderborn.de) zgłosił
(10/2/97), że
Działa nawet dobrze pod dosemu z MS-DOS-em 6.0. Jeśli masz jakieś
kłopoty, to musisz ręcznie zmodyfikować plik "DBLSPACE.INI" i
zmienić literę dysku na taką jaką twój dysk otrzymuje pod dosemu.
Darren J Moffat (moffatd@dcs.gla.ac.uk) zgłosił także
(27/3/94)
"...jeśli tylko możesz to używaj 6.2! Tylko upewnij się, że
masz dyskietkę startową z LILO pod ręką ponieważ DOS 6{.2}
zmieni MBR."
3.4 Tworzenie własnych plików hdimage.
Najłatwiej użyć programu mkdexe - szczegóły znajdziesz w plik
README.txt. Starym sposobem (nie wiem po co ktokolwiek miałby to
robić w ten sposób, no ale tak na wszelki wypadek podaję) robi się
to tak:
Jest dodatkowy program mkfatimage16,
który pozwala na tworzenie nagłówków plików hdimage. Pełna
informacja na ten temat znajduje się na stronie podręcznika
systemowego (man/mkfatimage16.1) dołączonej do twojej dystrybucji.
Aby stworzyć obraz dysku z geometrią odpowiadającą
prawdziwemu dyskowi o pojemności 32 MB wykonaj polecenie:
mkfatimage16 -k 32768 > hdimage
W większości przypadków będzie to za dużo; jeśli potrzbujesz tak
dużo miejsca, to pomyśl nad wykorzystaniem przekierowania.
Zwykle dobrym pomysłem jest sformatowanie napędu po takiej
operacji.
4. Porty równoległe, szeregowe i myszy.
4.1 Dostęp do portów działał w starszych wersjach, a teraz nie chce!
Przeczytaj README.txt i sekcję na temat portów
w ../etc/config.dist
4.2 Dostęp do portów był szybszy w starszych wersjach!
Aby móc logować każdy dostęp do portu, każdy taki dostęp wywołuje
przerwanie z poza trybu vm86. To zabiera trochę czasu. Jeśli nie
chcesz, żeby dostęp do portów był logowany, użyj klucza "fast"
w odpowiedniej sekcji.
4.3 Gdzie są (kompatybilne z microsoftem) sterowniki mysz?
Tom Kimball (tk@pssparc2.oc.com) zgłosił(24/11/93)
Kilku ludzi mówiło, aby używać różnych sterowników i zasugerowało
niektóre. Znalazłem parę, które wydają się działać.
oak.oakland.edu:/pub/msdos/mouse/mouse701.zip (mscmouse)
oak.oakland.edu:/pub/msdos/mouse/gmous102.zip (gmouse)
Normalnie możesz używać wewnętrznego sterownika z dosemu, więc nie
potrzebujesz żadnego dodatkowego sterownika do myszy w dosemu poza
winemu(10/2/97).
4.4 Dlaczego nie działa sterownik myszy?
Mark Rejhon (mdrejhon@magi.com) zgłosił(7/4/95)
Jeśli uruchomisz sterownik do myszy, a on się po prostu zawiesi
(może to trwać około 30-60 sekund), ale jeśli czekasz dłużej niż
minutę, aby sterownik zaczął działać, spróbuj podać w linii poleceń
port COM, na którym jest mysz.
4.5 Dlaczego dosemu blokuje COM4?
Rob Janssen (rob@pe1chl.ampr.org) zgłosił(24/3/94)
Według jmorriso@bogomips.ee.ubc.ca, "dosemu wciąż blokuje
COM4 (0x2e8, IRQ 5). Portu 0x2e8 nie ma w tablicy ports{}
w pliku konfiguracyjnym. Muszę uruchamiać setserial /dev/cua3 irq 5
po zakończeniu dosemu."
Jest to spowodowane BIOS-em karty VGA. Stwierdziłem to włączając
śledzenie portu i wypatrzyłem kiedy się to dzieje.
Wyłącz opcję "allowvideoportaccess" w pliku konfiguracyjnym i
będzie dobrze. Jeśli będziesz miał wtedy problemy z wizją, to
spróbuj bardziej ograniczyć zasięgi portów IO (np. 40-43).
4.6 Jak mam używać dosemu z portami szeregowymi?
4.7 Jak mogę przełączać kontrolę linii szeregowej pomiędzy dosemu a powłoką?
John Taylor (taylor@pollux.cs.uga.edu) zgłosił(25/5/94)
Mam Linux-a 1.1.13 i chcę wskazać dużą zaletę, którą należy chronić
i należy uniknąć jej zniknięcia (moim skromnym zdaniem). Wraz z
wersją 52 mogę uruchomić program "screen". Ze screen-a, mogę
wywołać DOS-a -D-a. To co jest najlepsze, to to, że polecenia screen-a
(polecenia z CTRL-A) wciąż działają. Oznacza to, że mogę wcisnąć
CTRL-A C i otworzyć nowe okno z powłoką unix-ową i przełączać się
pomiędzy nimi (DOS/UNIX). Pozwala mi to kontrolować linię szeregową
poprzez dosemu bardzo efektywnie, ponieważ przełączanie się jest
bardzo proste.
4.8 Jak mogę zmusić do działania porty szeregowe?
W pliku konfiguracyjnym dosemu.conf znajdują się linie, które
przekierowują wyjście drukarki do programu lpr albo do pliku. Jeśli
chcesz mieć bezpośredni dostęp do gołego żelastwa, to wykomentuj te
linie i dodaj taką:
$_ports { device /dev/lp0 fast range 0x3bc 0x3bf } # lpt0
dla portu drukarki z kartą kontrolną (odpowiada to /dev/lp0), albo
$_ports { device /dev/lp1 fast range 0x378 0x37f } # lpt1
lub
$_ports { device /dev/lp1 fast range 0x278 0x27f } # lpt2
odpowiednio dla LPT1 (/dev/lp1) i LPT2 (/dev/lp2)(9/2/97).
Hans Lermen (lermen@dosemu.org) pisze:
Ale UWAGA: Linii tych nie należy po prostu _dodawać_, łańcuchy te
powinny być łączone, o tak:
$_ports = "...." $_ports = $_ports, " device /dev/lp0 fast range
0x3bc 0x3bf" = Puste miejsce jest ważne.
5. Wieloużytkownikowość i nieinteraktywne sesje.
5.1 Czy mogę używać dosemu na systemie wieloużytkownikowym?
Tak. Można skonfigurować DOSEMU dla każdego użytkownika osobno.
Szczegóły znajdziesz w README.txt.
5.2 Jak mogę uruchamiać polecenia DOS-a nieinteraktywnie?
Możesz zrobić to w jeden z następujących sposobów: 1. przekieruj
plik do standardowego wejścia DOSEMU, 2. użyj opcji konfiguracyjnej
keystroke i opcji -I podczas uruchamiania jak to jest opisane w
README.txt, aby podać znaki, które mają być zinterpretowane tak
jakby były wpisane z klawiatury podczas działania DOSEMU. 3. użyj
programu mkdexe, aby zrobić plik DEXE - mały system plików DOS-a
zawierający tylko program do uruchomienia - szczegóły znajdziesz w
README.txt.
Oto kilka dodatkowych alternatyw:
Daniel T. Schwager (danny@dragon.s.bawue.de)
zgłosił(2/7/94), że
Możesz użyć różnych plików konfiguracyjnych (i różnych obrazów
startowych z różnymi plikami autoexec.bat) i wywoływać dosemu w ten
sposób:
$ dos -F mój_zrobiony_dosemu.conf
---------------------
Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de)
zgłosił(4/7/94), że
Nie ma żadnego problemu jeśli użyjesz przekierowania z
dosemu. Jest możliwe przekierowania litery dysku na katalog Linux-owy
podany w zmiennej środowiskowej.
Tak więc ja mam skrypt w powłoce nazwany "DOS", który robi
coś takiego:
mkdir /tmp/dos.$$
DOSTMP=/tmp/dos.$$; export DOSTMP
a potem mały trick, żeby "echo $* >
$DOSTMP/startup.bat" rzeczywiście zadziałało (właściwie
mały programik w C, który zamienia '/' na '\' i
poprawnie oznacza końce linii, i dodaje ^Z na końcu
pliku), tworzy pliki startowe, dołączenia itd. w tym katalogu, a
potem uruchamia dosemu. W pliku "autoexec.bat" dysk C:
jest odwzorowany z obrazu dysku na ten katalog tymczasowy, który ma
dołączenia dla $HOME i $PWD.
Tak więc jeśli chcę zobaczyć nazwy moich plików skróconych do
wersji 8.3, mogę napisać "DOS dir" i mam zawartość mojego
bierzącego katalogu. Tak więc mam pełno-wieloużytkownikowego DOS-a
(nie mam żadnej partycji DOS-owej a odwzorowanie na Linux-a
zachowuje odpowiednie prawa dostępu dla użytkownika) i
wielozadaniowego (sesje dosemu są zupełnie niezależne). Zrobiłem
tak raz, żeby móc używać sterownika do drukarki pod DOS-a. Pole df
z mojego printcap-a wskazuje właściwie na program DOS-owy. Tak więc
możesz nawet robić programy DOS-owe, które będą działać jako filtry
dl lpr-a.
6. dosemu i Netware.
6.1 Jak dostać się do Netware z DOSEMU ?
Jak zwykle preferowany jest dostęp z systemu plików
Linux-a. Zamontuj dyski z Netware'a przy pomocy narzędzi Caldera's
Netware albo darmowego narzędzia Volker-a Lendecke - ncpfs (
ftp.icm.edu.pl a adres macierzysty to
ftp://ftp.gwdg.de:/pub/linux/misc/ncpfs). Jeśli
potrzebujesz rzeczywistego dostępu do IPX-a np. aby uruchomić
program "syscon" z Novell-a, przeczytaj plik
../doc/NOVELL-HOWTO.txt. W tej chwili najprawdopodobniej
nie można się dostać do Netware przy pomocy FreeDOS.
7. dosemu i X-y(9/2/97).
7.1 Czy mogę uruchomić dosemu na konsoli podczas działania X-ów?
Ronald Schalk (R.Schalk@uci.kun.nl) zgłosił (17/1/94), że
Tak, nie ma problemu. Tylko pamietaj, aby używać CTRL-ALT-<Fn>
do poruszania się pomiędzy wirtualnymi konsolami i możesz
uruchamiać jakiekolwiek aplikacje pod Linux-a (dosemu to też
aplikacja pod Linux-a). Prawie zawsze mam uruchomionego WP5.1 w
sesji dosemu.
[Uwaga: Użyj CTRL-ALT-F7, aby przełączyć się z powrotem do
X-ów jeśli X-y uruchomione są na 7 virtualnej konsoli.]
7.2 Czy możliwe jest uruchamianie dosemu w oknie w X-ach?
Jeśli masz zainstalowane X-y i udało ci się skompilować dosemu oraz
uruchomić go w trybie tekstowym, to powinieneś móc uruchomić
"xdos" lub "dos -X", żeby uruchomić je w oknie w
X-ach. Jeśli to nie działa, to sprawdź następujące punkty.
Wkompilowana obsługa X-ów w dosemu. Jest to opcja domyślna,
chociaż jeśli w pliku z opcjami kompilacji podałeś "x
off",
to nie masz obsługi X-ów. Tak więc zmień "x off" na
"x on", napisz "make pristine; make; make install" i
powinieneś otrzymać skompilowane
dosemu z obsługą X-ów jeśli masz zainstalowane biblioteki X-ów w
/usr/X11R6.
Ustaw mapę klawiatury w X-ach. W xterm-ie napisz:
xmodmap -e "keycode 22 = 0xff08"
xmodmap -e "keycode 107 = 0xffff"
Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace
i delete.
Konfiguracja opcji w pliku /etc/dosemu.conf związanych z X-ami.
Możesz też uruchomić dosemu w kolorowym xterm-ie, co nie jest
zalecane ponieważ większość kolorowych xterm-ów źle obsługuje
złożone metody wyświetlania tekstu w dosemu. To nie wymaga
włączonej obsługi X-ów w dosemu. Chociaż jeśli naprawdę chcesz to
zrobić, to postępuj według poniższych kroków:
Zaistaluj ansi_xterm. Zalecany pakiet można znaleźć na
ftp,icm.edu.pl.
Ustaw mapę klawiatury w X-ach. W xterm-ie napisz:
xmodmap -e "keycode 22 = 0xff08"
xmodmap -e "keycode 107 = 0xffff"
Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace
i delete.
Skonfiguruj w pliku /etc/dosemu.conf opcje związane z terminalem (nie X-ami).
Marty Leisner (leisner@sdsp.mc.xerox.com) zgłosił
(31/3/95)
W bazie danych xrdb mam następujące zasoby:
dosxterm*Font: vga
dosxterm*geometry: 80x25
dosxterm*saveLines: 25
albo mam alias-a"dosxterm=term -fn vga -title dosxterm
-geometry 80x25 -sl 25"
Jeśli używasz metody z xrdb, to wszystko co musisz zrobić to
napisać "xterm -name dosxterm".
7.3 Xdos nie działa na odległym ekranie X-ów!
W tej chwili, dosemu używa rozszerzeń MIT do pamięci
dzielonej. Rozszerzenia te działają tylko na lokalnym
ekranie. Jeśli chcesz uruchomić dosemu na odległym ekranie, to
skompiluj dosemu z ustawieniem "mitshm off" w pliku z
opcjami do kompilacji po poleceniu "make pristine" albo
na czystym drzewie ze źródłami.(9/2/97).
7.4 Xdos nie znajduje czcionek VGA.
Sprawdź czy czcionki VGA, które zainstalowałeś są na liście
font.dir w katalogu, w którym je instalowałeś:
hertz:~> grep misc /usr/X11R6/lib/X11/XF86Config
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
hertz:~> grep vga /usr/X11R6/lib/X11/fonts/misc/fonts.dir
vga.pcf vga
vga11x19.pcf vga11x19
hertz:~> ls /usr/X11R6/lib/X11/fonts/misc/vga*
/usr/X11R6/lib/X11/fonts/misc/vga.pcf
/usr/X11R6/lib/X11/fonts/misc/vga11x19.bdf
/usr/X11R6/lib/X11/fonts/misc/vga11x19.pcf
Jeśli zainstalowałeś jakieś czcionki pod X-y, tak jak wtedy kiedy
pierwszy raz instalowałeś dosemu z obsługą X-ów, musisz uruchomić
programy "mkfontdir" a potem "xset fp rehash". Instalacja dosemu
powinna się zająć poleceniem "mkfontdir" i poinformuje cię o "xset
fp rehash". Powiedz nam jeśli ci to nie działa.
7.5 Czcionki VGA są bardzo małe w mojej dużej rozdzielczości.
Poszukaj czcionek vga11x19. (13/2/97).
7.6 Kompilacja dosemu przerywa się na jakichś dziwnych błędach dotyczących X-ów.
Jak już to zostało powiedziane wcześniej dosemu domyślnie używa
rozszerzeń MIT do pamięci dzielonej. W XFree86 są one dostępne
tylko w wersji 3.1.2 i nowszej. Jeśli masz starszą wersję, to
zastanów się nad uaktualnieniem lub skonfiguruj dosemu tak, aby nie
używało tych rozszerzeń (zobacz ostatnią sekcję)(9/2/97).
7.7 Czy emulacja ansi działa poprawnie?
Marty Leisner (leisner@sdsp.mc.xerox.com)
zgłosił(31/3/95), że
Tak. Używam nnansi.com pod X-ami. tryby 25-, 43- i 50-liniowe
działają poprawnie, chociaż tryb 50-liniowy jest trudny w użyciu
przy rozdzielczości 1024x768 (o ile nie użyjesz mniejszych czcionek
albo większego monitora). Tryb 43-liniowy zmieni rozmiar xterm-a
tak, aby zawierał on 43 linie.
8. dosemu i MS-Windows 3.1.
8.1 Czy możliwe jest uruchomienie MS-Windows 3.1 w dosemu?
W pliku ../doc/README.Windows czytamy:
***************************************************************
* UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! *
* *
* Uwaga! Nie jest to jeszcze w pełni obsługiwane i jest *
* wiele znanych błędów! Wielkie programy prawie na pewno *
* NIE BĘDĄ DZIAŁAĆ!!! BĄDŹ PRZYGOTOWANY NA PADY SYSTEMU *
* JEŚLI TEGO SPRÓBUJESZ!!! *
* *
* UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! UWAGA!!! *
***************************************************************
No dobra, możliwe jest wystartowanie WINOS2 (zmodyfikowanej wersji
Windows 3.1, której używa OS/2) pod dosemu. Wielkie dzięki dla
Lutz-a & Dong-a!
Ale, POTRZEBUJESZ OBU LICENCJI, dla WINDOWS 3.1 oraz OS/2 !!!
Jest wiele znanych problemów. Windows-y bardzo często się wywalają
i mogą za sobą pociągnąć dane. Wielkie programy nie będą się
ładować itp., itd.
Innymi słowy nie jest to jeszcze gotowe do codziennego
użytku. Wiele kart graficznych ma problemy (możesz zobaczyć miły
biały ekran, chociaż poszukaj dalej win31-in-xdos). Twoje grupy
programów będą znikać... Po prostu - fatalnie.
Więcej szczegółów znajdziesz w README.txt.
8.2 Czy mogę uruchamiać 32-bitowe programy z winemu
Przykro mi, nie. Win32 musi działać na najniższym poziomie, a to
jest niewykonalne w Linuksie. (27/04/97)
8.3 Komunikat o błędzie: Cannot find the vdtapi.386 file when starting dosemu.
Jak to już zostało wyjaśnione wcześniej winemu nie umie obsłużyć
32-bitowych programów. Wszystkie sterowniki kończące się na 386 są
32-bitowe. Aby uruchomić winemu musisz wyrzucić z pliku win.ini
wszystkie odwołania do sterowników .386 (27/04/97)
8.4 Windows 3.x w xdos.
Jeśli chodzi o wersję 0.64.3, to jest ona w stanie uruchomić
Windows-y w xdos. Oczywiście nie jest to wcale zalecane, ale jeśli
rzeczywiście chcesz spróbować, jest to bezpieczniejsze niż
uruchamianie Windows 3.1 na konsoli, ponieważ _kiedy_ padnie,
nie zablokuje ci klawiatury czy ekranu.
Wskazówki:
Zdobądź żródła dosemu i Linux-a.
Rozpakuj dosemu.
Uruchom ./configure", żeby skonfigurować dosemu (skrypt ten
włączy domyślnie vm86plus).
Napisz "make", aby skompilować pakiet.
Zdobądź sterowniki Trident SVGA dla Windows-a. Pliki te to
tvgaw31a.zip i/lub tvgaw31b.zip. Są one dostępne pod adresm
garbo.uwasa.fi. (jakieś mirror-y?).
Rozpakuj sterowniki Trident.
W instalacji Windows-a, zainstaluj sterownik Trident "800x600 256
color for 512K boards".
Zrób wszystko co opisano powyżej, żeby zaistalować OS2WIN31.
Uruchom xdos.
W dosemu, przejdź do katalogu Windows-ów i uruchom winemu.
Trzymaj kciuki.
8.5 Czy mogę zainstalować Windows-y z wewnątrz dosemu?
Nie, nie możesz. DOS powie ci coś w stylu:
The XMS driver you have on your system is not
compatible with Windows...
Musisz zainstalować Windows-y z DOS-a. Możesz skopiować drzewo z
Windows-ami gdzieś do Linux-a i użyć lredir, aby zamontować ten
katalog w tym samym miejscu, w którym jest pod dosem. Na przykład:
Masz Windows-y w d:\windows
Katalog ten jest zamontowany pod Linux-em na /dosc
Kopiujesz drzewo z Windows-ami na Linux-a,
np: "cp -a /dosd/windows/ /usr/share"
W dosemu przekierowujesz skopiowane drzewo w ten sposób:
lredir d: linux\fs\dosd
Teraz dosemu nie może mieszać w twoim katalogu z Windows-ami, ale
także zmiany w tym katalogu nie są widoczne przez dosemu. Jeśli
chcesz zrobić to samo z Windows-ami na C:, to zobacz w FAQ jak
przekierować C:.
Ale możesz też użyć "setup-u" z katalogu Windows-ów, żeby
zainstalować jakieś sterowniki lub pozmieniać jakieś
ustawienia.(14/2/97)
8.6 Uwagi na temat myszy w Windows 3.1 w xdosemu.(win31-in-xdos)
Użyj sterownika myszy "mouse.drv" z WinOS2.
Aby mysz działała poprawnie musisz wpisać nastepujące linie do
pliku wini.ini:
[windows]
MouseThreshold1=0
MouseThreshold2=0
MouseSpeed=0
Kursor myszy nie jest rysowany przez X-y, ale przez Windows-y,
tak więc zależy on od częstości odświeżania (refresh rate), ale
zmiany położenia myszy nie będą opóźniane.
(Właściwie masz dwa kursory, ale kursorowi z X-ów nadawany jest
"niewidzialny kształt" podczas gdy znajduje się on wewnątrz okienka
z DOS-em.)
Ponieważ położenie przekazywane do Windows-ów jest
interpretowane względnie, musimy wyskalować kursor. Jest to robione
autoamtycznie za każdym razem kiedy znajdziesz się w obszarze okna z
DOS-em: Kursorowi nadawane są współrzędne (0,0) a potem otrzymuje
on z powrotem swoje położenie względem okna X-owego. Więc jeśli
chcesz wyskalować kursor, po prostu przesuń go poza okno z DOS-em i
z powrotem do wewnątrz.
(10/2/97)
8.7 Czemu moja ikona zniknęła z Program Manager-a?
MS-Windows i WinOS2 różnie obsługują grupę "Program
Manager". MS-Win zapisuje ustawienia w "progman.ini", WINOS2 zapisuje
zawartość "progman.ini" w "system.ini".
Oto wskazówka od (friest@acm.org (Todda T. Friesa)):
cat progman.ini >> system.ini
Pamiętaj żebyś użył ">>" :-)
9. Grafika i dźwięk.
9.1 Czy mogę uruchamiać pod dosemu gry z 32-bitową grafiką?
Mark Rejhon (mdrejhon@magi.com) zgłosił(8/4/95)
Biorąc pod uwagę ostatnie poprawki w implementacji DPMI, które
pojawiły się w wersji 0.60 można teraz w dosemu uruchamiać niektóre
gry z 32-bitową grafiką. Jeśli gra jest kompatybilna z sesją
DOS-ową w OS/2, to są spore szanse, że zadziała także w
dosemu. (Przykładami takich gier są Descent, Dark Forces, Mortal
Kombat 2,Rise of The Triad, Wszystkie zostały uruchomione z
pozytywnym skutkiem w dosemu.)
Zanim uruchomisz jakąś grę z grafiką, klawiaturę musisz mieć
skonfigurowaną na tryb surowy (raw mode) i włączone tryby graficzne
VGA w pliku /etc/dosemu.conf.
Zauważ jednak, że będziesz musiał wyłączyć dźwięk w grze. (Ktoś
będzie musiał zaprogramować emulację karty dźwiękowej zanim
będziemy mogli tego uniknąć). Zauważ też, że odświeżanie w grze
może być trochę wolne, z powodu wielozadaniowości Linux-a i braku
obsługi dużej częstotliwości odświeżania.. Tak więc gry mogą
działać w prędkości od 5 do 100 procent swojej mocy. Typowa
prędkość, to ok. 50 procent w ostatnich wersjach dosemu i ma
ostatecznie wzrosnąć.
Kto wie, może to nawet będzie działać. Jeśli nie chce ci to
działać, sprawdź listę "EMUfailure" czy program tam nie występuje,
albo czy nie jest w kategorii programów, które teraz ani
przupuszcalnie w ogóle nie będą działać w dosemu. Jeśli sądzisz, że
powinno się go wymienić na liście "EMUfailrue", to zgłoś to do
linux-msdos@vger.rutgers.edu.
Jeśli włączysz DPMI i dosemu uruchamiane jest z prawem "suid root",
to automatycznie robisz sobie dziurę w systemie (szczególnie jeśli
używasz gier bazujących na dos4gw), klient jest w stanie dostać się
do całej przestrzeni użytkownika, więc może także modyfikować kod
dosemu. Włączenie opcji "secure" w pliku /etc/dosemu.conf
$_secure = "ngd" # opcja secure dla: n (zwykłych użytkowników), g (guest), d (dexe)
blokuje to. W każdym razie w X-ach lepiej jest uruchamiać DOSEMU jako
zwykły użytkownik niż jako root.
9.2 Podczas wychodzenia z dosemu mam zaśmiecony cały ekran.
(8/4/95)
Problem jest w tym, że informacje o czcionce dla tekstowego ekranu
nie są zachowywane. Zdobądź pakiet "svgalib". Bieżące źródła są w
SUNSite Polska.
Może też znajdować się w twojej dystrybucji Linux-a jako
prekompilowany pakiet. Użyj programu savetextmode, aby
zachować bieżący tryb tekstowy i czcionki w pliku w katalogu
/tmp zanim uruchomisz dosemu. Potem, po wyjściu z dosemu
uruchom textmode, żeby odzyskać stan sprzed uruchomienia.
Dodatek od (lermen@elserv.ffm.fgan.de(11/2/97)):
Spójrz także do src/arch/linux/debugger/README.recover i
README.dosdebug, dosdebug może ci pomóc w naprawie.
9.3 Dlaczego moje programy dźwiękowe nie działają w DOSEMU?
W DOSEMU znajduje się szczątkowy emulator SoundBlaster (SBemu) -
dokumentacja do niego znajduje się pod adresem
www.slitesys.demon.co.uk/a.macdonald/dosemu/sound/. Całość
jest dopiero na etapie tworzenia więc większość programów DOS-owych
korzystających z dżwięku nie będzie działać poprawnie.
10. Gry.
10.1 Duke3d nie działa.
Hans Lermen <lermen@elserv.ffm.fgan.de> napisał:(16/2/97)
Duke3d musi być skonfigurowany przez setup. Musisz tam wybrać
'keyboard + mouse', w przeciwnym wypadku nie będzie działać.
11. Problemy i rozwiązania.
11.1 Sprawa dotycząca bezpieczeństwa.
Aby dosemu mogło być w pełni wykorzystane musi być "suid root".
Większość programów DOS-owych tego nie potrzebuje. Działając pod
X-ami raczej nie potrzebujesz uprawnień root-a. DOSEMU działa z
takimi uprawnieniami tylko tam gdzie jest to konieczne, i jak
najszybciej się takich uprawnień pozbywa. Ale w przypadku DPMI,
program dos-owy ma dostęp do
całego obszaru użytkownika, a więc może tez modyfikować kod
dosemu. Użycie opcji 'secure on' w pliku /etc/dosemu.conf
blokuje tę możliwość. Jest jeszcze kilka innych ważnych aspektów
związanych z bezpieczeństwem omówionych w README.txt.
11.2 Kiedy uruchamiam niektóre programy pojawia się "ERROR: general protection" i DOSEMU kończy działanie.
Zdarza się to wtedy kiedy program używam DPMI, a ty nie włączyłeś
obsługi DPMI. Spróbuj zmienić w /etc/dosemu.conf linię:
$_dpmi = (off)
na
$_dpmi = (nnnn)
gdzie nnn jest liczbą określającą pamięć w kB, którą chcesz
przeznaczyć na programy DOS-owe (Np. DOOM wymaga około 4000 kB).
Jeśli to zrobisz, nie powinieneś uruchamiać DOSEMU z prawami root-a
(zobacz punkt o bezpieczeństwie) - zawsze lepiej jest nie
uruchamiać DOSEMU z prawami root-a jeśli to tylko możliwe.
Innym możliwym powodem jest fakt, że program taki używa VCPI
(przeczytaj EMUfailure.txt), albo w inny sposób przełącza się w
tryb chroniony (inaczej niż przez DPMI). W takim przypadku nigdy
nie będzie działać w DOSEMU.
Jeśli żadne z powyższych nie odpowiada twojemu przypadkowi, to
przeczytaj punkt 1.14 "Mam program, który nie działa i nie
jest w EMUfailure.txt"
11.3 Dosemu pada podczas startu. Mam zainstalowane Win95.
Dosemu zakłada, że wersje DOS-u na obrazie dysku oraz na napędzie,
który odwzorowujesz są takie same. Jeśli nie, to dosemu padnie
wcześniej czy później. Podczas wyboru jaki daje Win95 po wciśnięciu
klawiszy F4, F5 lub F8 po tekście "Uruchamianie systemu Win95"
wersje na dysku Win95 mogą się zamienić. Miej szczególnie na uwadze
command.com. Niech zmienna "shell" w config.emu wskazuje na
poprawną statyczną wersję command.com-a, np:
shell=c:\win95\command.com c:\ /P /E:1024 (97/02/28)
11.4 Dosemu się zawiesza! Jak mogę je zakończyć?
Przełącz się na inną konsolę i uruchom program dosdebug, potem
wpisz kill - może to potrwać chwilę, ale zadziała.
11.5 Dosemu padło i nie mogę nic pisać.
Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)
Jeśli nie masz terminala, ani dostępu poprzez sieć, żeby się zalogować,
możliwe, że będziesz musiał wcisnąć przycisk "RESET". Jeśli jednak
możesz w jakiś sposób dostać się do używalnej powłoki, to uruchom
"kbd_mode -a", aby przełączyć klawiaturę w tryb ASCII, i/lub
"stty sane", na konsoli żebyś widział co piszesz.
Mądrą rzeczą jest uruchamianie dosemu poprzez skrypt, w którym
polecenie "kbd_mode -a" byłoby wykonywane zaraz po zakończeniu
dosemu. Kiedy dosemu padnie, skrypt powinien wykonać polecenie
kbd_mode.
11.6 Włączyłem pamięć EMS w /etc/dosemu.conf, ale to nie pomaga.
Rob Janssen (rob@pe1chl.ampr.org) zgłosił(11/7/94)
Nie zapomnij załadować dostarczanego ems.sys z pliku config.sys.
11.7 Jak się pozbyć tych denerwujących komunikatów "disk change"?
(11/8/94)
Zdobądź i zainstaluj klogd (sysklogd). Powinieneś znaleźć ten
program na
SUNSite Polska.
11.8 Dlaczego dosemu nie chce się uruchomić drugi raz po wyjściu w trybie konsoli?
Aldy Hernandez (aldy@sauron.cc.andrews.edu)
zgłosił(8/7/94), że
Powinieneś wyłączyć cache grafiki i/lub BIOS-u.
11.9 Dlaczego dosemu uruchamia się na terminalu, a nie chce na konsoli?
JyiJiin Luo (jjluo@casbah.acns.nwu.edu)(19/4/94) zgłosił
Przedtem miałem dokładnie ten sam problem. Stwierdziłem, że muszę
wyłączyć całkowicie przesłanianie (shadow) grafiki w BIOS-ie. Od
tej pory dosemu działa dobrze na moim systemie.
11.10 Jak mogę przyśpieszyć dosemu?
W niektórych przypadkach ciekawe efekty można uzyskać poprzez
próbowanie różnych wartości zmiennej HogThreshold w pliku
dosemu.conf.
Daniel Barlow(jo95004@sable.ox.ac.uk) zgłosił(8/4/95)
Zmienna HogThreshold powinna być teraz ustawiana na conajmniej
połowę wartości BogoMips jaką wskazuje system podczas ładowania.
11.11 Mój CDROM ma problemy podczas odczytu niektórych plików pod dosemu.
Vinod G Kulkarni (vinod@cse.iitb.ernet.in)(7/4/94) zgłosił, że
Kiedy CDROM jest montowany spod Linux-a i używany pod dosemu (napęd
odwzorowany), mogą wystąpić problemy. Sterownik do CDROM-u
(iso9660) umieszczony w jądrze próbuje zgadnąć typ pliku
(tj. binarny czy tekstowy). Jeśli nie zgadnie, to próbuje dalej
używając heurystyki. Metoda ta zawodzi w pewnych okolicznościach
kiedy (prawie) tekstowy plik ma być potraktowany jako binarny. (Nie
wiem czy to jest błąd czy zaleta.)
Wynikiem tego jest to, że jeśli skopiujesz taki plik z CDROM-u (z
Linux-a - niekoniecznie z dosemu), to plik wynikowy będzie większy
niż plik oryginalny. (Puste znaki sa dodawane przed ^J i
^M.) Więc program uruchamiany w dosemu podaje komunikat o
błędzie lub się zawiesza, co może dawać mylne wrażenie o problemach
z dosemu.
Rob Janssen (pe1chl@rabo.nl) zgłosił(10/8/94), że
Sposobem na rozwiązanie tego problemu jest wyłączenie
konwersji. Podczas montowania CDROM-u dodaj opcję "-o
conv=binary" do polecenia mount, albo użyj takiego wpisu w
/etc/fstab:
/dev/cdrom /cdrom iso9660 conv=binary,ro
Nie są potrzebne łaty do jądra.
11.12 Jak mam zobaczyć wyniki śledzenia?
Co do wersji 0.60 wyniki te są przekierowywane do pliku podanego w
linii poleceń. Użyj polecenia "dos -D+a -o /tmp/debug",
aby zapisać wszystkie wyniki śledzenia w pliku
/tmp/debug. Nie powinno być już potrzeby przekierowywania
stderr.
11.13 Dlaczego litery na ekranie są wyświetlane ddwwaa razy?
Nick Holloway (alfie@dcs.warwick.ac.uk) zgłosił(22/2/94),
że
Zdarza się to tylko jeśli uruchamiasz DOS-a na konsoli z ustawionym
"istrip". Sądze, że jest to spowodowane tym, że surowe kody
klawiszy są powielane przez "istrip, tak że puszczenie klawisza
widziane jest jako jego wciśnięcie.
Tak, że obsługa wejściowa musi być wyłączona jeśli używasz kodów
klawiszy na konsoli (nie byłoby to dobrym pomysłem na terminalu).
11.14 Dosemu psuje mi ekran?
Przy kartach nie do końca obsługiwanych w dosemu, z włączonym
dostepem do grafiki na konsoli pad dosemu może pozostawić
konsolę w prawie nieużywalnym stanie. Aby przygotować się na taką
sytuację, Spudgun <spudgun@earthlight.co.nz> wysłał
następujące rozwiązanie. Najpierw zapisz swoje rejestry z konsoli
~> cat /usr/bin/savetextmode
~> restoretextmode -w /etc/textregs
~> restorefont -w /etc/fontdata
Potem, kiedy dosemu padnie, uruchom następujący skrypt:
restoretextmode -r /etc/textregs
restorefont -r /etc/fontdata
restorepalette
Jeśli to nie pomoże, to nic nie pomoże.
Przekonałem się także, że uruchomiony Xserwer ustawiał moją kartę
graficzną w dziwny stan, a ten skrypt tylko pogarszał
sprawę. Myślę, że pomogła zmiana Xserwer-a i/lub uruchamianie
savetextmode na vt podczas działania X-ów.(08/04/97)
11.15 MS FoxPro 2.6 nie chce działać.
FoxPro 2.6 nie chce działać na napędach sieciowych. Alexey Naidyonov
<growler@growler.tsu.tula.ru> stwierdza:
Sądzę, że twoje pliki są na przekierowanym dysku, tak? Problem w
tym, że FoxPro nie działa na takich dyskach, ale kiedy ustawiłem
disk { partition ... } w /etc/dosemu.conf, to działał.
12. Wkład w projekt dosemu.
12.1 Kto jest odpowiedzialny za dosemu?
Dosemu tworzone jest na podstawie pracy Matthiasa Lautnera i
Roberta Sandersa. Hans Lermen (lermen@elserv.ffm.fgan.de)
jest odpowiedzialny za organizację najnowszej wersji dosemu.
Historia DOSEMU
Wersja Data Osoba
-------------------------------------------------
0.1 3 Września 1992 Matthias Lautner
0.2 13 Września 1992 Matthias Lautner
0.3 ??? Matthias Lautner
0.4 26 Listopada 1992 Matthias Lautner
0.47 27 Stycznia 1993 Robert Sanders
0.47.7 5 Lutego 1993 Robert Sanders
0.48 16 Lutego 1993 Robert Sanders
0.48pl1 18 Lutego 1993 Robert Sanders
0.49 20 Maja 1993 Robert Sanders
0.49pl2 18 Listopada 1993 James MacLean
0.49pl3 30 Listopada 1993 James MacLean
0.49pl3.3 3 Grudnia 1993 James MacLean
0.50 4 Marca 1994 James MacLean
0.50pl1 18 Marca 1994 James MacLean
0.52 16 Czerwca 1994 James MacLean
0.60 9 Kwietnia 1995 James MacLean
0.64.4 9 Lutego 1997 Hans Lermen
0.66.3 20 Kwietnia 1997 Hans Lermen
0.98.1 9 Grudnia 1998 Hans Lermen
0.98.6 21 Marca 1999 Hans Lermen
12.2 Chcę pomóc. Z kim mam się skontaktować?
Projekt dosemu jest rezultatem wysiłku drużynowego. Jeśli chcesz
wnieść jakiś wkład, to przeczytaj DPR (dosemu Project
Register). Aktualną kopię możesz znaleźć w
doc/DANG.
12.3 Od tłumacza.
Tłumaczenie to jest chronione prawami autorskimi © Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
Jeśli znalazłeś jakieś rażące błędy ortograficzne,
gramatyczne, składniowe, techniczne to pisz do mnie:
B.Maruszewski@jtz.org.plOficjalną stroną tłumaczeń HOWTO jest
http://www.jtz.org.pl/Aktualne wersje przetłumaczonych dokumentów znajdują się na
tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /HOWTO/.
Przetłumaczone przeze mnie dokumenty znajdują się także na
mojej stronie WWW. Są tam też odwołania do Polskiej Strony
Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to
wyślij list o treści subscribe jtz Imię Nazwisko na adres
majordomo@ippt.gov.pl
Zmiany w tym dokumencie wprowadzone przez tłumacza to:
- informacja o polskiej liście dyskusyjnej,
- przekierowanie wyjścia polecenia "diff" do pliku
- informacja o kerneld
- a także odnośniki do polskich serwerów ftp i WWW
Wyszukiwarka
Podobne podstrony:
DOSEMU HOWTO pl 10 (2)DOSEMU HOWTO pl 9 (2)DOSEMU HOWTO pl 6 (2)DOSEMU HOWTO pl 4 (2)DOSEMU HOWTO pl 3 (2)DOSEMU HOWTO pl 5 (2)DOSEMU HOWTO pl 12 (2)DOSEMU HOWTO pl 11 (2)DOSEMU HOWTO pl 1 (2)DOSEMU HOWTO pl (2)DOSEMU HOWTO pl 8 (2)DOSEMU HOWTO pl 2 (2)DOSEMU HOWTO pl 7 (2)bootdisk howto pl 8PPP HOWTO pl 6 (2)NIS HOWTO pl 1 (2)cdrom howto pl 1jtz howto pl 5Keystroke HOWTO pl (2)więcej podobnych podstron