Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2014 17:25:09 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Ian Lepore <ian@FreeBSD.org>
Cc:        George Rosamond <george@ceetonetechnology.com>, "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: TMPFS in kernels
Message-ID:  <CA1F2561-412A-466A-BF5B-1FBE5EDEE451@bsdimp.com>
In-Reply-To: <1394151627.1149.357.camel@revolution.hippie.lan>
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> <1394148799.1149.354.camel@revolution.hippie.lan> <53190F52.7030605@ceetonetechnology.com> <1394151627.1149.357.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 6, 2014, at 5:20 PM, Ian Lepore <ian@FreeBSD.org> wrote:

> On Thu, 2014-03-06 at 19:14 -0500, George Rosamond wrote:
>> Ian Lepore:
>>> 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:
>>>>>=20
>>>>> On Mar 4, 2014, at 3:30 AM, Jia-Shiun Li <jiashiun@gmail.com> =
wrote:
>>>>>=20
>>>>>> I remember hacking it a while ago to adopt tmpfs instead on my =
pxeboot
>>>>>> 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.
>>>>>=20
>>>>> I=92ll have to give it a spin on NanoBSD then, at least as an =
option=85
>>>>>=20
>>>>=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  =
  63%    /
>>>> 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.
>>>=20
>>> FYI, I just posted a patchset to freebsd-arch@ and freebsd-rc@ to
>>> address this in a slightly different way.=20
>>>=20
>>> =
http://lists.freebsd.org/pipermail/freebsd-arch/2014-March/015141.html
>>>=20
>>> 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.
>>>=20
>>=20
>> Cool.  So assume it would then be added to the (new) RPI-B and ALIX
>> kernels.  Am I correct?
>>=20
>> g
>>=20
>=20
> Yeah, for the kernel side of it, I'm just adding TMPFS to
> arm/conf/DEFAULTS since the concensus seems to be that we want it in =
all
> kernels.  I'm waiting for a universe-kernels build to finish and if =
it's
> clean I'll commit that tonight.

DEFAULTS was never intended for something like this.. Only for things =
that
must be mandatory or very nearly mandatory for the system to operate. =
While
useful, this isn=92t mandatory by any stretch of the imagination. I =
strongly object
to putting it there, so please don=92t commit it to DEFAULTS.

> For the other part of it, we'll see what feedback comes from the =
review
> on the other lists, it may not get committed for a few days.

Those looked good to me.

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA1F2561-412A-466A-BF5B-1FBE5EDEE451>