Subject: Re: bootable CD miniroot diskimage
To: None <current-users@NetBSD.org,>
From: Hubert Feyrer <hubertf@gmx.de>
List: current-users
Date: 07/08/2006 13:30:19
brook@biology.nmsu.edu (Brook Milligan)
Subject: Re: bootable CD miniroot diskimage
In-Reply-To: <17582.32070.602062.641976@viola.nmsu.edu>
Reply-To: hubertf@gmx.de
Organization: fehu.org
User-Agent: tin/1.6.1-20030810 ("Mingulay") (UNIX) (Linux/2.4.30-vs1.2.10 (i686))

In article <17582.32070.602062.641976@viola.nmsu.edu> you wrote:
> I am trying to make a bootable i386 CD from netbsd-current (checked
> out yesterday).  Using build.sh I can make the entire system,
> including an iso-image (which I burned to a cd).  However, that cd
> will only partially boot.  It loads the kernel, goes through part of
> the device probing, and resets.
> 
> My recollection is that this is a symptom of too small a memory disk
> in the install kernel.  Is that the case?

I doubt it. If the amount of reserved memory in the kernel was too small 
for the ramdisk to insert, mdsetroot would complain during building of the 
ramdisk+kernel (done in the 'instkernel' dir).


> First, since that kernel is being used by several different boot
> images (e.g., floppies, cds, etc.), are there any constraints on how
> large the memory disk can be?  Can I arbitrarily increase it from
> 10,000 blocks to 20,000 blocks and expect it to work?  Is there some
> means of figuring our directly how large it must be?

Take thei ramdisk in the ramdisk-* dir, and see how big it is.
Of course reserving more space would be a waste.
Having this done dynamically would be nice.


> Second, suppose I created a special kernel config file for my bootable
> cd (e.g., with a customized memory disk size), how do I populate its
> memory disk with the appropriate image

Assuming NetBSd-current sources, look into 
src/distrib/i386/instkernel/Makefile, the RAMDISKS and MDSETTARGETS lists 
tell which ramdisk gets put into which kernel (and what that kernel's 
named afterwards, possibly).


> and how do I inform build.sh to
> use it when constructing the iso-image?  I understand that kernel=XXX
> and releasekernel=XXX will build and install a special kernel, but how
> can it be used during the iso-image phase?

The bootable CDs currently made as part of 'build.sh release' are not made 
by the 'iso-image' target in src/etc.


 - Hubert