[MINIX LOGO]

Exchanging Data between Minix and Other OS File Systems

revised 14 March 2004


If you use two or more operating systems you probably will want to exchange data between them at some point. If they are on separate computers and the computers are networked, you can use programs like ftp(1) (available for most, if not all, operating systems) or (between Unix-like systems) rcp(1) . Between non networked computers you can use kermit(1) (also available for most, if not all, operating systems) to transfer data via modem or over a serial line connection.

Exchange of data between different operating systems running at different times on the same computer (or at the same time using a virtual or emulated machine such as provided by VMWare and Bochs) or on two computers that can't communicate by wire requires arranging for one system or the other to read and write "foreign" floppy disks or hard disk partitions. With floppy disks the only problem is to interpret the data structures used by the foreign file system. With hard disk partitions there may be another problem to be solved first: although all operating systems that use the same hardware platform must use the method of defining primary disk partitions that is supported by the system's ROM boot code, operating system designers have devised various ways of further dividing primary partitions into subpartitions. This document deals with the problem of interpreting foreign file systems; see the file on partition compatibility for information on the subpartition problem.

Minix's primary purpose is to illustrate operating system principles. Keeping Minix small enough to fit into a student's head during a semester- or year-long course has required keeping it simple. In particular, the Minix file system supports mounting only media containing Minix file systems.

Minix Access to Foreign File Systems

In the Unix world mounting a file system has a definite meaning: a mounted file system is part of a single directory tree with / at its root. But just because Minix cannot mount foreign file systems doesn't mean they can't be accessed. The standard Minix distribution contains utility programs to allow reading and writing files and directories in MS-DOS and Windows file systems, and for reading files and directories in ISO-9660 file systems, as found on CD-ROMs. These programs are the dos* utilities, mtools, and the iso* utilities.

Accessing MS/DOS and Windows file systems from Minix:

Accessing ISO-9660 (CD-ROM) files from Minix:

Of course, to use the iso* tools you need to know the Minix device that corresponds to your CD-ROM. It will most like be /dev/c0d1 or /dev/c0d2 on a typical computer with one hard drive and one CD-ROM drive. (That's for Minix 2.0.3 or later, for earlier versions try /dev/hd5 or /dev/hd10). You can use the part command or experiment with isoinfo with different arguments to identify the CD-ROM drive.

Accessing files in Linux ext2 file systems from Minix:

Terry McConnell ported a package called ext2tools, originally written for MS-DOS, to Minix. As originally written by Claus Tondering, this package provided tools for accessing a Linux ext2 filesystem from MS-DOS. The port provides the same functionality for accessing Linux files from Minix. The following programs are included:

Of course, as of 2003 Linux has moved on, and ext2 is no longer the most widely used Linux file system. One way to deal with this is similar to what was suggested above for Windows: make an extra Linux partition that uses ext2, or perhaps even the Linux minix file system, and use this as a staging point for files to be transferred.

MS-DOS and Windows Access to Minix File Systems

Terry McConnell has extended a package originally called MinDOS to make mintools, which gives access to Minix files from an MS-DOS prompt.

Linux Access to Minix File Systems

This category is a no-brainer. Linus used the then-current Minix file system as the basis for Linux , and although Linux hard drives usually use the Linux ext3 or another newer file system now, support for the Minix file system is usually included if floppy disk access is required -- newer file systems are not suited for floppy disks, and the Minix fs is used for floppy disks by default. Just be sure when you configure Linux that you include support for the Minix file system.

File Transfers between Guest and Host OS on Virtual or Emulated Systems

With a virtual or emulated host platform, as provided by Bochs or VMWare, one frequently needs to transfer data from the host OS to the guest OS or vice versa. Depending on the capabilities of the two systems, there may be several ways to do this.

Virtual and emulated system links: Here are sources of more information about some of the topics mentioned in this section.
[HOME] [HINTS/FAQ] [MINIX DOWNLOADS] [CONTRIB SOFTWARE]
[NET SOFTWARE] [MINIX-VMD] [TEXTBOOK] [LINKS]

All material on this site not otherwise attributed is copyright ©1994-2003 Albert S. Woodhull
Click here for information on copying and other use.
Mail comments on this page to: Al Woodhull <awoodhull@hampshire.edu>
Viewable With Any Browser    [Valid HTML 4.0!]