How do I do a non-root install of dosemu?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I am attempting to port dosemu-1.4.0 to the OLPC operating system, Sugar,
so that we may inflict DOS on yet another generation of innocent children.
~ The key difficulty with this is the necessity of installing in a
non-default directory, in this case $SUGAR_BUNDLE_PATH/dosemu_install/

dosemu is theoretically relocatable, but I could not find any
documentation indicating what was required to relocate it.  By trial and
error, I have determined that I need to patch the dosemu shell script and
set the DOSEMU_LIB_DIR, DOSEMU_CONF_DIR, and DOSEMU_HDIMAGE_DIR envvars,
in addition to PATH and LD_LIBRARY_PATH.  I also have had to redirect the
etc/dosemu/drives/c and d symlinks.

Even after all this, I still get failures, as shown in the attached
failure log.  The first error is

ERROR: X support not compiled in or not found:
ERROR: /usr/lib/dosemu/libplugin_X.so: cannot open shared object file: No
such file or directory

This is very surprising, since I've set LD_LIBRARY_PATH in the launcher
script.

Another surprising error is

Error in built-in global.conf: (line 671) Disk-device/file
/var/lib/dosemu/drives/c doesn't exist.

Since I have explicitly set DOSEMU_HDIMAGE_DIR, I don't know why I still
see this.

What do I have to do to make a relocated installation work?

- --Ben
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIFT1CUJT6e6HFtqQRAqABAJ0abW354vMEcWYC2wkSgE4KdR3f1QCgn0mg
GWTdB2cD5lm52Yi/5kNAtgs=
=hD/0
-----END PGP SIGNATURE-----
groupadd: group 10003 exists

   You do not have the DOSEMU vga font installed and are running
   remote X. You need to install the vga font on your _local_ Xserver.
   Look at the readme for details. For now we start with an fixed font,
   which does not display all national characters correctly.
   ... be warned

ERROR: X support not compiled in or not found:
ERROR: /usr/lib/dosemu/libplugin_X.so: cannot open shared object file: No such file or directory

Welcome to DOSEMU 1.4.0.0, a DOS emulator for Linux.
Copyright (C) 1992-2006 the 'DOSEMU-Development-Team'.
This program is  distributed  in  the  hope that it will be useful,
but  WITHOUT  ANY  WARRANTY;   without even the implied warranty of
MERCHANTABILITY  or  FITNESS FOR A PARTICULAR PURPOSE. See the files
COPYING.DOSEMU and COPYING for more details.
Use  this  program  at  your  own  risk!

Press ENTER to confirm, and boot DOSEMU, or [Ctrl-C] to abort
DOSEMU will run on _this_ terminal.
To exit you need to execute 'exitemu' from within DOS,
because <Ctrl>-C and 'exit' won't work!

DOSEMU-FreeDOS is not available to boot DOSEMU.
Please enter the name of a Linux directory which contains a bootable DOS, or
press [Ctrl-C] to abort for manual installation of FreeDOS or another DOS, or
press [ENTER] to quit if you suspect an error after manual installation.

Creating symbolic link for A[å·°qô·7¿þ¿Psô·ô_ô·Pqô· qô· ûh? as /home/olpc/isolation/1/uid_to_home_dir/10014/data/.dosemu/drives/c
The DOSEMU part of the proprietary installation has been done.

Please make sure that you have a bootable DOS in 'A[å·°qô·7¿þ¿Psô·ô_ô·Pqô· qô· ûh?'.
Read the documentation for details on what it must contain.
The DOSEMU support commands are available within
/var/lib/dosemu/drive_z on drive D:. You might want to use different
config.sys and autoexec.bat files with your DOS. For example, you can try
to copy D:\config.emu and D:\autoemu.bat to C:\, adjust them, and use the
$_emusys option in ~/.dosemurc.

Press ENTER to confirm, and boot DOSEMU, or [Ctrl-C] to abort
/home/olpc/Activities/DOSEMU.activity/launcher.sh: line 16:  2338 Segmentation fault      dosemu -E exitemu
cp: cannot create regular file `/home/olpc/isolation/1/uid_to_home_dir/10014/data/.dosemu/drive_c/': Is a directory

   You do not have the DOSEMU vga font installed and are running
   remote X. You need to install the vga font on your _local_ Xserver.
   Look at the readme for details. For now we start with an fixed font,
   which does not display all national characters correctly.
   ... be warned

In file included from built-in global.conf:676
                 from built-in global.conf:633
Error in built-in global.conf: (line 671) Disk-device/file /var/lib/dosemu/drives/c doesn't exist.
1 error(s) detected while parsing the configuration-file
--- dosemu.orig	2008-04-28 00:34:11.000000000 +0000
+++ dosemu.mod	2008-04-28 00:35:51.000000000 +0000
@@ -6,9 +6,9 @@
 #
 
 # the below lines get patched, when a systemwide install is done
-SYSTEM_CONF_PATH=/etc/dosemu
-SYSTEM_XFONTS_PATH=/usr/share/dosemu/Xfonts
-SYSTEM_BIN_PATH=/usr/bin
+SYSTEM_CONF_PATH=$SUGAR_BUNDLE_PATH/dosemu_install/etc/dosemu
+SYSTEM_XFONTS_PATH=$SUGAR_BUNDLE_PATH/dosemu_install/usr/share/dosemu/Xfonts
+SYSTEM_BIN_PATH=$SUGAR_BUNDLE_PATH/dosemu_install/usr/bin
 
 get_binary() {
   BINARY=$SYSTEM_BIN_PATH/dosemu.bin
#!/usr/bin/env sh
declare -x HOME="$SUGAR_ACTIVITY_ROOT/data"
#declare -x WINEDEBUG="warn+all"
declare -x DOTDIR="$HOME/.dosemu"
declare -x PATH="$SUGAR_BUNDLE_PATH/dosemu_install/usr/bin:$PATH"
declare -x LD_LIBRARY_PATH="$SUGAR_BUNDLE_PATH/dosemu_install/usr/lib:$WINEDLLPATH:$LD_LIBRARY_PATH"
declare -x DOSEMU_LIB_DIR="$SUGAR_BUNDLE_PATH/dosemu_install/usr/lib"
declare -x DOSEMU_CONF_DIR="$SUGAR_BUNDLE_PATH/dosemu_install/etc"
declare -x DOSEMU_HDIMAGE_DIR=$DOSEMU_CONF_DIR
if ! [ -e ~/.successfully_initialized ]
then
	dosemu -E exitemu #create directory structure, then exit
	cp -r $SUGAR_BUNDLE_PATH/drive_c/* $DOTDIR/drive_c/
	chmod -R g+rwx $DOTDIR
	touch ~/.successfully_initialized
fi
sh $SUGAR_BUNDLE_PATH/start_command.sh

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux