Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!yoyo.aarnet.edu.au!news.adelaide.edu.au!basser.cs.su.oz.au!news.cs.su.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!doc.ic.ac.uk!uknet!EU.net!Germany.EU.net!netmbx.de!zrz.TU-Berlin.DE!wolf From: wolf@prz.tu-berlin.de (Thomas Wolfram) Newsgroups: comp.os.386bsd.questions Subject: Re: Help! I cannot use os-bs on 1.7 Gig drive. Date: 19 Feb 1994 15:11:15 GMT Organization: TUBerlin/ZRZ Lines: 97 Message-ID: <2k5a6j$1lb@brachio.zrz.TU-Berlin.DE> References: <klee.760727150@imagen> <prang.760973711@du9ds4> <klee.760995005@imagen> NNTP-Posting-Host: midlum.prz.tu-berlin.de X-Newsreader: TIN [version 1.2 PL2] Kanghoon Lee (klee@imagen.com) wrote: > prang@du9ds4.fb9dv.uni-duisburg.de (Juergen Prang) writes: > >klee@imagen.com (Kanghoon Lee) writes: > >I guess, the problem is that OS-BS uses BIOS's Int13h to access the disk containing > >the bootcode. This is true. But I have to correct a little... > > For this reason its disk access capabilities are limited to a maximum > >of 1024 cylinders / 16 heads / 63 sectors per track. These limits (caused by IBM when they thought about the number of bits to spend for the cylinders/heads/sectors input parameters for the BIOS-int13h function - in 1980 or so) are 10 bits for the cylinders (= 1024 cylinder), 8 bits for the heads (= 256 heads) and 6 bits for the sectors (= 63 sectors, because the first sector number defined by IBM is 1 not 0). This is equal to a maximal disk size of 7.875GB. But because of compatibility to the ST506 interface IDE disks are limited to 16 heads. So for IDE the *BIOS* limit is 1024 cylinder, 16 heads, 63 sectors which is equal to a maximal disk size of 504MB. As for SCSI: most adapters like 1542B... implement a mapping scheme of 64 heads and 32 sectors for the access through BIOS int13h. So sectors below 1024 cylinders, 64 heads, 32 sectors can be accessed using the BIOS int13h function on SCSI. And this is equal to a maximal disk size of 1GB. (Some new adapters allow using of other sector mapping schemes, which allows accessing bigger disks through the BIOS.) > >So your partition boundary has > >all its parameters to lie under these maxima. The only thing which OS-BS loads from a partition is the first sector of it which is the operating system boot sector (and in case it's a logical partition inside an Extended partition it needs also access to the Extended partition's first sector). So it's possible to boot an operating system from a partition which exceeds the 1024 cylinder boundary as long as the first sector of it lies below cylinder #1024 so that OS-BS can access its first sector using the BIOS. But there might be a problem creating such a partition because the ending (as well as the starting) location of a partition - that means cylinder/head/sector specifications - are recorded in the partition table using the above described bit-field widths (10/8/6 bits). But there is also a 32 bit field for every partition in the partition table which contains the absolut number of sectors of that partition. A smart operating system could use this field on booting to determine the partition size. I don't know how NetBSD implements this. > >Once NetBSD is booted it is independent > >of these restrictions. This is true for all operating systems which aren't using the BIOS to access the disk (that means it doesn't work for DOS or for OS/2 if you use the OS/2-int13 driver). > >In case your disk geometry has more than 63 sectors per track or more than 16 heads > >it may or may not be possible to let OS-BS boot NetBSD on a cylinder below 1024. Same applies as I wrote above, if you have less then 1024 cylinders, but more then 64 sectors or 256 heads OS-BS *can* boot from such a partition as long as the first partition sector (= boot sector) is below this boundary. And since partitions start usually on head #0, sector #1 this is no problem. > I think you are right. My disk has 3152 cylinders, 16 heads, 63 sectors per > track. When I use the pfdisk to list the geometry, it lists 1024 cylinders, > and I cannot change that. When I install the NetBSD, with partition starting > after the boundary, it does not boot at all. For now, I will settle with > the floppy DOS boot disk. Thanks for all the help. If you start the partition say on cylinder #1023 OS-BS should be able to boot from it. If pfdisk doesn't allow you to create a partition which exceeds the 1024 cylinder boundary then you could use a disk editor an create such a partition by hand. But you should only do that if you're somewhat familiar with the partition table. Thomas -- Thomas Wolfram <thomas@aeon.in-berlin.de> Germany: 0 30 31421171 PRZ TU Berlin <wolf@prz.tu-berlin.de> abroad: +49 30 31421171 EANTC WWW: http://www.prz.tu-berlin.de:2784/~wolf _____________________________________________________________________________ _____S__I__C____T__R__A__N__S__I__T____G__L__O__R__I__A____M__U__N__D__I_____