Subject: Re: Extending config(8) to allow different root fs types
To: None <martin@laurin.teuto.de>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-kern
Date: 11/06/1996 16:55:27
Delivered-To: tech-kern-outgoing@NetBSD.ORG
From: Martin Husemann <martin@laurin.teuto.de>
Cc: "tech-kern@netbsd.org" <tech-kern@NetBSD.ORG>
Date: Sun, 3 Nov 1996 05:46:29 +-100
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: owner-tech-kern@NetBSD.ORG
Precedence: list
Delivered-To: tech-kern@NetBSD.ORG
Gordon W. Ross wrote:
> The normal thing is to do something like this:
> boot> sd(...)netbsd -a
Yes, that's the hack I'm using right now. I made a two line #ifdef CDBOOT
in sys/arch/i386/i386/autoconf.c and set the mountroot function pointer
to cd9660_mountroot instead of ffs_mountroot.
I then have to boot with -a or else the kernel will panic when trying to
mount the root fs from sd0 (which of course isn't an iso 9660 fs).
This is a workaround for now, but I wouldn't call that acceptable for a new
user who is trying to do his first time installation from CD.
Look at the way the AMiga port does it.
Basically, for cd0 devices, the cd9660_xxx functions are used, for
others the normal ones.
From: sys/arch/amiga/amiga/swapgeneric.c:
int (*mountroot) __P((void)) = ffs_mountroot;
[...]
#if NCD > 0
if (major(rootdev) == 7)
mountroot = cd9660_mountroot;
#endif
where 7 is the cd* major on NetBSD/Amiga.
Regards,
Ignatios