TMPFS in kernels
Jia-Shiun Li
jiashiun at gmail.com
Thu Mar 6 05:03:58 UTC 2014
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.
More information about the freebsd-arm
mailing list