Skip to contentSkip to conversation

/var on a separate partition

DISCUSSION William Hubbs 2 participants 6 messages Nov 8, 2011

lore
Share & tools
lore
#0 lore raw

All,

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

William

#1 lore raw
Quoted 7 lines · William Hubbs

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

There is no need for that. Systemd can bring up the box without /var, and sort the services which need that after /var is mounted.

Alsa has its own systemd service which initializes hardware at that point, in case the coldplug run did not do it already from udev.

Kay

#2 lore raw
In reply to William Hubbs
Quoted 9 lines · Kay Sievers
Quoted 7 lines · William Hubbs

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

Quoted 5 lines

There is no need for that. Systemd can bring up the box without /var, and sort the services which need that after /var is mounted.

Alsa has its own systemd service which initializes hardware at that point, in case the coldplug run did not do it already from udev.

In that case, shouldn't we have the alsa-utils folks drop /lib/udev/rules.d/90-alsa-restore.rules from their package?

William

#3 lore raw
In reply to William Hubbs
Quoted 10 lines · William Hubbs
Quoted 9 lines · Kay Sievers
Quoted 7 lines · William Hubbs

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

Quoted 8 lines
Quoted 5 lines

There is no need for that. Systemd can bring up the box without /var, and sort the services which need that after /var is mounted.

Alsa has its own systemd service which initializes hardware at that point, in case the coldplug run did not do it already from udev.

In that case, shouldn't we have the alsa-utils folks drop /lib/udev/rules.d/90-alsa-restore.rules from their package?

Udev still takes care for hardware you connect later. Udev does the hotplug path, the systemd service does the initial init during bootup. Both are needed.

But the ACTION="remove" rule in that file can surely be killed, not sure who expected saving the state of a device that is already removed to work. :)

Kay

#4 lore raw
In reply to William Hubbs
Quoted 20 lines · Kay Sievers
Quoted 10 lines · William Hubbs
Quoted 9 lines · Kay Sievers
Quoted 7 lines · William Hubbs

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

Quoted 8 lines
Quoted 5 lines

There is no need for that. Systemd can bring up the box without /var, and sort the services which need that after /var is mounted.

Alsa has its own systemd service which initializes hardware at that point, in case the coldplug run did not do it already from udev.

In that case, shouldn't we have the alsa-utils folks drop /lib/udev/rules.d/90-alsa-restore.rules from their package?

Quoted 7 lines

Udev still takes care for hardware you connect later. Udev does the hotplug path, the systemd service does the initial init during bootup. Both are needed.

But the ACTION=="remove" rule in that file can surely be killed, not sure who expected saving the state of a device that is already removed to work. :)

I'm not sure we are talking about the same file, so I will include the one I have for reference, this is from alsa-utils-1.0.24.2.

ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS=="card*", \
RUN+="/usr/sbin/alsactl restore $attr{number}"

The problem is the run+= portion. "alsactl restore" reads state information from /var/lib/alsa by default, so it will fail if /var is not mounted.

William

#5 lore raw
In reply to William Hubbs
Quoted 25 lines · William Hubbs
Quoted 24 lines · Kay Sievers
Quoted 10 lines · William Hubbs
Quoted 9 lines · Kay Sievers
Quoted 7 lines · William Hubbs

I know that having /usr on a separate file system with the latest udev doesn't work without using an initramfs.

Are there any other file systems that should be pre-mounted by the initramfs, such as /var? It looks like /var has to be pre-mounted if you have alsa installed, but I want to confirm whether folkson this list know this.

Quoted 8 lines
Quoted 5 lines

There is no need for that. Systemd can bring up the box without /var, and sort the services which need that after /var is mounted.

Alsa has its own systemd service which initializes hardware at that point, in case the coldplug run did not do it already from udev.

In that case, shouldn't we have the alsa-utils folks drop /lib/udev/rules.d/90-alsa-restore.rules from their package?

Udev still takes care for hardware you connect later. Udev does the hotplug path, the systemd service does the initial init during bootup. Both are needed.

Quoted 6 lines
Quoted 3 lines

But the ACTION="remove" rule in that file can surely be killed, not sure who expected saving the state of a device that is already removed to work. :)

I'm not sure we are talking about the same file, so I will include the one I have for reference, this is from alsa-utils-1.0.24.2.

We do. The ACTION="remove" in there makes no sense.

Quoted 6 lines

ACTION="add", SUBSYSTEM="sound", KERNEL="controlC*", KERNELS="card*", \
       RUN+="/usr/sbin/alsactl restore $attr{number}"

               The problem is the run+= portion. "alsactl restore" reads state information from /var/lib/alsa by default, so it will fail if /var is not mounted.

That does not matter. The rule is meant to run and will work fine in hotplug cases. During bootup it can gracefully fail without causing any problems, the systemd service, started later, will take care that /var is there, when the formerly failed device inits, are applied.

Kay