From owner-freebsd-current Thu Jul 10 01:26:17 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id BAA14839 for current-outgoing; Thu, 10 Jul 1997 01:26:17 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id BAA14833 for ; Thu, 10 Jul 1997 01:26:13 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id SAA29710; Thu, 10 Jul 1997 18:25:27 +1000 Date: Thu, 10 Jul 1997 18:25:27 +1000 From: Bruce Evans Message-Id: <199707100825.SAA29710@godzilla.zeta.org.au> To: freebsd-current@FreeBSD.ORG, j@uriah.heep.sax.de Subject: Re: [pac@bvemx.ppco.com: kern/4068: 'panic: cant mount root' while booting new installation from disk 2.] Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >>Number: 4068 >>Category: kern >>Synopsis: 'panic: cant mount root' while booting new installation from disk 2. > >-----End of forwarded message----- > >Pilot error, as we all know. But that's now the third or fourth bug >report of someone who's not intelligent enough to read the >documentation. People who actually read boot(8) in RELENG_2_2_2_RELEASE should get this wrong :-). ".It unit The unit number of the drive on the controller being used. Either 0 or 1 for wd..." This says that wd2 doesn't exists, and hints that you need to specify a controller number, but there is no way to specify a controller number at boot time. >Any suggestions on how to: >... >. or at least detect the case post-mortem, and hint to the correct > usage in a printf() right before the panic? It should at least hint about booting with -a (which current only works if the kernel was configured with "swap on generic", but should always work), and failed attempts to mount root should lead back to the -a prompt, at least if the kernel was booted with -a (-a is not so good for boots that should work automatically). This probably takes a negative amount of code to implement - just clean up swapgeneric.c and call the active part of it in a loop in init_main.c. Bruce