Ramdisk support

M. Warner Losh imp at bsdimp.com
Fri Nov 24 18:32:49 UTC 2006


In message: <2f3a439f0611142305n441d3adwf7738ae40f9103e3 at mail.gmail.com>
            "Aditya Godbole" <aag.lists at gmail.com> writes:
: Is there any ramdisk support in freebsd, as there is in netbsd? If
: there is no such functionality right now, is anyone working on it?
: What are the alternatives if I want to mount a root filesytem from ram?

mdconfig will create one at run time.

If you want to compile it into the kernel, then you need to create
your image (mine is for an ARM, and I call my image ARM-MD).  You then
need the following config options:

options         MD_ROOT                 #MD is a potential root device
options         MD_ROOT_SIZE=8192       # 8MB ram disk
makeoptions     MFS_IMAGE=/home/imp/ARM-MD
options         ROOTDEVNAME=\"ufs:md0\"

in your kernel.  This is for -current.  I'm unsure if the MFS_IMAGE
stuff has been MFC'd or not.  If not, then you'll need to perform the
following steps after you build the kernel to add the image:

	@dd if="${MFS_IMAGE}" ibs=8192 of="${KERNEL_KO}"		\
	   obs=`strings -at d "${KERNEL_KO}" |				\
	         grep "MFS Filesystem goes here" | awk '{print $$1}'`	\
	   oseek=1 conv=notrunc 2>/dev/null &&				\
	 strings ${KERNEL_KO} |						\
	 grep 'MFS Filesystem had better STOP here' > /dev/null ||	\
	 (rm ${KERNEL_KO} && echo 'MFS image too large' && false)

where KERNEL_KO is typically 'kernel'.

Warner


More information about the freebsd-hackers mailing list