[arch-general] /usr is not mounted. This is not supported.
clemens fischer
ino-news at spotteswoode.dnsalias.org
Thu Oct 27 04:50:32 EDT 2011
Tom Gundersen wrote:
> On Wed, Oct 26, 2011 at 12:57 PM, clemens fischer <...> wrote:
>
>> Thomas Bächler wrote:
>>
>>> Am 25.10.2011 20:12, schrieb clemens fischer:
>>>
>>>>> Mounting /usr needs to go to the initramfs. It is possible to
>>>>> implement a mount handler for this. At this stage, the by-label
>>>>> symlinks exist already.
>>>>
>>>> AFAIU udevd(8) is responsible for setting up those symlinks. How
>>>> can they exist _before_ udevd(8) is started?
>>>
>>> I'll let you go back and read everything again, what you are saying
>>> makes no sense whatsoever, and I have no idea how to reply to it.
>>
>> Lucky you, I have a way to explain it: There are udev rules
>> referencing stuff in /usr. If people mount /usr by-label or by-uuid,
>> udev must have completed to setup those symlinks. Catch-22.
>
> If you want to understand this I suggest you look at the udev hook in
> initramfs. There is no problem.
I think I have to take back what I said about a catch-22. I didn't have
a clear understanding about the switch over from the initramfs to the
full system.
Correct me if I'm wrong:
1. The initramfs provides what's necessary to run a full system. It
loads the needed modules and lets udev install the systems devices.
2. See switch_root(8):
"switch_root moves already mounted /proc, /dev and /sys to newroot
and makes newroot the new root filesystem and starts init process."
3. The full system is made operational by eg. etc/rc.sysinit and
friends.
So indeed a carefully crafted "mount /usr" can rely on labels and uuids
of filesystems to be available very early.
clemens
More information about the arch-general
mailing list