*BSD News Article 2489


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel!munnari.oz.au!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!news.belwue.de!news.uni-tuebingen.de!mailserv!zxmsd01
From: zxmsd01@mailserv.zdv.uni-tuebingen.de (Gunther Schadow)
Subject: Re: using mtools to access dos partitions
Message-ID: <zxmsd01.712087031@mailserv>
Sender: news@softserv.zdv.uni-tuebingen.de (News Operator)
Organization: Comp. Center (ZDV) U of Tuebingen, FRG
References: <BrtHvn.Is6@usenet.ucs.indiana.edu> <1373@sousa.ltn.dec.com> <2eLv02wc1bJx01@JUTS.ccc.amdahl.com>
Date: Sat, 25 Jul 1992 17:57:11 GMT
Lines: 66

In <2eLv02wc1bJx01@JUTS.ccc.amdahl.com> gab10@griffincd.amdahl.com (Gary A Browning) writes:


>In article <1373@sousa.ltn.dec.com> you write:
>>mitchemt@silver.ucs.indiana.edu (Terrence Mitchem) writes:
>>: 
>>: 	Can anyone tell me how to set up the devices.c file that comes with
>>: mtools in order to access dos partitions on  hard drive? Which
>devices in /dev
>>: correspond to the partitions on the disk?  Does it make any
>difference if Im
>>: using a scsi controller (adaptec 1542b)?  All help is appreciated.

[stuff deleted]

>Can't you just create a new device to access the DOS partitions without
>recompiling the kernel?  The /etc/disktab file probably does not match 
>your actual disk label but this can be gotten using the 'disklabel'
>program.

Yes you can. I yesterday succdeded with the configuration of mtools to
read the MSDOS partition on my IDE disk.
  You can edit the disklabel with the -e option. Add a new partition
entry at the end of the editor wich covers the MS-DOS partition and
don't forget to increase the number of partitions right before the
list of partitions.  

> It looks like the locations of the partitions are specified in 
>sectors from the *beginning of the hard disk*, not the beginning of the
>386BSD partition.  

This definitely is true

>You should be able to update the /etc/disktab 
>from the output of 'disklabel', add the new entry describing the DOS 
>partition location (multiply it out from the cylinder info supplied from 
>MS-DOG's 'fdisk' program), rebuild the disk label using 'disklabel', and
>create another device, say /dev/as0g, using 'mknod' (the meaning of the 
>minor device number is at the beginning of the file 'as.c').

I did this for an IDE drive but this method is likely to work with
SCSI as well.

>This is what I was going to try.  Am I missing something?

Don't forget to set the correct offset in the mtools/devices.c file.
In my case I have the DOS partition at the beginning of the disk, Cyl.
0 - 80. However the first 8704 bytes contain the fdisk partition table
and the system boot code. These must be skipped by mtools. Thus the
line in devices.c looks like:
  {'C', "/dev/wd0d", 8704L, .. followed by the other parameters all
set to 0. }, so you don't need to supply the disk geometry to mtools.
There is an example for this line in ther devices.c file already.
Watch out for any such line containing an offset other than 0L.

good luck
-Gunther




--
-------------------------------------------------------------------------------
Gunther Schadow,	          e-mail: Gunther@mailserv.ZDV.Uni-Tuebingen.DE
Sudetenstrasse 25,	          Phone:  (49) 7071/37527
7400 Tuebingen, Germany.__________Stop__________Horn Please!__________O.K. TATA