<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
 <TITLE>Linux Frequently Asked Questions with Answers: Compatibility with other operating systems. </TITLE>
 <LINK HREF="Linux-FAQ-4.html" REL=next>
 <LINK HREF="Linux-FAQ-2.html" REL=previous>
 <LINK HREF="Linux-FAQ.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="Linux-FAQ-4.html"><IMG SRC="next.gif" ALT="Next"></A>
<A HREF="Linux-FAQ-2.html"><IMG SRC="prev.gif" ALT="Previous"></A>
<A HREF="Linux-FAQ.html#toc3"><IMG SRC="toc.gif" ALT="Contents"></A>
<HR>
<H2><A NAME="Compatibility with other operating systems."></A> <A NAME="s3">3. Compatibility with other operating systems. </A></H2>

<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can Linux share my disk with DOS?  OS/2?  386BSD?  Win95?"></A> <A NAME="ss3.1">3.1 Can Linux share my disk with DOS?  OS/2?  386BSD?  Win95? </A>
</H2>

<P>Yes.  Linux uses the standard MS-DOS partitioning scheme, so it can
share your disk with other operating systems.  Note, however, that
many other operating systems may not be exactly compatible.  DOS's
<CODE>FDISK.EXE</CODE> and <CODE>FORMAT.EXE</CODE>, for example, can overwrite
data in a Linux partition, because they sometimes incorrectly use
partition data from the partition's boot sector rather than the
partition table.
<P>In order to prevent programs from doing this, it is a good
idea to zero out--under Linux--the start of a partition you
created, before you use MS-DOS--or whatever--to format it.  Type:
<PRE>
$ dd if=/dev/zero of=/dev/hdXY bs=512 count=1
</PRE>

where <CODE>hdXY</CODE> is the relevant partition; e.g., <CODE>/dev/hda1</CODE> for
the first partition of the first (IDE) disk.
<P>Linux can read and write the files on your DOS and OS/2 FAT partitions
and floppies using either the DOS file system type built into the
kernel or mtools.  There is kernel support for the VFAT file system
used by Windows 9x and Windows NT.
<P>For information about FAT32 partition support, see 
<A HREF="http://bmrc.berkeley.edu/people/chaffee/fat32.html">http://bmrc.berkeley.edu/people/chaffee/fat32.html</A>.
<P>See, ``
<A HREF="Linux-FAQ-1.html#What software does Linux support?">What software does Linux support?</A>
'' for details and
status of the emulators for DOS, MS Windows, and System V programs.
<P>See also, ``
<A HREF="#Can Linux access Amiga file systems?">Can Linux access Amiga file systems?</A>
'',
``
<A HREF="#Can Linux access Macintosh file systems?">Can Linux access Macintosh file systems?</A>
'',
``
<A HREF="#Can Linux access BSD, SysV, etc., UFS?">Can Linux access BSD, SysV, etc., UFS?</A>
'', and
``
<A HREF="#Can Linux access SMB file systems?">Can Linux access SMB file systems?</A>
''
<P>There are said to be NTFS drivers under development, which 
should support compression as a standard feature.
<P>
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="How do I access files on my DOS partition or floppy?"></A> <A NAME="ss3.2">3.2 How do I access files on my DOS partition or floppy? </A>
</H2>

<P>Use the DOS file system, type, for example:
<PRE>
$ mkdir /dos
$ mount -t msdos -o conv=text,umask=022,uid=100,gid=100 /dev/hda3 /dos
</PRE>

If it's a floppy, don't forget to umount it before ejecting it!
<P>You can use the <CODE>conv=text/binary/auto</CODE>, <CODE>umask=nnn</CODE>,
<CODE>uid=nnn</CODE>, and <CODE>gid=nnn</CODE> options to control the
automatic line-ending conversion, permissions and ownerships of the
files in the DOS file system as they appear under Linux.  If you mount
your DOS file system by putting it in your <CODE>/etc/fstab</CODE>, you can
record the options (comma-separated) there, instead of defaults.
<P>Alternatively, you can use mtools, available in both binary and source
form on the FTP sites.  (``
<A HREF="Linux-FAQ-2.html#Where can I get Linux material by FTP?">Where can I get Linux material by FTP?</A>
'')
<P>A kernel patch (known as the fd-patches) is available which allows
floppies with nonstandard numbers of tracks and/or sectors to be used;
this patch is included in the 1.1 alpha testing kernel series.
<P>-------------------------------------------------------------------------------
<H2><A NAME="Does Linux support compressed ext2 file systems?"></A> <A NAME="ss3.3">3.3 Does Linux support compressed ext2 file systems? </A>
</H2>

