Date: Sat, 17 Oct 1998 14:51:01 +1000 From: Bruce Evans <bde@zeta.org.au> To: mike@smith.net.au, shimon@simon-shapiro.org Cc: freebsd-current@FreeBSD.ORG, jkh@time.cdrom.com Subject: Re: Show Stopper? Failure to Install 19981014 Message-ID: <199810170451.OAA00376@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>It appears to be caused by not entering the root filesystem first. >There's a test in the disklabel code which checks to see if the >partition you have open to write the label starts at 0, and if not then >it defaults to the 'a' partition. Labels should always be written using the RAW_PART partition ('c' on i386's). If not, then they must be written using a partition that has offset 0. If not even that, then the 'a' partition must have offset 0. Unfortunately, newfs(8) writes labels to the same partition that it is newfs'ing. >Partitions are laid on disk in the order that you enter them. The 'a' >partition is always reserved for the partition you mount on /. If you It's not reserved. It's just the default. >don't enter this partition first, it won't be at the beginning of the >disk, and any attempt to rewrite the disklabel will fail. > >Due to the way that sysinstall interacts with libdisk, this is >difficult to get "right". We probably need a bandaid which insists >that if you want to create an 'a' partition you must lay it down first. This is easy to fix by changing the (whole) test in writedisklabel() to `lp->p_partitions[RAW_PART] == 0'. Even that is probably only necessary to give the right errno (this condition is enforced in several places). This might wake bugs in other code where partition 0 is magic. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810170451.OAA00376>