From: Michael Tokarev <mjt@tls.msk.ru>
To: Theodore Tso <tytso@mit.edu>, Olaf Hering <olaf@aepfle.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Roman Zippel <zippel@linux-m68k.org>,
linux-kernel@vger.kernel.org, klibc@zytor.com, torvalds@osdl.org
Subject: Re: klibc and what's the next step?
Date: Tue, 11 Jul 2006 18:28:44 +0400 [thread overview]
Message-ID: <44B3B59C.3080506@tls.msk.ru> (raw)
In-Reply-To: <20060711134554.GC24029@thunk.org>
Theodore Tso wrote:
> On Tue, Jul 11, 2006 at 06:48:34AM +0200, Olaf Hering wrote:
[]
> Kinit SHOULD be merged into the kernel, and the responsibility of
> creating the initrd/initramfs image should be moved from the
> distribution into the kernel build process. There can and should be a
Hmm.
> way for distro's to add their own "value add specials" into the
> initrd/initramfs image, but we have to take over creating the base
> initial userspace environment. It's not just uswsusp (still not
> convinced it's a good idea, but if we're going to do it we have to
> wrest control of the initramfs away from the distro's), but finding
> and mounting iSCSI disks, LVM setup, etc.
>
>> In earlier mails you stated that having kinit/klibc in the kernel sources
>> would make it easier to keep up with interface changes.
>> What interface changes did you have in mind, and can you name any relevant
>> interface changes that were made after 2.6.0 which would break an external
>> kinit?
>
> When you load a SCSI driver (the one that bit me was the MPT Fusion
> driver), it no longer waits for SCSI bus probe to finish before
> returning. So the RHEL4 initrd fails to find the root filesystem, and
> bombs out. This change was definitely made after 2.6.0, and is an
> example of the sort of change which wouldn't have happened if kinit
> was under the kernel sources and not supplied by the distro.
How kinit is involved in loading drivers, and how it will know
that it should wait for certain things after doing something?
Nowadays, udev+modprobe are responsible for loading drivers, not kinit.
If you suggesting kinit should do that, well.. it becomes bigger at
least.
And oh, determining which modules to include into initramfs...
it's definitely NOT part of kernel BUILD process, but, so to say,
kernel package install process (note I for one often build initramfses
for OTHER machines - something most mkinitrd solutions are unable to
do - by specifying eg alternative root filesystem, or different set
of modules etc).
[]
> Some of this will probably need to be farmed out into files provided
> by external packages, but I **hope** that they are true upstream
> external packages, and not distro-specific specials, which is one of
> the reasons why the current initrd/initramfs situation is
> so.... unsatisfactory. Clearly some kernel-mandated interface for
> other packages to insert scripts and binaries during the early-boot
> process would be a good thing; but the core initramfs functionality
> should IMHO belong to the kernel.
The main reason why the situation is so unsatisfactory (yes it definitely
is), IMHO, is that it's at least difficult to discover which stuff should
be included into early userspace (initramfs). For example, having a list
of drivers and their modaliases, I'd like to be able to get a list of
modules in *new* kernel for those devices (based on whatever currently
running kernel sees in PCI etc). Another examples include stuff like
already mentioned softraid, lvm and iSCSI - that things should be provided
by upstream packages (mdadm, lvmtools etc), as hooks to initramfs creation
(as, for example, Debian and Ubunto currently tries to do, for their
home-grown initramfs-tools package).
I can give another example. Somewhere between 2.6.11 and 2.6.14,
softraid module has been renamed from md.ko to md-mod.ko. So my
home-grown (yes, yet another :) mkinitramfs broke. So now it
contains something like
if included "md-mod|md" CONFIG_RAID then
...
and later,
modprobe md-mod || modprobe md
for root-on-md-device. But the same should be done in mdadm
initscript as well so.. kinit does not help here again.
Ditto for various ide-mod, ide-generic/generic renames
(including distro-specific mods), and especially for - seems
to be upcoming - ide=>pata conversion (which has quite alot
of other side effects, since all sdXX devices will move and
hdXX will gone).
But that's all beyong the point really. I mean, there's really nothing
which requires kinit to be in kernel. The argument above - about waiting
for mptfusion to settle - is moot just because kinit does not (currently
anyway) provide that functionality.
(And oh... I really dislike udev being in initramfs... just like the whole
udev stuff in the first place... but that's entirely different topic ;)
/mjt
next prev parent reply other threads:[~2006-07-11 14:28 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-26 0:57 [klibc 00/43] klibc as a historyless patchset H. Peter Anvin
2006-06-27 13:12 ` klibc and what's the next step? Roman Zippel
2006-06-27 13:39 ` Jeff Garzik
2006-06-27 16:42 ` [klibc] " Greg KH
2006-06-28 23:46 ` Roman Zippel
2006-06-27 17:01 ` Andi Kleen
2006-06-27 17:11 ` H. Peter Anvin
2006-06-27 17:40 ` Andi Kleen
2006-06-27 17:45 ` H. Peter Anvin
2006-06-27 20:22 ` Joshua Hudson
2006-06-28 5:47 ` H. Peter Anvin
2006-06-29 0:04 ` Roman Zippel
2006-07-03 18:30 ` Rob Landley
2006-07-03 18:46 ` [klibc] " maximilian attems
2006-07-04 1:36 ` Jeff Bailey
2006-07-04 2:02 ` H. Peter Anvin
2006-06-27 14:07 ` Jon Smirl
2006-06-27 14:40 ` Jeff Bailey
2006-06-27 19:47 ` Milton Miller
2006-06-28 23:56 ` Roman Zippel
2006-06-29 0:34 ` H. Peter Anvin
2006-06-29 23:33 ` Roman Zippel
2006-06-30 8:00 ` Gerd Hoffmann
2006-06-30 18:08 ` H. Peter Anvin
2006-06-30 22:58 ` Michael Tokarev
2006-06-30 18:11 ` Pavel Machek
2006-06-30 23:04 ` Michael Tokarev
2006-06-30 23:15 ` H. Peter Anvin
2006-07-01 10:56 ` [klibc] " Jeff Bailey
2006-07-01 15:05 ` Theodore Tso
2006-07-01 20:08 ` Linus Torvalds
2006-07-01 21:58 ` Al Viro
2006-07-01 22:31 ` H. Peter Anvin
2006-07-02 0:05 ` Theodore Tso
2006-07-02 0:17 ` H. Peter Anvin
2006-07-02 0:38 ` Theodore Tso
2006-07-02 0:50 ` H. Peter Anvin
2006-07-01 22:22 ` H. Peter Anvin
2006-07-03 7:23 ` Gerd Hoffmann
2006-07-03 21:36 ` Pavel Machek
2006-07-01 15:22 ` H. Peter Anvin
2006-07-01 15:47 ` Jeff Garzik
2006-06-30 23:32 ` Pavel Machek
2006-07-11 4:48 ` Olaf Hering
2006-07-11 10:29 ` Michael Tokarev
2006-07-11 11:27 ` [klibc] " Olaf Hering
2006-07-11 16:24 ` H. Peter Anvin
2006-07-11 16:40 ` Olaf Hering
2006-07-11 17:05 ` Jeff Garzik
2006-07-11 17:16 ` Olaf Hering
2006-07-11 17:23 ` H. Peter Anvin
2006-07-11 17:30 ` Olaf Hering
2006-07-11 17:46 ` H. Peter Anvin
2006-07-11 18:01 ` Olaf Hering
2006-07-11 18:04 ` H. Peter Anvin
2006-07-11 18:10 ` Olaf Hering
2006-07-11 18:17 ` H. Peter Anvin
2006-07-11 19:15 ` Olaf Hering
2006-07-11 19:29 ` Linus Torvalds
2006-07-11 19:38 ` H. Peter Anvin
2006-07-11 19:51 ` Linus Torvalds
2006-07-11 19:59 ` Jeff Garzik
2006-07-11 20:01 ` Theodore Tso
2006-07-11 20:11 ` Olaf Hering
2006-07-11 20:57 ` H. Peter Anvin
2006-07-11 18:03 ` H. Peter Anvin
2006-07-11 18:06 ` Michael Tokarev
2006-07-11 18:15 ` Olaf Hering
2006-07-11 18:22 ` H. Peter Anvin
2006-07-11 18:53 ` Alan Cox
2006-07-11 18:46 ` H. Peter Anvin
2006-07-11 20:06 ` Olaf Hering
2006-07-11 20:22 ` Olaf Hering
2006-07-11 21:22 ` Greg KH
2006-07-12 16:54 ` Olaf Hering
2006-07-12 16:58 ` Arjan van de Ven
2006-07-12 17:01 ` Olaf Hering
2006-07-12 21:36 ` Greg KH
2006-07-11 17:55 ` Michael Tokarev
2006-07-11 17:46 ` Michael Tokarev
2006-07-11 17:52 ` Olaf Hering
2006-07-11 18:02 ` Michael Tokarev
2006-07-11 10:51 ` Sam Ravnborg
2006-07-11 13:45 ` Theodore Tso
2006-07-11 14:28 ` Michael Tokarev [this message]
2006-07-11 15:13 ` [klibc] " Olaf Hering
2006-07-11 15:30 ` Adrian Bunk
2006-07-11 15:47 ` Olaf Hering
2006-07-11 16:21 ` Alan Cox
2006-07-11 14:32 ` Rene Herman
2006-07-12 15:23 ` David Lang
2006-07-13 11:58 ` Pavel Machek
2006-06-27 18:59 ` [klibc 00/43] klibc as a historyless patchset Milton Miller
2006-06-27 19:12 ` H. Peter Anvin
2006-06-27 20:39 ` Milton Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44B3B59C.3080506@tls.msk.ru \
--to=mjt@tls.msk.ru \
--cc=hpa@zytor.com \
--cc=klibc@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=olaf@aepfle.de \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox