On 09/15/2011 01:03 PM, Joost Roeleveld wrote:
> On Thursday, September 15, 2011 09:27:06 AM Zac Medico wrote:
>> On 09/15/2011 09:04 AM, Joost Roeleveld wrote:
>>> Thank you for your response, however, I do have a few questions about
>>> this. Where will this default initramfs actually need to be placed?
>>
>> It should be similar to how sys-apps/v86d is used for uvesafb support.
>> It installs /usr/share/v86d/initramfs and when you configure your
>> kernel, you set CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs" in
>> order to have in included in your kernel image.
> 
> Will this be set somewhere globally to the initramfs automatically?
> And doesn't this mean that a new kernel will need to be build just to satisfy 
> this?

You could also pass it as an initrd via your bootloader, like rich0 said
in his reply.

> I'm trying to think of how best to avoid users who are not aware to get 
> caught 
> with non-booting systems.
> 
> Wouldn't automatic inclusion into grub.conf be a better approach? Not sure if 
> grub.conf can handle a "global" setting for initramfs.

Maybe so. I'm not involved the implementation. I was just telling you
the obvious stuff that I've gleaned from the discussions.

>>> Also, how will
>>> we be able to deal with situations where this script fails?
>>
>> It should drop you to a minimal shell.
> 
> But, with udev then failing, will there be the /dev-entries to mount the 
> different partitions to fix the environment?

I the preferred approach is to enable CONFIG_DEVTMPFS=y and
CONFIG_DEVTMPFS_MOUNT=y, so that the kernel populates /dev for you
automatically.

>>> If Gentoo does decide to follow the initramfs-route, why not simply
>>> implement /etc/init.d/localmount in the initramfs?
>>
>> I think that's pretty close to what we have planned, since the plan is
>> to have the initramfs mount configuration stored on the root filesystem.
> 
> But still require a seperate configuration file for this?

I guess it could probably just use fstab. Again, I'm not involved in the
implementation of all this.

>>> Why require users to figure out which
>>> filesystems are needed for udev?
>>
>> Simply mount all filesystems containing files managed by the package
>> manager with the initramfs. Anything else would expose you to the
>> possibility of unsatisfied dependencies.
> 
> On my desktop, that would mean the following list:
> /usr/
> /var/
> /opt/
> /tmp/
> /opt/tmp/
> 
>>> Also, I was actually hoping for a reply to the rest of my email as well,
>>> especially the idea for splitting udev into 2 seperate processes.
>>
>> In essence, what your doing here is playing a game of "let's see how
>> long we can delay the mounting of essential filesystems". If you play
>> this game, then again, you expose yourself to the possibility of
>> unsatisfied dependencies. Therefore, the only foolproof approach is to
>> mount all essential filesystems as soon as possible (via initramfs).
> 
> True, but I don't have any scripts configured for udev on my desktop.
> My server has some scripts related to Xen, and those are all under 
> /etc/xen/...
> 
> In this case, would it still be necessary to use an initramfs?

Well, as long as your essential filesytems aren't mounted before init is
called, there's always the possibility that some issue of unsatisfied
dependencies will arise in the future. Therefore, the most foolproof and
future-proof approach is to have them all mounted before init is called.

>>> If someone can explain to me why my idea won't work, please let me know.
>>
>> If your goal is to expose yourself to the possibility of unsatisfied
>> dependencies, they your idea will achieve it.
> 
> No, my goal is to come up with a different solution to this problem which, on 
> my system and possibly also on a lot of other systems, doesn't actually exist.

If a problem doesn't exist now, that doesn't mean one won't arise in the
future. As said, the most future-proof approach is to have them all
mounted before init is called.
-- 
Thanks,
Zac

Reply via email to