Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Mar 2014 16:33:19 -0700
From:      Ian Lepore <ian@FreeBSD.org>
To:        Jia-Shiun Li <jiashiun@gmail.com>
Cc:        George Rosamond <george@ceetonetechnology.com>, "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: TMPFS in kernels
Message-ID:  <1394148799.1149.354.camel@revolution.hippie.lan>
In-Reply-To: <CAHNYxxOAcjiU0C6of9wBeHyXiCCgdJWt2Y8BpV%2BDyyD=fxdG2g@mail.gmail.com>
References:  <5313D0FE.8010008@ceetonetechnology.com> <1393818974.1149.270.camel@revolution.hippie.lan> <5314016B.1000107@ceetonetechnology.com> <20140303061136.GB85204@zibbi.meraka.csir.co.za> <CAHNYxxPvRwmSDw8M9znFi1QsDq%2BR=Ash7AODWTct4Q_TBdOCVQ@mail.gmail.com> <C1297CD6-C313-4516-BA51-71C427C45B79@bsdimp.com> <CAHNYxxOAcjiU0C6of9wBeHyXiCCgdJWt2Y8BpV%2BDyyD=fxdG2g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2014-03-06 at 13:03 +0800, Jia-Shiun Li wrote:
> On Tue, Mar 4, 2014 at 10:48 PM, Warner Losh <imp@bsdimp.com> wrote:
> >
> > On Mar 4, 2014, at 3:30 AM, Jia-Shiun Li <jiashiun@gmail.com> wrote:
> >
> >> I remember hacking it a while ago to adopt tmpfs instead on my pxebo=
ot
> >> test environment. It only requires changing the line mdmfs mounting =
md to
> >> 'mount -t tmpfs' (plus mount options), and everything else will work=
 as usual.
> >
> > I=92ll have to give it a spin on NanoBSD then, at least as an option=85
> >
>=20
> The actual patch & result pasted below to save you some time.
> Only tested on x86 pxeboot though.
>=20
> -----8<----------8<----------8<-----
>=20
> % diff -bu /usr/src/etc/rc.initdiskless
> /b/tftpboot/FreeBSD/install/etc/rc.initdiskless
> --- /usr/src/etc/rc.initdiskless        2013-04-11 21:03:31.000000000 +=
0800
> +++ /b/tftpboot/FreeBSD/install/etc/rc.initdiskless     2014-03-06
> 12:43:47.000000000 +0800
> @@ -198,7 +198,10 @@
>  # Create a generic memory disk
>  #
>  mount_md() {
> -    /sbin/mdmfs -S -i 4096 -s $1 -M md $2
> +#    /sbin/mdmfs -S -i 4096 -s $1 -M md $2
> +    local tmpfs_size
> +    tmpfs_size=3D$(($1 * 1024))
> +    /sbin/mount -t tmpfs -osize=3D$tmpfs_size tmpfs $2
>  }
>=20
>  # Create the memory filesystem if it has not already been created
>=20
> % cat df
> Filesystem                                    Size    Used   Avail
> Capacity  Mounted on
> 192.168.233.1:/b/tftpboot/FreeBSD/install/     29G     17G    9.8G    6=
3%    /
> devfs                                         1.0K    1.0K      0B
> 100%    /dev
> tmpfs                                          10M    2.6M    7.4M
> 26%    /etc
> tmpfs                                          10M    180K    9.8M
> 2%    /var
> /dev/md0                                       19M     24K     17M
> 0%    /tmp
> % cat mount
> 192.168.233.1:/b/tftpboot/FreeBSD/install/ on / (nfs, read-only)
> devfs on /dev (devfs, local, multilabel)
> tmpfs on /etc (tmpfs, local)
> tmpfs on /var (tmpfs, local)
> /dev/md0 on /tmp (ufs, local)
>=20
>=20
> -Jia-Shiun.

FYI, I just posted a patchset to freebsd-arch@ and freebsd-rc@ to
address this in a slightly different way.=20

http://lists.freebsd.org/pipermail/freebsd-arch/2014-March/015141.html

Basically I updated the mdmfs program to automatically use tmpfs if it's
available in the kernel and the device name is "auto", along with
changes to rc.initdiskless and defaults/rc.conf to set the device name
to "auto" by default.

-- Ian





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