Linux has loadable kernel modules for (presumably) all versions of Microsoft
FAT and VFAT file systems, including Windows
2000 and WindowsMe. In a correctly configured
system, they should load automatically when
the partitions are mounted.
Note, however, that many other operating systems may not be exactly compatible.
DOS's FDISK.EXE and FORMAT.EXE, 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.
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:
$ dd if=/dev/zero of=/dev/hdXY bs=512 count=1 |
where hdXY is the relevant partition; e.g., /dev/hda1 for the first partition of the first (IDE) disk.
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.
There is reportedly a GPL'd OS/2 device driver that will read and write Linux
ext2 partitions.
For information about FAT32 partition support, see http://bmrc.berkeley.edu/people/chaffee/fat32.html.
See, (``What Software does Linux Support?'') for details and status of the emulators for DOS, MS Windows, and System V
programs.
See also, "Can Linux access Amiga file systems? ", "Can Linux access Macintosh
file systems? ", "Can Linux access BSD, SysV,
etc., UFS? ", and "Can Linux access SMB file
systems? "
There are said to be NTFS drivers under development, which should support compression
as a standard feature.
$ mkdir /dos
$ mount -t msdos -o conv=text,umask=022,uid=100,gid=100 /dev/hda3 /dos |
If it's a floppy, don't forget to umount it before ejecting it!You can use the
conv=text/binary/auto, umask=nnn, uid=nnn, and gid=nnn 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 /etc/fstab, you can record the options (comma-separated) there, instead of defaults.
Alternatively, you can use mtools, available in both binary and source form on
the FTP sites. (``Where Are the Linux FTP Archives?'')
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.
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 http://debs.fuller.edu/e2compr/.
[Roderich Schupp, Peter Moulder]zlibc is a program that allows existing applications to read compressed (GNU gzip'ed)
files as if they were not compressed. Look
at ftp://metalab.unc.edu/pub/Linux/libs/. The author is Alain Knaff.
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 ftp://metalab.unc.edu/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.
There is also a package called tcx (Transparently Compressed Executables), which
allows you to keep infrequently used executables
compressed and only uncompress them temporarily
when in use. It is located at ftp://metalab.unc.edu/pub/Linux/utils/compress/.
4.4. Can Linux Use Stacked/DBLSPC/Etc. DOS Drives?
Until recently, not very easily.
You can access DOS 6.X volumes from the DOS
emulator ("What software does Linux support?
"), but it's harder than accessing a normal
DOS volume via the DOS kernel option, a module,
or mtools.
There is a recently added package, dmsdos, that 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 a loadable kernel module. Look
at ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/.
4.5. Can Linux Access OS/2 HPFS Partitions?
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 Documentation/filesystems/hpfs.txt file in the kernel source distribution. (``How To Upgrade/Recompile a Kernel.'') Then you can mount HPFS partition, using, for example:
$ mkdir /hpfs
$ mount -t hpfs /dev/hda5 /hpfs |
4.6. Can Linux Access Amiga File Systems?
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 Documentation/filesystems/affs.txt in the Linux kernel source distribution has more information.
See (``How To Upgrade/Recompile a Kernel.'')
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.
Access to the newer, HFS+ file systems is still under development.
4.10. Can Linux Run Microsoft Windows Programs?
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 comp.emulators.ms-windows.wine newsgroup.
There is also a FAQ, compiled by P. David Gardner, at ftp://metalab.unc.edu/pub/Linux/docs/faqs/Wine-FAQ/.
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.
Also, LOADLIN.EXE (a DOS program to load a Linux, or other OS, kernel is one way to make Linux
co-exist with DOS. LOADLIN.EXE 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).
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.EXE in it with a copy of your kernel, and use that.
LOADLIN.EXE 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).
Earlier versions of LOADLIN.EXE sometimes required a package called REALBIOS.COM, which required a boot procedure on an (almost) blank floppy to map the 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).
[Jim Dennis]
4.11. Where Is Information about NFS Compatibility?
This information is partly taken
from Nicolai Langfeldt's excellent NFS HOWTO,
and is current as of 10/1/1999.
Most version 2.2.x kernels need a set of patches to install the knfsd subsystem, maintained by H.J. Lu, to communicate efficiently (if at all) with
Sparc, IBM RS, and Alpha machines, and probably
others. This package is actually a collection
of patches to the kernel sources. Better support
for non-Intel architectures is included in
the 2.4 kernels.
There is also a user-space server. Although it lacks remote file locking, it
is easier to install. It may be equally efficient.
In the Documentation/Changes of recent kernel distributions, there is a list of URL's for both the knfsd server and the user-space server.
There is a CVS server available for the kernel-space NFS subsystem, as well as
a NFS WWW page at http://www.linuxnfs.sourceforge.org/, although the URL requires a password for access. The relevant URL's are listed
in the README.nfs file at ftp://ftp.us.kernel.org/, and other kernel archive sites, along with login information. Patches are at
ftp://ftp.varesearch.com/pub/kernel/latest/patches/.
The source archives of the user-space server and utilities currently reside on
ftp://linux.mathematik.tu-darmstadt.de:/pub/linux/people/okir/.
In the case of older Solaris releases, the lack of statd or lockd on a client or server machine may cause incompatibility. On some versions of
Solaris, statd can be used to exploit features of the automounter. Sun released a patch to
correct this, but statd still needs to be started by root on such systems. On recent Solaris systems,
refer to the information in /etc/dfs/dfstab and the share(1M) manual page to enable volume sharing. In addition, the rpcinfo program can tell you if statd or lockd are available on the local or remote machines.
The linux-kernel mailing list has on-and-off discussions of the status of the NFS subsystem,
which appears to be changing rapidly.
[Nicolai Langfeldt, Robert Kiesling, Anders Hammarquist]
People have reported success with other True Type font servers. There are links
from the xfsft Home Page to them as well.
You can also compile True Type Font support into your X server directly. Again,
refer to the xfsft Home Page for details.
4.13. Can Linux Boot from MS-DOS?
If LILO doesn't work, and if the
machine has MS-DOS or Microsoft Windows, you
may be left with a computer that won't boot.
This can also happen on an upgrade to your
Linux distribution. Re-installing LILO is
the last thing that the installation does.
So it is vitally important when installing
or upgrading Linux on a dual boot machine,
to have a MS-DOS or Windows rescue disk nearby
so you can FDISK -MBR. Then you can go about using LOADLIN.EXE instead of LILO.
This config.sys file is one possible way to invoke LOADLIN.EXE and boot MS-DOS or Linux.
[menu]
menuitem=DOS, Dos Boot
menuitem=LINUX, Linux Boot
[LINUX]
shell=c:\redhat\loadlin.exe c:\redhat\autoboot\vmlinuz vga=5 root=/dev
[DOS]
STACKS = 0,0
rem all the other DOS drivers get loaded here. |
This creates a menu where you can directly jump to LOADLIN.EXE before all of the MS-DOS drivers get loaded.
The paths and options are peculiar to one machine and should be intuitively obvious
to the most casual observer. See the LOADLIN.EXE docs for options. They are the same as LILO, and options are just passed to
the kernel, anyhow.
[Jim Harvey]
-
Create a partition using OS/2's FDISK.EXE (Not Linux's fdisk).
-
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.)
-
Add the partition to the Boot Manager.
-
Boot Linux, and create a file system on the partition using mkfs -t ext2 or mke2fs. At this point you may, if you like, use Linux's fdisk 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.
-
Install Linux on the partition.
-
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
(where /dev/hda2 is the partition you want to boot from) in your /etc/lilo/config or /etc/lilo.config file.
-
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.
There is a set of HOWTO's on the subject of multi-boot systems at the LDP Home
Page, http://www.linuxdoc.org/.