diff options
author | ache <ache@FreeBSD.org> | 1994-03-21 14:37:01 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-03-21 14:37:01 +0000 |
commit | e23f78c6520be979e57de6eddbd0f502a2dc85ae (patch) | |
tree | 331acbbed023c68513200e2eb06b32ffa560aaa0 /sys/amd64 | |
parent | de5a2a0539eba82512907963f35c16ab891bb20c (diff) | |
download | FreeBSD-src-e23f78c6520be979e57de6eddbd0f502a2dc85ae.zip FreeBSD-src-e23f78c6520be979e57de6eddbd0f502a2dc85ae.tar.gz |
Fix for root system mounted on second floppy
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/autoconf.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c index 6cbd026..c55e88d 100644 --- a/sys/amd64/amd64/autoconf.c +++ b/sys/amd64/amd64/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.7 1994/01/16 02:21:56 martin Exp $ + * $Id: autoconf.c,v 1.8 1994/01/31 23:47:24 davidg Exp $ */ /* @@ -134,6 +134,7 @@ u_long bootdev = 0; /* should be dev_t, but not until 32 bits */ static char devname[][2] = { 'w','d', /* 0 = wd */ 's','w', /* 1 = sw */ +#define FDMAJOR 2 'f','d', /* 2 = fd */ 'w','t', /* 3 = wt */ 's','d', /* 4 = sd -- new SCSI system */ @@ -164,7 +165,10 @@ setroot() adaptor = (bootdev >> B_ADAPTORSHIFT) & B_ADAPTORMASK; part = (bootdev >> B_PARTITIONSHIFT) & B_PARTITIONMASK; unit = (bootdev >> B_UNITSHIFT) & B_UNITMASK; - mindev = (unit << PARTITIONSHIFT) + part; + if (majdev == FDMAJOR) + mindev = unit << 6; + else + mindev = (unit << PARTITIONSHIFT) + part; orootdev = rootdev; rootdev = makedev(majdev, mindev); /* |