All of lore.kernel.org
 help / color / mirror / Atom feed
* Dracut on different distros?
@ 2009-03-04 15:10 Seewer Philippe
       [not found] ` <49AE99D2.1000501-omB+W0Dpw2o@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Seewer Philippe @ 2009-03-04 15:10 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA

Hello all

...I'm starting a new subject on this for the sake of my brain. Mixing 
patches and important discussions always gets me heavily confused...


First of all, please remember that Debian has a certain policy and even 
though we should make Dracut work on Debian, Debian itself certainly 
won't adopt Dracut until at least the next full release. Which we all 
know will be released when its ready.


Second I have to ask how far Dracut needs (and wants) to go with the 
"One initrd to rule them all". The different distros will need to 
customize the initrd anyway. Think in terms of splash-screens, different 
versions of utilities and configs or just plain 'crazy and convoluted'...

So why not just go the way of 'as generic as possible', provide the 
common denominator and let the Distros sort out the rest?

An example: As Kay pointed out, we can never know if the provided rules 
really are the right ones. Getting to root might work but what about 
after that? Some stored information in /dev/.udev might be horribly 
incompatible. Best leave it to the Distro or local maintainer to tell 
Dracut which udev parts are the "good" ones.

Another example: As seen, we need to load a keymap for say, cryptroot. 
But which keymap? And where is it stored? Leave that to the Distro if it 
wants to load one.

And another example: Yes, Debian and Ubuntu don't provide 
modules.{block,net,...} Can we really find a way of finding all block 
drivers? Certainly stupid me can't think of a way to be sure we "really 
really" have all block drivers without including every single .ko. Leave 
it to the user to specifically set drivers or the Distro to tell Dracut 
which drivers to include.


I'm thinking of a debootstrappish system of suite/target (or 
topic/flavour) where Dracut specifically delegates those tasks away it 
cannot solve on its own. We might even provide some simple things like 
just including all drivers for testing purposes or as a fallback solution.


Regards,
Philippe

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found] ` <49AE99D2.1000501-omB+W0Dpw2o@public.gmane.org>
@ 2009-03-04 16:05   ` Victor Lowther
       [not found]     ` <0227279C-8C23-4501-B163-04470D0C0F35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2009-03-04 18:12   ` Dave Jones
  1 sibling, 1 reply; 8+ messages in thread
From: Victor Lowther @ 2009-03-04 16:05 UTC (permalink / raw)
  To: Seewer Philippe; +Cc: <initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>

On Mar 4, 2009, at 9:10 AM, Seewer Philippe <philippe.seewer-omB+W0Dpw2o@public.gmane.org>  
wrote:

> Hello all
>
> ...I'm starting a new subject on this for the sake of my brain.  
> Mixing patches and important discussions always gets me heavily  
> confused...
>
>
> First of all, please remember that Debian has a certain policy and  
> even though we should make Dracut work on Debian, Debian itself  
> certainly won't adopt Dracut until at least the next full release.  
> Which we all know will be released when its ready.
>
>
> Second I have to ask how far Dracut needs (and wants) to go with the  
> "One initrd to rule them all". The different distros will need to  
> customize the initrd anyway. Think in terms of splash-screens,  
> different versions of utilities and configs or just plain 'crazy and  
> convoluted'...

I would have the goal of making dracut be able to generate a working  
no-frills initramfs with minimal (preferably no) distro customization,  
and have a hook structure that allows the distros to customize the  
initrams without having to patch things.

>
> So why not just go the way of 'as generic as possible', provide the  
> common denominator and let the Distros sort out the rest?

That is my goal, at least.

>
> An example: As Kay pointed out, we can never know if the provided  
> rules really are the right ones. Getting to root might work but what  
> about after that? Some stored information in /dev/.udev might be  
> horribly incompatible. Best leave it to the Distro or local  
> maintainer to tell Dracut which udev parts are the "good" ones.

Based on what Kay has said, it seems like Debian is the odd man out  
here - other distros just use the upstream udev rules to the extent  
feasible.

>
> Another example: As seen, we need to load a keymap for say,  
> cryptroot. But which keymap? And where is it stored? Leave that to  
> the Distro if it wants to load one.

Yep.

>
> And another example: Yes, Debian and Ubuntu don't provide modules. 
> {block,net,...} Can we really find a way of finding all block drivers?

Nope. I have a workaround that will work as long as the directory  
structure under /lib/modules/ stays reasonable, but there is no  
reasonable way to enforce that it will always work.

> Certainly stupid me can't think of a way to be sure we "really  
> really" have all block drivers without including every single .ko.  
> Leave it to the user to specifically set drivers or the Distro to  
> tell Dracut which drivers to include.

Indeed.

> I'm thinking of a debootstrappish system of suite/target (or topic/ 
> flavour) where Dracut specifically delegates those tasks away it  
> cannot solve on its own. We might even provide some simple things  
> like just including all drivers for testing purposes or as a  
> fallback solution.

Let's see how the current modules/hooks mechanism works for now. We  
can extend or scrap it if it turns out to not suit our needs.

>
> Regards,
> Philippe
>
> --
> To unsubscribe from this list: send the line "unsubscribe initramfs"  
> in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found]     ` <0227279C-8C23-4501-B163-04470D0C0F35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-03-04 16:20       ` Thiago Galesi
       [not found]         ` <82ecf08e0903040820t42775dd8s56e32d9d5dd53c36-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2009-03-04 16:40       ` Seewer Philippe
  1 sibling, 1 reply; 8+ messages in thread
From: Thiago Galesi @ 2009-03-04 16:20 UTC (permalink / raw)
  To: Victor Lowther
  Cc: Seewer Philippe,
	<initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>

>
>> Certainly stupid me can't think of a way to be sure we "really really"
>> have all block drivers without including every single .ko. Leave it to the
>> user to specifically set drivers or the Distro to tell Dracut which drivers
>> to include.
>
> Indeed.
>

Isn't this two different things?

I mean, it's one thing to have a "generic" initrd for, I dunno, live
CDs, etc and another thing to generate for a specific
computer/installation. And even installation triggers run mkinitrd (or
similar), no?

Thiago Galesi
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found]     ` <0227279C-8C23-4501-B163-04470D0C0F35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2009-03-04 16:20       ` Thiago Galesi
@ 2009-03-04 16:40       ` Seewer Philippe
       [not found]         ` <49AEAF16.6010008-omB+W0Dpw2o@public.gmane.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Seewer Philippe @ 2009-03-04 16:40 UTC (permalink / raw)
  To: Victor Lowther; +Cc: <initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>



Victor Lowther wrote:
[snip]
>> Second I have to ask how far Dracut needs (and wants) to go with the 
>> "One initrd to rule them all". The different distros will need to 
>> customize the initrd anyway. Think in terms of splash-screens, 
>> different versions of utilities and configs or just plain 'crazy and 
>> convoluted'...
> 
> I would have the goal of making dracut be able to generate a working 
> no-frills initramfs with minimal (preferably no) distro customization, 
> and have a hook structure that allows the distros to customize the 
> initrams without having to patch things.

Yes, that's why I suggested Fallbacks (or maybe we should call them 
"sane defaults").
I see a few problems with the modules/hook structure though: If, for 
example, we provide a generic find-modules and the distro wants 
completely other functionality, that part of Dracut would have to be 
changed/disabled. That's a "patch" for me.


[snip]
>> I'm thinking of a debootstrappish system of suite/target (or 
>> topic/flavour) where Dracut specifically delegates those tasks away it 
>> cannot solve on its own. We might even provide some simple things like 
>> just including all drivers for testing purposes or as a fallback 
>> solution.
> 
> Let's see how the current modules/hooks mechanism works for now. We can 
> extend or scrap it if it turns out to not suit our needs.

I was thinking a bit along the line of what should be included on a 
netboot initrd. Personally I wouldn't want to see hooks for cryptsetup 
or lvm in it. Hence the idea of suite/target to select maybe a distro 
(could be 'dracut' for generic) and different targets (might be netboot 
or a combination of block,crypt,lvm).

But well... I guess I'm violating list rules again. Patches speak more 
than words, I'll see what I can cook up.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found]         ` <82ecf08e0903040820t42775dd8s56e32d9d5dd53c36-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2009-03-04 16:44           ` Seewer Philippe
  0 siblings, 0 replies; 8+ messages in thread
From: Seewer Philippe @ 2009-03-04 16:44 UTC (permalink / raw)
  To: Thiago Galesi
  Cc: Victor Lowther,
	<initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>



Thiago Galesi wrote:
>>> Certainly stupid me can't think of a way to be sure we "really really"
>>> have all block drivers without including every single .ko. Leave it to the
>>> user to specifically set drivers or the Distro to tell Dracut which drivers
>>> to include.
>> Indeed.
>>
> 
> Isn't this two different things?
> 
> I mean, it's one thing to have a "generic" initrd for, I dunno, live
> CDs, etc and another thing to generate for a specific
> computer/installation. And even installation triggers run mkinitrd (or
> similar), no?

It entirely depends on your point of view. The contents of the actually 
generated initrd might be very different. At least the contained modules 
could differ, the rest of the initrd could actually be the same.

And how we generate those images might not differ from use-case to the 
next at all.


--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found]         ` <49AEAF16.6010008-omB+W0Dpw2o@public.gmane.org>
@ 2009-03-04 17:28           ` Victor Lowther
       [not found]             ` <14BAD8D9-B114-4979-B9CE-BA20CEEF768D-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Victor Lowther @ 2009-03-04 17:28 UTC (permalink / raw)
  To: Seewer Philippe; +Cc: <initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>

