TMPFS in kernels
George Rosamond
george at ceetonetechnology.com
Fri Mar 7 00:14:30 UTC 2014
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
More information about the freebsd-arm
mailing list