Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Nov 2006 11:32:34 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        aag.lists@gmail.com
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Ramdisk support
Message-ID:  <20061124.113234.-2101771679.imp@bsdimp.com>
In-Reply-To: <2f3a439f0611142305n441d3adwf7738ae40f9103e3@mail.gmail.com>
References:  <2f3a439f0611142305n441d3adwf7738ae40f9103e3@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <2f3a439f0611142305n441d3adwf7738ae40f9103e3@mail.gmail.com>
            "Aditya Godbole" <aag.lists@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061124.113234.-2101771679.imp>