|
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:
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.
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.
Działa tylko na rodzinie Intel 80x86, czyli 80386, 80486, Pentium itp.
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/
Nie. Potrzebujesz jakiejś wersji DOS-a, ale nie musi to być koniecznie MS-DOS. Przeczytaj rozdział "Jakie wersje DOS-a działają z 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.
Przeczytaj punkt 1.4.
(xx/yy/zz) oznacza dzień xx, miesiąc yy, rok zz (9/2/97).
winemu oznacza uruchomienie WinOS/2 w dosemu (10/2/97).
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ę.
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.
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.
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ł.
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.
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.
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. :-)
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).
Znajdują się one w pliku "QuickStart" dołączonym do dystrybucji.
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ę.
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."
Przypuszczalnie zainstalowałeś swoją wersję biblioteki Slang i podczas kompilacji miałeś ustawienie slangforce off w pliku Makefile. Musisz to zmienić na slangforce on.
W pliku compiletime-settings.help znajdziesz opis takich opcji. W README.txt znajdziesz opis opcji, które możesz zmieniać po kompilacji.
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.
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).
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)
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).
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.
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...
disk {partition "/dev/hda? ?"}
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."
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.
Przeczytaj README.txt i sekcję na temat portów w ../etc/config.dist
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.
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).
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.
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).
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.
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.
Tak. Można skonfigurować DOSEMU dla każdego użytkownika osobno. Szczegóły znajdziesz w README.txt.
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.
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.
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.]
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.
xmodmap -e "keycode 22 = 0xff08" xmodmap -e "keycode 107 = 0xffff"Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace i delete.
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:
xmodmap -e "keycode 22 = 0xff08" xmodmap -e "keycode 107 = 0xffff"Linie te ustawiają poprawną obsługę klawiszy odpowiednio backspace i delete.
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
".
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).
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.
Poszukaj czcionek vga11x19. (13/2/97).
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).
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.
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.
Przykro mi, nie. Win32 musi działać na najniższym poziomie, a to jest niewykonalne w Linuksie. (27/04/97)
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)
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:
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)
[windows] MouseThreshold1=0 MouseThreshold2=0 MouseSpeed=0
(10/2/97)
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ł ">>" :-)
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.
(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.
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.
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ć.
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.
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"
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)
Przełącz się na inną konsolę i uruchom program dosdebug, potem
wpisz kill
- może to potrwać chwilę, ale zadziała.
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.
Rob Janssen (rob@pe1chl.ampr.org) zgłosił(11/7/94)
Nie zapomnij załadować dostarczanego ems.sys z pliku config.sys.
(11/8/94)
Zdobądź i zainstaluj klogd
(sysklogd). Powinieneś znaleźć ten
program na
SUNSite Polska.
Aldy Hernandez (aldy@sauron.cc.andrews.edu) zgłosił(8/7/94), że
Powinieneś wyłączyć cache grafiki i/lub BIOS-u.
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.
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.
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.
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
.
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).
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)
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ł.
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
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.
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:
Oficjalną 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:
#
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23