On Mar 4, 2009, at 10:40 AM, Seewer Philippe <philippe.seewer-omB+W0Dpw2o@public.gmane.org>  
wrote:

> Victor Lowther wrote:
> [snip]
>>> Second I have to ask how far Dracut needs (and wants) to go with  
>>> the "One initrd to rule them all". The different distros will need  
>>> to customize the initrd anyway. Think in terms of splash-screens,  
>>> different versions of utilities and configs or just plain 'crazy  
>>> and convoluted'...
>> I would have the goal of making dracut be able to generate a  
>> working no-frills initramfs with minimal (preferably no) distro  
>> customization, and have a hook structure that allows the distros to  
>> customize the initrams without having to patch things.
>
> Yes, that's why I suggested Fallbacks (or maybe we should call them  
> "sane defaults").
> I see a few problems with the modules/hook structure though: If, for  
> example, we provide a generic find-modules and the distro wants  
> completely other functionality, that part of Dracut would have to be  
> changed/disabled. That's a "patch" for me.

Hmmm... I am not seeing the difficulty here. Perhaps a code snippet or  
a more detailed use case would help.

>
>
> [snip]
>>> I'm thinking of a debootstrappish system of suite/target (or topic/ 
>>> flavour) where Dracut specifically delegates those tasks away it  
>>> cannot solve on its own. We might even provide some simple things  
>>> like just including all drivers for testing purposes or as a  
>>> fallback solution.
>> Let's see how the current modules/hooks mechanism works for now. We  
>> can extend or scrap it if it turns out to not suit our needs.
>
> I was thinking a bit along the line of what should be included on a  
> netboot initrd. Personally I wouldn't want to see hooks for  
> cryptsetup or lvm in it. Hence the idea of suite/target to select  
> maybe a distro (could be 'dracut' for generic) and different targets  
> (might be netboot or a combination of block,crypt,lvm).

That can be handled by having an /etc/dracut.conf that contains a  
dracutmodules="my modules here" line. The default is "all", which  
loads all the modules on initramfs creation. Extending that  
functionality should not be a problem to define some defaults other  
than including everything.

>
> But well... I guess I'm violating list rules again. Patches speak  
> more than words, I'll see what I can cook up.

I look forward to them. :)
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found] ` <49AE99D2.1000501-omB+W0Dpw2o@public.gmane.org>
  2009-03-04 16:05   ` Victor Lowther
@ 2009-03-04 18:12   ` Dave Jones
  1 sibling, 0 replies; 8+ messages in thread
From: Dave Jones @ 2009-03-04 18:12 UTC (permalink / raw)
  To: Seewer Philippe; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA

On Wed, Mar 04, 2009 at 04:10:10PM +0100, Seewer Philippe wrote:
 
 > And another example: Yes, Debian and Ubuntu don't provide 
 > modules.{block,net,...} Can we really find a way of finding all block 
 > drivers? Certainly stupid me can't think of a way to be sure we "really 
 > really" have all block drivers without including every single .ko. Leave 
 > it to the user to specifically set drivers or the Distro to tell Dracut 
 > which drivers to include.
 
It's not really that difficult.
Those files are created in Fedora by the kernel rpm %post, which does this..

    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames

    fgrep /drivers/ modnames | xargs --no-run-if-empty nm -upA |
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef

    collect_modules_list()
    {    
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
      LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
    }    

    collect_modules_list networking \
                         'register_netdev|ieee80211_register_hw|usbnet_probe'
    collect_modules_list block \
                         'ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register'


This looks complicated, but it really boils down to
"create a list of modules that use these symbols"

Rather than add this to every distros kernel packages though, it could
be done as part of depmod, and moved to module-init-tools.

	Dave

-- 
http://www.codemonkey.org.uk
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Dracut on different distros?
       [not found]             ` <14BAD8D9-B114-4979-B9CE-BA20CEEF768D-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-03-05  7:23               ` Harald Hoyer
  0 siblings, 0 replies; 8+ messages in thread
From: Harald Hoyer @ 2009-03-05  7:23 UTC (permalink / raw)
  To: initramfs-u79uwXL29TY76Z2rM5mHXA

Victor Lowther wrote:
> On Mar 4, 2009, at 10:40 AM, Seewer Philippe <philippe.seewer-omB+W0Dpw2o@public.gmane.org> 
> wrote:
> 
>> Victor Lowther wrote:
>> [snip]
>>>> Second I have to ask how far Dracut needs (and wants) to go with the 
>>>> "One initrd to rule them all". The different distros will need to 
>>>> customize the initrd anyway. Think in terms of splash-screens, 
>>>> different versions of utilities and configs or just plain 'crazy and 
>>>> convoluted'...
>>> I would have the goal of making dracut be able to generate a working 
>>> no-frills initramfs with minimal (preferably no) distro 
>>> customization, and have a hook structure that allows the distros to 
>>> customize the initrams without having to patch things.
>>
>> Yes, that's why I suggested Fallbacks (or maybe we should call them 
>> "sane defaults").
>> I see a few problems with the modules/hook structure though: If, for 
>> example, we provide a generic find-modules and the distro wants 
>> completely other functionality, that part of Dracut would have to be 
>> changed/disabled. That's a "patch" for me.
> 
> Hmmm... I am not seeing the difficulty here. Perhaps a code snippet or a 
> more detailed use case would help.

Well, you could specify which modules to use in dracut.conf. Just add your 
modules and leave out the modules you don't want. No "patch" involved.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-03-05  7:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-04 15:10 Dracut on different distros? Seewer Philippe
     [not found] ` <49AE99D2.1000501-omB+W0Dpw2o@public.gmane.org>
2009-03-04 16:05   ` Victor Lowther
     [not found]     ` <0227279C-8C23-4501-B163-04470D0C0F35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-03-04 16:20       ` Thiago Galesi
     [not found]         ` <82ecf08e0903040820t42775dd8s56e32d9d5dd53c36-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-03-04 16:44           ` Seewer Philippe
2009-03-04 16:40       ` Seewer Philippe
     [not found]         ` <49AEAF16.6010008-omB+W0Dpw2o@public.gmane.org>
2009-03-04 17:28           ` Victor Lowther
     [not found]             ` <14BAD8D9-B114-4979-B9CE-BA20CEEF768D-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-03-05  7:23               ` Harald Hoyer
2009-03-04 18:12   ` Dave Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.