dosemu problem

dosemu problem

Post by John » Mon, 25 Oct 1999 04:00:00




> I have dosemu installed as part of the
> RH 6.0 instllation. my dosemu cannot
> access any other drive except c:, I've
> tried the methods described in the
> documentations. only the first value
> of $_hdimage is heeded, and lredir has
> no effect.
> I unpacked the source rpm and tried to
> recompile.

> what I got is below.

> I will appreciate any help in sorting this out.
> Am I missing an essential header file?
> I also encountered recently another compilation
> failure on 'DIR' undeclared. So I might have a bigger problem.
> I am not terribly C literate
> but i found a declaration of DIR in /usr/i386-glibc20-linux/include/dirent.h.
> however I have another dirent.h in /usr/include without such a declaration.
> I didn't change anything that should affect these files.

> thanks for reading.
> if you reply by mail please read the sig.

> make[2]: Entering directory `/usr/src/redhat/SRPMS/dosemu/
> dosemu-0.99.10/src/base/misc'
> gcc -c -D_GNU_SOURCE -O2 -fomit-frame-pointer -m486 -malign-loops=2
>  -malign-jumps=2 -malign-functions=2 -MD -fno-gcse -DGCC_VERSION_CODE=2091
>  -DASM_PEDANTIC -DGLIBC_VERSION_CODE=2001 -D_XOPEN_SOURCE -pipe -DUSING_NET
>    -Wall -I/usr/src/redhat/SRPMS/dosemu/dosemu-0.99.10/src/include
>  -I/usr/src/redhat/SRPMS/dosemu/dosemu-0.99.10/src/dosext/dpmi
>  -I/usr/src/redhat/SRPMS/dosemu/dosemu-0.99.10/src/include/slang
>  -I/usr/X11R6/include -DPORTABLE_BINARY  -o fatfs.o fatfs.c
> fatfs.c: In function `scan_dir':
> fatfs.c:422: `DIR' undeclared (first use in this function)
> fatfs.c:422: (Each undeclared identifier is reported only once
> fatfs.c:422: for each function it appears in.)
> fatfs.c:422: `dir' undeclared (first use in this function)
> fatfs.c:422: warning: statement with no effect
> fatfs.c:423: parse error before `struct'
> fatfs.c:440: `name' undeclared (first use in this function)
> fatfs.c:448: `i' undeclared (first use in this function)
> fatfs.c:449: `u' undeclared (first use in this function)
> fatfs.c:466: warning: implicit declaration of function `opendir'
> fatfs.c:468: `dent' undeclared (first use in this function)
> fatfs.c:468: warning: implicit declaration of function `readdir'
> fatfs.c:470: `s' undeclared (first use in this function)
> fatfs.c:471: `sb' undeclared (first use in this function)
> fatfs.c:473: `fd' undeclared (first use in this function)
> fatfs.c:485: warning: implicit declaration of function `closedir'
> fatfs.c:503: `sf' undeclared (first use in this function)
> fatfs.c:505: `scans' undeclared (first use in this function)
> fatfs.c:533: `j' undeclared (first use in this function)
> make[2]: *** [fatfs.o] Error 1
> make[2]: Leaving directory `/usr/src/redhat/SRPMS/dosemu/dosemu-0.99.10/src/base/misc'
> make[1]: *** [base/misc] Error 2
> make[1]: Leaving directory `/usr/src/redhat/SRPMS/dosemu/dosemu-0.99.10/src'
> make: *** [default] Error 2
> --
> _________________________________________________________

> Gabriel Asch

> !!! Note: to foil spammers,
> if you reply by email, your message must either contain a
> proper Reference header or you must quote !this line!

>     "in a sense, you are already dead"
>                                    J. L. Borges

> ________________________________________________________

I'm new to linux but I got dosemu to work partially.  Maybe this will help.

SETTING UP DOSEMU USING FREEDOS AND WIN 98 SYSTEM FILES

Why I had to do this:  hdimage.first (FreeDos image?) can't lredir other
partitions so I think you have to use MSDOS, DR-DOS, Windows 9x, etc.

Current status:  can access windows partition, cdrom, printer works, some dos
software works, mouse doesn't work, vesa video modes not recognized, vga not
recognized

My system/software:  dual-boot windows and linux, Windows 98, RedHat 6.1,
dosemu 0.99.12-1, FreeDOS 0.99.10-5mdk (from Linux Mandrake 6.0)

NOTE:  YOU MAY HAVE TO RE-EDIT DOS FILES FROM DOS TO HAVE CR-LF INSTEAD OF
JUST LF AT THE END OF EACH LINE.  (BATCH FILES, AUTOEXEC.BAT, CONFIG.SYS &
MYDOS.SYS)

create dir
/var/lib/dosemu/freedos

add to /etc/fstab
/var/lib/dosemu/hdimage.first /mnt/freedos msdos user,noauto 0 0

add to /etc/mtools.conf
drive d: file="/var/lib/dosemu/hdimage.freedos" offset=8832

then mcopy files from freedos image to freedos dir
cd /var/lib/dosemu/freedos
mcopy -/ d:.

create dir
/var/lib/dosemu/bootdir

copy all files in /var/lib/dosemu/freedos to var/lib/dosemu/bootdir
(I used kde file manager to copy files)

in /var/lib/dosemu/bootdir delete COMMAND.COM

copy the following from the Windows C: drive to /var/lib/dosemu/bootdir
(overwrite freedos files)

command.com
msdos.sys
io.sys

edit the following files in /var/lib/dosemu/bootdir:

top of msdos.sys file:
[Paths]
WinDir=D:\WINDOWS
WinBootDir=C:\
HostWinBootDrv=C

[Options]
BootMulti=1
BootGUI=0
DoubleBuffer=1

add to autoexec.bat file:
path=c:\bin;c:\dosemu;"c:\vim-5.3"

config.sys file:
files=20
buffers=20
rem screen=0x12
rem tell dosemu where your windows partition
rem and cdrom are mounted under linux
device=c:\dosemu\emufs.sys /mnt/c
device=c:\dosemu\emufs.sys /mnt/cdrom
device=c:\dosemu\ems.sys
device=c:\bin\nansi.sys

What I changed in in dosemu.conf:
$_cpu = "80586"         # CPU showing to DOS, valid values: "80[345]86"
# change "hdimage.first" to "bootdir"
$_hdimage = "bootdir"
#I had to turn off xms (forms engine crashes)
$_xms = (off)           # in Kbyte
# ????
$_com1 = "/dev/ttyS0"   # e.g. "/dev/mouse" or "/dev/cua0"
$_com2 = "/dev/mouse"   # e.g. "/dev/modem" or "/dev/cua1"
$_mouse = "microsoft"   # one of: microsoft, mousesystems, logitech, mmseries
$_mouse_dev = "/dev/mouse" # one of: com1, com2, com3, com4 or /dev/mouse
$_printer = "LaserJet" #my printer in /etc/printcap

mount the windows partition and cdrom first, then open a console window, make the window
taller (not wider!) and enter dos to run dosemu

see also dosemu README.TXT