TMPFS in kernels
Ian Lepore
ian at FreeBSD.org
Fri Mar 7 00:20:32 UTC 2014
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 at bsdimp.com> wrote:
> >>>
> >>> On Mar 4, 2014, at 3:30 AM, Jia-Shiun Li <jiashiun at gmail.com> wrote:
> >>>
> >>>> 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.
> >>>
> >>> I’ll have to give it a spin on NanoBSD then, at least as an option…
> >>>
> >>
> >> The actual patch & result pasted below to save you some time.
> >> Only tested on x86 pxeboot though.
> >>
> >> -----8<----------8<----------8<-----
> >>
> >> % 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=$(($1 * 1024))
> >> + /sbin/mount -t tmpfs -osize=$tmpfs_size tmpfs $2
> >> }
> >>
> >> # Create the memory filesystem if it has not already been created
> >>
> >> % 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)
> >>
> >>
> >> -Jia-Shiun.
> >
> > FYI, I just posted a patchset to freebsd-arch@ and freebsd-rc@ to
> > address this in a slightly different way.
> >
> > 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.
> >
>
> Cool. So assume it would then be added to the (new) RPI-B and ALIX
> kernels. Am I correct?
>
> g
>
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.
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.
-- Ian
More information about the freebsd-arm
mailing list