Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel!munnari.oz.au!uunet!stanford.edu!ames!sgi!rigden.wpd.sgi.com!rpw3 From: rpw3@rigden.wpd.sgi.com (Rob Warnock) Subject: Re: 386BSD and IDE drives Message-ID: <q86oajo@sgi.sgi.com> Sender: rpw3@rigden.wpd.sgi.com Organization: Silicon Graphics, Inc. Mountain View, CA Date: Thu, 24 Sep 1992 07:34:44 GMT Lines: 40 terry@cs.weber.edu (A Wizard of Earth C) writes: +--------------- | Since DOS can't access cylinders past 1024, this means a DOS partition | would have to be before that -- thus either reducing the usable disk space, | or making the 386BSD partition the second one rather than the first. A | problem in asboot.c means that not having the 386BSD partition first can | mean it won't work. +--------------- Unless you patch "asboot" with the location of the Unix "a" partition. I did exactly that (with DOS "DEBUG" & a little "INT 13" coding), and now everything runs just fine. My layout is: # size offset fstype [fsize bsize cpg] a: 2639872 294912 4.2BSD 1024 8192 16 # (Cyl. 144 - 1432) b: 131072 163840 swap # (Cyl. 80 - 143) c: 2639872 294912 unused 0 0 # (Cyl. 144 - 1432) d: 2934784 0 unused 0 0 # (Cyl. 0 - 1432) e: 163840 0 DOS 0 0 # (Cyl. 0 - 79) that is, from the beginning of the disk: DOS, Unix swap, and then Unix root. Note that only the DOS and Unix "a" partitions have entries in the DOS part- ition table, since 386bsd assumes that the first Unix partition mentioned in the DOS partition table is the Unix "a" partition. -Rob p.s. For those who insist on trying this at home (no guarantees), the locations to patch in the 0.1 "asboot" image are bytes 0x60-63. What you put there is the *Big*Endian (reversed from DOS) sector number of the start of the "a" partition (that is, the sector number of "asboot" itself). ----- Rob Warnock, MS-9U/510 rpw3@sgi.com Silicon Graphics, Inc. (415)390-1673 2011 N. Shoreline Blvd. Mountain View, CA 94043