0

I try resize my devtmpfs size, by add a row to /etc/fstab.

This is my fstab file :

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk0p2 during installation
UUID=6e7b65b0-f9ce-4a0d-97fd-73374d0a8492 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/mmcblk0p1 during installation
UUID=26c4e594-31fe-49ab-844a-a2e7e195ea36 /boot           ext2    defaults        0       2
0       0
# Define devtmpfs size
udev /dev   devtmpfs  rw,relatime,size=102400k,nr_inodes=217992,mode=755  1  0

But during reboot machine I get these rows :

EXT4-fs (mmcblk0p1): mounting ext2 file system using the ext4 subsystem
EXT4-fs (mmcblk0p1): mounted filesystem without journal. Opts: (null)
[....] Mounting local filesystems...mount: udev is already mounted or /dev busy
failed.

What I make wrong ?

5
  • 1
    It's possible that /dev is mounted by the initial ramdisk (i.e, before your root filesystem is mounted, which means before your fstab is available). It may be possible to modify the fstab on the initial ramdisk, but it might help us if you could explain why you need to resize your /dev filesystem.
    – larsks
    Apr 13, 2017 at 12:25
  • I want shrink size of devtmpfs for performaance improve. How to modify initial ramdisk you mention above ? Apr 13, 2017 at 16:08
  • 1
    I doubt shrinking /dev would increase performance. Apr 13, 2017 at 21:43
  • What influence should be after I shrink it ? I didn't check how much my system use during load process , but on regular run show it never used it, so why I should declare it about 800MB and not 20 MB Apr 14, 2017 at 3:48
  • That duplicate doesn’t answer the question though. (Whether it’s worth answering is another question!) Apr 15, 2017 at 18:22

1 Answer 1

0

I suppose you use initramfs-tools to generate your initramfs as this is the default. Devtmpfs is mounted by its init script, which you find at /usr/share/initramfs-tools/init. The jessie version contains:

tmpfs_size="10M"
if [ -e /etc/udev/udev.conf ]; then
        . /etc/udev/udev.conf
fi
if ! mount -t devtmpfs -o size=$tmpfs_size,mode=0755 udev /dev; then
[...]

This means that

  • the default is 10 MB under jessie, so you probably run stretch, uses half of your physical memory;
  • under jessie you could prescribe a different size by setting tmpfs_size in /etc/udev/udev.conf.

Under stretch, you can't tune this, but as (dev)tmpfs size is a maximum size only, it wouldn't save you any memory anyway. You can remount your /dev to set a different maximum size, though:

# mount -oremount,size=10M /dev

Not the answer you're looking for? Browse other questions tagged .