<P>As of recently, it does.  Information about them is located at 
<A HREF="http://www.netspace.net.au/~reiter/e2compr/">http://www.netspace.net.au/~reiter/e2compr/</A>.
<P>There is also a Web site for the e2compr patches  The code is still
experimental and consists of patches for the 2.0 and 2.1 kernels.  For
more information about the project, including the latest patches, and
the address of the mailing list, look up the URL at
<A HREF="http:// debs.fuller.edu/e2compr/">http://debs.fuller.edu/e2compr/</A>.   
<P>[Roderich Schupp]
<P>Zlibc is a program that allows existing applications to read
compressed (GNU gzip'ed) files as if they were not compressed.  Look
on sunsite.unc.edu in /pub/Linux/libs/.  The author is
Alain Knuff.
<P>There is also a compressing block device driver, ``DouBle,'' by
Jean-Marc Verbavatz, which can provide on-the-fly disk compression in
the kernel.  The source-only distribution is located at
sunsite.unc.edu in the directory /pub/Linux/patches/diskdrives/.  This
driver compresses inodes and directory information as well as files,
so any corruption of the file system is likely to be serious.
<P>There is also a package called tcx (Transparently Compressed
Executables), which allows you to keep infrequently compressed
executables compressed and only uncompress them temporarily when in
use.  It is located on sunsite.unc.edu in the directory
/pub/Linux/utils/compress/.  
<P>-------------------------------------------------------------------------------
<H2><A NAME="Can I use my Stacked/DBLSPC/etc. DOS drive?"></A> <A NAME="ss3.4">3.4 Can I use my Stacked/DBLSPC/etc. DOS drive? </A>
</H2>

<P>
<P>Until recently, not very easily.  You can access DOS 6.X volumes
from the DOS emulator (``
<A HREF="Linux-FAQ-1.html#What software does Linux support?">What software does Linux support?</A>
''), but it's harder than accessing a normal DOS volume via
the DOS kernel option, a module, or mtools.
<P>There is a recently added package, dmsdos, which reads and writes
compressed file systems like DoubleSpace/DriveSpace in MS-DOS 6.x and
Win95, as well as Stacker versions 3 and 4.  It is available in the
archives on 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Filesystem/dosfs">ftp://sunsite.unc.edu/pub/Linux/system/Filesystem/dosfs</A>.
<P>There is a module available for the Linux kernel which can do
read-only access of compressed volume.  Look at 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/filesystems/dosfs">sunsite.unc.edu/pub/Linux/system/filesystems/dosfs/</A>.
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can I access OS/2 HPFS partitions from Linux?"></A> <A NAME="ss3.5">3.5 Can I access OS/2 HPFS partitions from Linux? </A>
</H2>

<P>Yes, but Linux access to HPFS partitions is read-only.  HPFS
file system access is available as an option when compiling the kernel
or as a module.  See the <CODE>Documentation/filesystems/hpfs.txt</CODE>
file in the kernel source distribution.  (``
<A HREF="Linux-FAQ-7.html#How do I upgrade/recompile my kernel?">How do I upgrade/recompile my kernel?</A>
'')  Then you can mount HPFS partition,
using, for example:
<PRE>
$ mkdir /hpfs
$ mount -t hpfs /dev/hda5 /hpfs
</PRE>

-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can Linux access Amiga file systems?"></A> <A NAME="ss3.6">3.6 Can Linux access Amiga file systems? </A>
</H2>

<P>
<P>The Linux kernel has support for the Amiga Fast File System (AFFS)
version 1.3 and later, both as a compile-time option and as a module.
The file <CODE>Documentation/filesystems/affs.txt</CODE> in the Linux
kernel source distribution has more information.
<P>See ``
<A HREF="Linux-FAQ-7.html#How do I upgrade/recompile my kernel?">How do I upgrade/recompile my kernel?</A>
''.
<P>Linux supports AFFS hard-drive partitions only.  Floppy access
is not supported due to incompatibilities between Amiga floppy
controllers and PC and workstation controllers.  The AFFS driver can
also mount disk partitions used by the Un*x Amiga Emulator, by Bernd
Schmidt.
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can Linux access BSD, SysV, etc., UFS?"></A> <A NAME="ss3.7">3.7 Can Linux access BSD, SysV, etc. UFS? </A>
</H2>

<P>
<P>Recent kernels can mount (read only) the UFS file system used by System
V; Coherent; Xenix; BSD; and derivatives like SunOS, FreeBSD, NetBSD,
and NeXTStep.  UFS support is available as a kernel compile-time
option and a module.
<P>See, ``
<A HREF="Linux-FAQ-7.html#How do I upgrade/recompile my kernel?">How do I upgrade/recompile my kernel?</A>
''
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can Linux access SMB file systems?"></A> <A NAME="ss3.8">3.8 Can Linux access SMB file systems? </A>
</H2>

<P>
<P>Linux supports read/write access of Windows for Workgroups and Windows NT
SMB volumes.  See the file Documentation/filesystems/smbfs.txt of the
Linux kernel source distribution, and ``
<A HREF="Linux-FAQ-7.html#How do I upgrade/recompile my kernel?">How do I upgrade/recompile my kernel?</A>
'' in this FAQ.
<P>There is also a suite of programs called Samba which provide support
for WfW networked file systems (provided they're for
TCP/IP).  Information is available in the README file at 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/network/samba/">sunsite.unc.edu/pub/Linux/system/network/samba/</A>. 
<P>There is a SMB Web site at 
<A HREF="http://samba.anu.edu.au/samba/">samba.anu.edu.au/samba/</A>.
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can Linux access Macintosh file systems?"></A> <A NAME="ss3.9">3.9 Can Linux access Macintosh file systems? </A>
</H2>

<P>
<P>There is a set of user-level programs that read and write the
Macintosh Hierarchical File System (HFS). It is available at
<A HREF="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management">sunsite.unc.edu/pub/Linux/utils/disk-management</A>.  
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="Can I run Microsoft Windows programs under Linux?"></A> <A NAME="ss3.10">3.10 Can I run Microsoft Windows programs under Linux? </A>
</H2>

<P>
<P>WINE, a MS Windows emulator for Linux, is still not ready for general
distribution.  If you want to contribute to its development, look for
the status reports in the <CODE>comp.emulators.ms-windows.wine</CODE>
newsgroup.
<P>There is also a FAQ, compiled by P. David Gardner, at 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/faqs/Wine-FAQ/">sunsite.unc.edu/pub/Linux/docs/faqs/Wine-FAQ/</A>.
<P>In the meantime, if you need to run MS Windows programs, the best
bet--seriously--is to reboot.  LILO, the Linux boot loader, can boot
one of several operating systems from a menu.  See the LILO
documentation for details.
<P>Also, LOADLIN (a DOS program to load a Linux, or other OS, kernel is
one way to make Linux co-exist with DOS.  LOADLIN is particularly
handy when you want to install Linux on a 3rd or 4th drive on a system
(or when you're adding a SCSI drive to a system with an existing IDE).
<P>In these cases, it is common for LILO's boot loader to be unable to
find or load the kernel on the "other" drive.  So you just create a
C:\LINUX directory (or whatever), put LOADLIN in it with a copy of
your kernel, and use that.
<P>LOADLIN is a VCPI compliant program.  Win95 will want to, "shutdown
into DOS mode," to run it (as it would with certain other DOS
protected-mode programs).
<P>Earlier versions of LOADLIN sometimes required a package called
REALBIOS.COM, which required a boot procedure on an (almost) blank
floppy to map the REALBIOS interrupt vectors (prior to the loading of
any software drivers).  (Current versions don't seem to ship with
it, and don't seem to need it).
<P>[Jim Dennis]
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="How can I boot Linux from OS/2's Boot Manager?"></A> <A NAME="ss3.11">3.11 How can I boot Linux from OS/2's Boot Manager? </A>
</H2>

<P>
<P>
<OL>
<LI>Create a partition using OS/2's <CODE>FDISK.EXE</CODE> (Not Linux's
<CODE>fdisk</CODE>).
</LI>
<LI> Format the partition under OS/2, either with FAT or HPFS.  This is so
that OS/2 knows about the partition being formatted.  (This step is not
necessary with OS/2 `warp' 3.0.)
</LI>
<LI>Add the partition to the Boot Manager.
</LI>
<LI>Boot Linux, and create a file system on the partition using <CODE>mkfs
-t ext2</CODE> or <CODE>mke2fs</CODE>.  At this point you may, if you like,
use Linux's <CODE>fdisk</CODE> to change the code of the new partition to
type 83 (Linux Native)--this may help some automated installation
scripts find the right partition to use.
</LI>
<LI>Install Linux on the partition.
</LI>
<LI>Install LILO on the Linux partition--NOT on the master boot record of
the hard drive.  This installs LILO as a second-stage boot loader on the
Linux partition itself, to start up the kernel specified in the LILO
configuration file.  To do this, you should put
<PRE>
boot = /dev/hda2
</PRE>

(where <CODE>/dev/hda2</CODE> is the <EM>partition</EM> you want to boot
from) in your <CODE>/etc/lilo/config</CODE> or <CODE>/etc/lilo.config</CODE>
file.
</LI>
<LI>Make sure that it is the Boot Manager partition that is marked active,
so that you can use Boot Manager to choose what to boot.</LI>
</OL>
<P>There is a set of HOWTO's on the subject of multi-boot systems on the
LDP Home Page, 
<A HREF="http://sunsite.unc.edu/LDP/">http://sunsite.unc.edu/LDP/</A>.
<P>-------------------------------------------------------------------------------
<P>
<H2><A NAME="How can I share a swap partition between Linux and MS Windows?"></A> <A NAME="ss3.12">3.12 How can I share a swap partition between Linux and MS Windows? </A>
</H2>

<P>See the Mini-HOWTO on the subject.  The Mini-HOWTO is currently
unmaintained but is available at 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/unmaintained">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/unmaintained</A>.
<P>===============================================================================
<P>
<HR>
<A HREF="Linux-FAQ-4.html"><IMG SRC="next.gif" ALT="Next"></A>
<A HREF="Linux-FAQ-2.html"><IMG SRC="prev.gif" ALT="Previous"></A>
<A HREF="Linux-FAQ.html#toc3"><IMG SRC="toc.gif" ALT="Contents"></A>
</BODY>
</HTML>
