public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Alexander Viro <viro@math.psu.edu>
Cc: "H. Peter Anvin" <hpa@zytor.com>, linux-kernel@vger.kernel.org
Subject: Re: initramfs buffer spec -- second draft
Date: 13 Jan 2002 15:35:27 -0700	[thread overview]
Message-ID: <m17kqlria8.fsf@frodo.biederman.org> (raw)
In-Reply-To: <Pine.GSO.4.21.0201131656190.27390-100000@weyl.math.psu.edu>
In-Reply-To: <Pine.GSO.4.21.0201131656190.27390-100000@weyl.math.psu.edu>

Alexander Viro <viro@math.psu.edu> writes:

> On 13 Jan 2002, Eric W. Biederman wrote:
>  
> > Which we are reusing for a different purpose.  And because of that we
> > become trustees of our version of the format.  To make it clear that
> > someone else defines how this format works a reference to the
> > appropriate specification is called for.  
> 
> We are using it for precisely the same purpose - to put a bunch of
> files on a filesystem.

Anytime you are specifying semantics beyond what was in the original
specification it isn't precisely the same case.  Close enough not to
matter yes but not precisely the same.  The original cpio format does
not specify compression or concatenation of images.  It is not
mandated that the cpio format handle the needs of everyones root
filesystem.

Additionally we now have the potential of generating cpio files from
the bootloaders.  And bootloaders should be the kinds of programs that
don't need constant maintenance or upgrading, (that is very
destabilizing).  So totally reworking the format is not a solution
when we need to change something.  Even if is ok for cpio in general.

This changing the format in incompatible ways when there is a new
requirement does seem to be the traditional cpio method.
 
> > The cases where initramfs will be used are some of the most operating
> > specific cases I can imagine.  To handle those cases it is necessary
> > to support the full breadth of the capability of the operating system.
> 
> Huh?  It's a bloody archive - collection of files and nothing else.
> What "capability of the operating system"?

Exactly.  But the standard unix stream of bytes does not cover everyones
concept of files.  Things like:
Symbolic Links
Device Nodes,
Resource Forks,
Device links,
Persistent mount points,
ACL's,
Persistent capabilities,

Are all partial exceptions to everything is the same kind of file.
The cpio format as is doesn't handle all of these which is fine, but
we may need some of these later, so we need someplace to expand to
when if/when these kinds of things become important.

The startup process is likely to need everything the operating system
can do, to handle some special case or the other.  So if at some
future date we support odd types of special files we will probably
need to use them in the system startup code.  We already require device
nodes, and find symbolic links very helpful.

Further Linux is dynamic and always changing, so not having some elbow
room for growth is just asking for trouble.  All I noted is that
the c_magic field exists so if/when the need arises we can handle
really strange cases.  With everyone in linux being able to use an
initramfs as their root filesystem actually makes the odds of a change
that requires special root filesystem support much more likely.
Because you only have to change one filesystem.

All I am asking is two things.  If we are not assuming guardianship
for our variant of the cpio format we should reference those who do
have guardianship, in the specification.  We should be aware that the
cpio format as it now exists may not handle all future needs so
having a mechanism to extend the format when those needs arise without
breaking all existing users is important.

Eric

  reply	other threads:[~2002-01-13 22:38 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-12  8:04 initramfs buffer spec -- second draft H. Peter Anvin
2002-01-13 19:43 ` Daniel Phillips
2002-01-13 20:08   ` H. Peter Anvin
2002-01-13 19:53 ` Eric W. Biederman
2002-01-13 20:11   ` H. Peter Anvin
2002-01-13 20:58     ` Eric W. Biederman
2002-01-13 21:59       ` Alexander Viro
2002-01-13 22:35         ` Eric W. Biederman [this message]
2002-01-14 18:31       ` Kai Henningsen
2002-01-15  0:26         ` H. Peter Anvin
2002-01-13 20:39   ` Alexander Viro
2002-01-15  6:34     ` Daniel Phillips
2002-01-15  6:34     ` Daniel Phillips
2002-01-16 19:19       ` [offtopic] duplicate mails (was: initramfs buffer spec -- second draft) Daniel Phillips
2002-01-15  6:54     ` initramfs buffer spec -- second draft Daniel Phillips
2002-01-16 20:40       ` Bill Davidsen
2002-01-15 15:15     ` Daniel Phillips
2002-01-15 20:03       ` H. Peter Anvin
2002-01-15 20:16         ` Daniel Phillips
2002-01-15 20:14           ` H. Peter Anvin
2002-01-15 23:01             ` Daniel Phillips
2002-01-15 23:47               ` H. Peter Anvin
2002-01-15 21:04           ` Andreas Dilger
2002-01-15 23:09             ` Daniel Phillips
2002-01-15 23:48               ` H. Peter Anvin
2002-01-15 23:59               ` Andreas Dilger
2002-01-16  0:29                 ` H. Peter Anvin
2002-01-16  3:33                 ` H. Peter Anvin
2002-01-16  3:25           ` Alexander Viro
2002-01-16  2:43   ` Aaron Lehmann
     [not found] <200201120804.AAA19339@cesium.transmeta.com>
2002-01-13  2:00 ` Alexander Viro
2002-01-13  2:17   ` H. Peter Anvin
2002-01-13  4:11     ` Alexander Viro
2002-01-13 19:55   ` Eric W. Biederman

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=m17kqlria8.fsf@frodo.biederman.org \
    --to=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@math.psu.edu \
    /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