Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!munnari.OZ.AU!news.ecn.uoknor.edu!news.wildstar.net!news.sdsmt.edu!nntp.uac.net!news.tufts.edu!blanket.mitre.org!news.mathworks.com!news.kei.com!newsfeed.internetmci.com!news.dacom.co.kr!news.kreonet.re.kr!usenet From: Minsung Kim <stair@chiak.kaist.ac.kr> Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: FreeBSD on second IDE drive Date: Tue, 21 May 1996 21:55:02 +0900 Organization: Korea Advanced Inst. of Sci & Tech Lines: 73 Message-ID: <31A1BD26.41C67EA6@chiak.kaist.ac.kr> References: <slrn4q1m30.uu.bspring@j51.com> NNTP-Posting-Host: stair-s.kaist.ac.kr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.02 (X11; I; FreeBSD 2.1-STABLE i386) Brian Springstead wrote: > > I'm looking to install FreeBSD on a machine, but it will > have to be on the second IDE drive (D: in DOS). Someone > told me that this isn't possible with FreeBSD. Is he > correct or incorrect? I checked the FAQ and didn't find > the answer. FreeBSD can be installed and run from the 2nd IDE drive, in which way I use. In fact, FreeBSD can be on any drive. However, below the FreeBSD drive must be "completely filled with hard drives" in IDE chain. For example, if you wish to install FreeBSD on the master drive of 2nd IDE interface, then 1st IDE interface must have two IDE drives. An inconsistency between the kernel and the loader will occur if there's only one drive on 1st IDE interface. The following is the reason. FreeBSD loader loads kernel by BIOS, whose drive numbering mechanism tags sequential number starting from 128 on each hard drive. Then the master drive on 1st IDE i/f gets 128 and the master drive on 2nd IDE i/f, on which FreeBSD will be installed, gets 129. Then the loader assumes that the BIOS drive number directly correspond to the "wd" numbers, naming drive 128 wd0, drive 129 wd1 and so on, and will instruct the loaded kernel to change the root device to wd1. However, the kernel doesn't access the IDE hard drives by BIOS, and the actual drive that will be accessed by a wd number is determined by the internal setup hard-coded in the kernel. The default setup is as followings: (see /usr/src/sys/i386/conf/GENERIC) wd0: master HDD on 1st IDE wd1: slave HDD on 1st IDE wd2: master HDD on 2nd IDE wd3: slave HDD on 2nd IDE So, kernel tries to change the root device to the slave HDD on 1st IDE which is not present, and it panics. (The correct drive name is wd2 according to the internal setup of GENERIC kernel.) The problem can be solved by building a custom kernel, but in order to build a kernel you must able to boot at least once, So you must not make any room below your FreeBSD drive in IDE chain. My FreeBSD drive is the master on 2nd IDE and I have no drive at the slave on 1st IDE. So I had to temporarily put my FreeBSD drive at the slave on 1st IDE, to install FreeBSD on it, compile a custom kernel which recognizes the master on 2nd IDE as wd1, put the FreeBSD drive back at the master on 2nd IDE and reboot with the custom kernel. > > Also is there a way of making a floppy boot disk that will > automagicly boot to BSD without the user having to type > in anything. I know in Linux I can use "dd" to copy > the kernel to the disk. Does this work in FreeBSD? > Is there another way? Make a bootable MS-DOS floppy, copy /usr/mdec/fbsdboot.exe and put the following line as the only contents of CONFIG.SYS: INSTALL=A:\FBSDBOOT.EXE -- Stair =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Kim, Minsung <stair@chiak.kaist.ac.kr> CS Dept., KAIST