Subject: Re: changing root_device? Or load different kernel (ala /dev/reload)
To: Jeremy C. Reed <reed@reedmedia.net>
From: Andrew Gillham <gillham@vaultron.com>
List: netbsd-users
Date: 03/11/2002 16:47:25
On Mon, Mar 11, 2002 at 03:54:29PM -0800, Jeremy C. Reed wrote:
> My goal: I have a CD-based, ram-based netbsd. Currently, it boots with the
> kernel configured with "root on cd0a".
> 
> I want to try having a ram-based root. I'd prefer to not use symlinks. And
> my "root" memory disk will be over 15MB.
> 
> I don't think I can use MEMORY_DISK_IS_ROOT, because I'll be limited with
> what I place on the root image.  And I want to use a big bloated kernel.
> (I also hear that some CDs can't boot with 2.88MB image size, only 1.44
> image size.)

You could use small ramdisk for / and then mount_mfs more space?  Populate
the space by untarring a file from the CD, and using mount_null to overlay
/bin /sbin, etc.
e.g.

root on md0a
/bin/rc does:
 mount -t mfs -o -s=<size> swap /mfs
 mount -r -t cd9660 /dev/cd0a /mnt
 cd /mfs
 tar xzpf /mnt/ramdisk.tgz
 mount -t null /mfs/etc /etc
 mount -t null /mfs/bin /bin
 mount -t null /mfs/sbin /sbin
 mount -t null /mfs/var /var
 mount -t null /mfs/usr /usr

-Andrew