Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Gentoo: Dev

Let's redesign the entire filesystem! [was newsitem: unmasking udev-181]

 

 

First page Previous page 1 2 3 4 5 Next page Last page  View All Gentoo dev RSS feed   Index | Next | Previous | View Threaded


kumba at gentoo

Mar 12, 2012, 6:22 PM

Post #1 of 108 (528 views)
Permalink
Let's redesign the entire filesystem! [was newsitem: unmasking udev-181]

On 03/11/2012 13:33, William Hubbs wrote:

> I highly discourage moving more things to /. If you google for things
> like, "case for usr merge", "understanding bin split", etc, you will
> find much information that is very enlightening about the /usr merge and
> the reasons for the /bin, /lib, /sbin -> /usr/* split.
>
> I'll start another thread about this farely soon, but for now I'll say
> that even though Fedora is a strong advocate of the /usr merge, it
> didn't start there. Solaris started this 15 years ago, and I think it
> would be a good thing for gentoo to implement the /usr merge at some
> point to make us more compatible with other unixes. Another thing to add
> is that it appears that at least Fedora and Debian are doing this.



On a somewhat sarcastic note, why don't we just deprecate /usr and move
everything back to /? Isn't that, largely, what is being accomplished here?
Solaris at least keeps some kernel stuff in / off of /stand (I believe).
Linux, after this /usr thing is fully complete, about the only thing left in
/ that is of any value will be /etc. Kernels were moved into /boot ages ago.

I mean, what really is / in the literal sense? It's the first filesystem
that the kernel mounts. If you put everything into /usr, including the init
scripts and /etc, create a few stub mount points for /var, /tmp, etc
(assuming those are separate partitions), then told the kernel that /usr is
/, what's the real difference? So I think Fedora's approach, while copying
existing behavior from Solaris, is partially broken in this regard.

We should be working to getting rid of /usr and bring it all back into /,
then create temporary /usr symlinks to point programs in the right
direction. After all, /usr was originally for user data, not system data,
until someone cooked up /home (I don't know the full exact history here, so
feel free to correct me).

Heck, why not redesign the original root filesystem layout while we're at it?

/ - Root.
/boot - Kernels, bootloader.
/apps - Installed, non-system critical applications. Merges /bin,
/sbin, /usr/{bin,sbin}, /usr/local/{bin,sbin}, and /lib and
all of its multilib variants.
/core - System-critical apps needed to get the system into a MINIMAL,
usable state (core device detection, mounting disks, etc)
/conf - System configuration data.
/dev - Device nodes.
/home - User stuff.
/data - Variable data. /var's new name.
/tmp - System-wide temp dir.
/virt - virtual filesystems (proc, sys, ramfs).
/svcs - Data dir for services (Apache, LDAP, FTP, etc).
/ext - holds mount points for external devices (merges /mnt & /media).
/root - Superuser's /home.


From that, for the new proposed directories:

/apps/sys/bin - System binaries. Only non-critical, system-wide binaries
go here.
/apps/sys/lib - Like /apps/sys/bin above. Except this can also be
duplicated for multilib (lib32, lib64, lib128, etc).

/apps/std/bin - Standard program binaries for all non-system, non-critical
binaries.
/apps/std/lib - Like /apps/std/bin above. Ditto for multilib.

/apps/local - If on a stand-alone system, this is a symlink to /apps/std.
otherwise, this holds a bin/lib folder that is only for apps
installed locally, while /apps/std might be a network mount
that holds apps common to multiple systems of the
same/similar type of install.

/core/bin - Critical system, binaries needed to get the system into a
minimally-usable state. Predominantly occupied by various
filesystem tools.
/core/lib - Libraries, usually static, to support /core/bin. Can be
multilib, but a system should have a single ABI that can
successfully boot the userland components of the system.
/core/inf - Holds minimal information to identify and locate
boot-critical devices, typically in the form of a small
database of some design, but which can be parsed with
no additional dependencies.
/core/init - Home of your init system of choice, including all the
information needed for various run levels, etc. Its
sub-layout is dependent on the particular init system that
is installed.

/conf - Basically a rename of /etc. The "etc" name doesn't
convey any useful information to a user anymore about its
true purpose. /conf, however, does. Files stored here
will largely be comprised of text files that configure
various system services. Like /etc, it's sub-layout will
probably be a complete, unrestrained mess.

/virt - Everyone loves virtual filesystems. When there was just
/proc, everything was alright. Then /sys comes along, and
now we've polluted the / namespace with two virtual
filesystems. /virt provides a home for those (so /virt/proc
and /virt/sys), in addition to others like /virt/shm,
and /virt/pts, or even /virt/ramfs if you want. Anything
in here doesn't physically exist, and either changes rapidly
or is lost once the system loses power.

/data - Like "etc", /var's original function has been largely
overridden and hardly contains "variable" data anymore.
thus, it is reborn as /data, which conveys *exactly* what
it is for -- data of some kind, whose presence may be
permanent or transitory. Mail spools, caches, print spools,
whatever. Fill it with data from /dev/urandom if you want!

/svcs - Like /srv, which some people are resistant to using. The
original idea is quite a marvel, though, because it never
really made any sense to stick Apache into /var/www, or hang
the TFTP boot directory off of /, or chroot BIND inside of
/etc or /var (or both).

/ext - A place for external mounts, either filesystems or devices.
NFS, CD-ROMs, thumb drives, Samba/CIFS, etc, it goes here.
This replaces both /mnt and /media, the only difference
between the two being the same as the difference between
two shades of purple. The only exception to this rule is
/apps/local above.

All other directories retain their original, standard functionality.


I thought this up on a whim, it hasn't been tested nor vetted. It's largely
meant as a joke, but also to provoke discussion on the current filesystem
design and the direction we're getting pulled in with Fedora's declaration
that separate /usr is broken. I don't think it is and I don't find their
argument very convincing, and probably never will.

At some point after this change becomes fully adopted (and it will, trust
me), the difference between the / of old and /usr will be so minor, that you
could probably move a few files around, chop /usr off into a separate
partition, and then pass root=/dev/<where /usr is>, and bring a system fully
online, *without a /usr*. And then, after that, someone will come along and
propose "the new /usr", and the cycle repeats.

But I do, hesitantly, agree that the standard UNIX filesystem has a lot of
"traditions" to it that don't make a lot of sense anymore. It's a hallmark
of an era where machines usually kept a local copy of stuff needed to start
or stop themselves. Now we're in an era where machines aren't even physical
anymore. The location of actual data is somewhat meaningless, if you write
a program correctly and don't hardcode filesystem paths.

So it's probably time to have some kind of a discussion on the filesystem,
and what would need to change to bring it up to date with the era of
large-scale virtualization and embedded systems that run on your wristwatch,
in addition to the standard black (or beige) box sitting on a desk somewhere.

Food for thought. And yes, I've already tested out udev-181 on a VM with a
separate /usr. With devtmpfs, the system fully boots just fine, no
initramfs needed. Guess what the only piece of software to mess up is?
Udev. I largely think it's a timing issue in OpenRC, however, because /usr
DOES get mounted fairly quickly, but not before udevd starts. But udevd
does restart itself and everything looks to work fine. If you aren't
watching the terminal, you wouldn't even notice the failures.

Cheers,

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: signature.asc (0.81 KB)


kentfredric at gmail

Mar 12, 2012, 6:37 PM

Post #2 of 108 (510 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 13 March 2012 14:22, Joshua Kinard <kumba [at] gentoo> wrote:
> I thought this up on a whim, it hasn't been tested nor vetted.  It's largely
> meant as a joke, but also to provoke discussion on the current filesystem
> design and the direction we're getting pulled in with Fedora's declaration
> that separate /usr is broken.  I don't think it is and I don't find their
> argument very convincing, and probably never will.
>

Why don't we just quit with this linux nonsense and all switch to Mac,
after all, it just works!

</cynical remarks>

=p


--
Kent

perl -e  "print substr( \"edrgmaM  SPA NOcomil.ic\\@tfrken\", \$_ * 3,
3 ) for ( 9,8,0,7,1,6,5,4,3,2 );"


kumba at gentoo

Mar 12, 2012, 7:16 PM

Post #3 of 108 (509 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 03/12/2012 21:37, Kent Fredric wrote:

> On 13 March 2012 14:22, Joshua Kinard <kumba [at] gentoo> wrote:
>> I thought this up on a whim, it hasn't been tested nor vetted. It's largely
>> meant as a joke, but also to provoke discussion on the current filesystem
>> design and the direction we're getting pulled in with Fedora's declaration
>> that separate /usr is broken. I don't think it is and I don't find their
>> argument very convincing, and probably never will.
>>
>
> Why don't we just quit with this linux nonsense and all switch to Mac,
> after all, it just works!
>
> </cynical remarks>
>
> =p


The problem with that, is, that the system wouldn't boot without /itunes
being available, so you can't partition that one off :P

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: signature.asc (0.81 KB)


axs at gentoo

Mar 12, 2012, 7:33 PM

Post #4 of 108 (509 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 2012-03-12, at 9:22 PM, Joshua Kinard <kumba [at] gentoo> wrote:

>
> And yes, I've already tested out udev-181 on a VM with a
> separate /usr. With devtmpfs, the system fully boots just fine, no
> initramfs needed. Guess what the only piece of software to mess up is?
> Udev. I largely think it's a timing issue in OpenRC, however, because /usr
> DOES get mounted fairly quickly, but not before udevd starts. But udevd
> does restart itself and everything looks to work fine. If you aren't
> watching the terminal, you wouldn't even notice the failures.
>


THANK YOU for testing this -- I could not forsee a reason, back when this process started, as to why openrc couldn't mount /usr before udev started. since devtmpfs should provide the source devnode anyways. It's good to have a (near) proof of that.

Ian


kumba at gentoo

Mar 12, 2012, 8:14 PM

Post #5 of 108 (514 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 03/12/2012 22:33, Ian Stakenvicius wrote:

>
> On 2012-03-12, at 9:22 PM, Joshua Kinard <kumba [at] gentoo> wrote:
>
>>
>> And yes, I've already tested out udev-181 on a VM with a
>> separate /usr. With devtmpfs, the system fully boots just fine, no
>> initramfs needed. Guess what the only piece of software to mess up is?
>> Udev. I largely think it's a timing issue in OpenRC, however, because /usr
>> DOES get mounted fairly quickly, but not before udevd starts. But udevd
>> does restart itself and everything looks to work fine. If you aren't
>> watching the terminal, you wouldn't even notice the failures.
>>
>
>
> THANK YOU for testing this -- I could not forsee a reason, back when this process started, as to why openrc couldn't mount /usr before udev started. since devtmpfs should provide the source devnode anyways. It's good to have a (near) proof of that.
>
> Ian

Yeah, I think it's an easy fix either in openrc or in an initscript
somewhere. I changed nothing except my kernel (was missing devtmpfs -- it's
not under Filesystems!), uninstalled module-init-tools, and installed kmod +
udev-181. Then rolled back the snapshot once I had the results.

See the attached PNG for the boot output I was able to grab before something
clears the screen. There was a few extra lines after this, but I'm not that
fast on the screencap button.

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: udev-181-test.png (80.6 KB)
  signature.asc (0.81 KB)


robbat2 at gentoo

Mar 12, 2012, 8:53 PM

Post #6 of 108 (504 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On Mon, Mar 12, 2012 at 11:14:23PM -0400, Joshua Kinard wrote:
> Yeah, I think it's an easy fix either in openrc or in an initscript
> somewhere. I changed nothing except my kernel (was missing devtmpfs -- it's
> not under Filesystems!), uninstalled module-init-tools, and installed kmod +
> udev-181. Then rolled back the snapshot once I had the results.
When udev is linked against a library in /usr, this is not going to work
anymore, because udev won't start at all.

On many simple setups, yes, it's not going actually break much in my
testing on pure OpenRC.

udev starts in the sysinit runlevel, and /usr would normally only become
available later, in the boot runlevel, when localmount runs...

Consider this potential boot order:
sysinit/sysfs
sysinit/udev (fails without sysfs)
boot/modules (after udev, so udev rules work on modprobe)
boot/hwclock (needs rtc modules on some systems)
boot/fsck (after devices are available)
boot/root (after fsck)
boot/localmount (after fsck)

udev before modules is fairly critical for some hardware, so that it
gets configured properly.

--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2 [at] gentoo
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85


lu_zero at gentoo

Mar 12, 2012, 10:17 PM

Post #7 of 108 (503 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 3/12/12 8:53 PM, Robin H. Johnson wrote:
> On Mon, Mar 12, 2012 at 11:14:23PM -0400, Joshua Kinard wrote:
>> Yeah, I think it's an easy fix either in openrc or in an initscript
>> somewhere. I changed nothing except my kernel (was missing devtmpfs -- it's
>> not under Filesystems!), uninstalled module-init-tools, and installed kmod +
>> udev-181. Then rolled back the snapshot once I had the results.
> When udev is linked against a library in /usr, this is not going to work
> anymore, because udev won't start at all.

So you need need a smaller udev that is completely self contained and
make sure anything needed for the key rules works. I wonder if the
pci-ids cannot stay somewhere in /etc or /lib

lu


jer at gentoo

Mar 13, 2012, 3:31 AM

Post #8 of 108 (503 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On Mon, 12 Mar 2012 21:22:26 -0400
Joshua Kinard <kumba [at] gentoo> wrote:

> On a somewhat sarcastic note, why don't we just deprecate /usr and
> move everything back to /? Isn't that, largely, what is being
> accomplished here? Solaris at least keeps some kernel stuff in / off
> of /stand (I believe). Linux, after this /usr thing is fully
> complete, about the only thing left in / that is of any value will
> be /etc. Kernels were moved into /boot ages ago.

A bit like stali? http://sta.li/

Or is that still too complicated? :)


jer


jamesbroadhead at gmail

Mar 13, 2012, 4:54 AM

Post #9 of 108 (499 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 13 March 2012 01:22, Joshua Kinard <kumba [at] gentoo> wrote:
> We should be working to getting rid of /usr and bring it all back into /,
> then create temporary /usr symlinks to point programs in the right
> direction.  After all, /usr was originally for user data, not system data,
> until someone cooked up /home (I don't know the full exact history here, so
> feel free to correct me).
>

I believe that the Art of Unix Programming* says that /usr was the
result of the original UNIX 4MB hard disk becoming full, and that they
chose /usr to mount a second one. Every definition since then has been
an attempt to justify preserving the split.


* On reflection, I may have read this elsewhere.


axs at gentoo

Mar 13, 2012, 6:36 AM

Post #10 of 108 (501 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 12/03/12 11:14 PM, Joshua Kinard wrote:
> On 03/12/2012 22:33, Ian Stakenvicius wrote:
>
>>
>> On 2012-03-12, at 9:22 PM, Joshua Kinard <kumba [at] gentoo>
>> wrote:
>>
>>>
>>> And yes, I've already tested out udev-181 on a VM with a
>>> separate /usr. With devtmpfs, the system fully boots just
>>> fine, no initramfs needed. Guess what the only piece of
>>> software to mess up is? Udev. I largely think it's a timing
>>> issue in OpenRC, however, because /usr DOES get mounted fairly
>>> quickly, but not before udevd starts. But udevd does restart
>>> itself and everything looks to work fine. If you aren't
>>> watching the terminal, you wouldn't even notice the failures.
>>>
>>
>>
>> THANK YOU for testing this -- I could not forsee a reason, back
>> when this process started, as to why openrc couldn't mount /usr
>> before udev started. since devtmpfs should provide the source
>> devnode anyways. It's good to have a (near) proof of that.
>>
>> Ian
>
> Yeah, I think it's an easy fix either in openrc or in an initscript
> somewhere. I changed nothing except my kernel (was missing
> devtmpfs -- it's not under Filesystems!), uninstalled
> module-init-tools, and installed kmod + udev-181. Then rolled back
> the snapshot once I had the results.

Ah, right; kmod.. Tthere's pressure for that one to move to /usr
too, isn't there mgorny? .... ok, nvm.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)

iF4EAREIAAYFAk9fTXIACgkQAJxUfCtlWe3RQQD8DIr8mZ773vIqhIxf5ERYWo8E
ZkfDgAUlUDF7hcDiuUIA/1amWFFZcVu36V6vikq4HGF0we43YYMVLW6b96SblGzN
=dKid
-----END PGP SIGNATURE-----


mschiff at gentoo

Mar 13, 2012, 7:41 AM

Post #11 of 108 (501 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

Am Montag, 12. März 2012, 21:22:26 schrieb Joshua Kinard:
[...]
> After all, /usr was originally for user data, not system data,
> until someone cooked up /home (I don't know the full exact history here, so
> feel free to correct me).

IIRC usr = unified system resources (not an abbrev. for "user")

-Marc
--
0x35A64134 - 8AAC 5F46 83B4 DB70 8317 3723 296C 6CCA 35A6 4134
Attachments: signature.asc (0.19 KB)


jamesbroadhead at gmail

Mar 13, 2012, 4:12 PM

Post #12 of 108 (504 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 13 March 2012 14:41, Marc Schiffbauer <mschiff [at] gentoo> wrote:
> Am Montag, 12. März 2012, 21:22:26 schrieb Joshua Kinard:
> [...]
>> After all, /usr was originally for user data, not system data,
>> until someone cooked up /home (I don't know the full exact history here, so
>> feel free to correct me).
>
> IIRC usr = unified system resources (not an abbrev. for "user")
>
> -Marc
> --
> 0x35A64134 - 8AAC 5F46 83B4 DB70 8317  3723 296C 6CCA 35A6 4134

Again, backwards justification for a directory name that was already in place.


kumba at gentoo

Mar 13, 2012, 5:16 PM

Post #13 of 108 (498 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 03/13/2012 07:54, James Broadhead wrote:

> On 13 March 2012 01:22, Joshua Kinard <kumba [at] gentoo> wrote:
>> We should be working to getting rid of /usr and bring it all back into /,
>> then create temporary /usr symlinks to point programs in the right
>> direction. After all, /usr was originally for user data, not system data,
>> until someone cooked up /home (I don't know the full exact history here, so
>> feel free to correct me).
>>
>
> I believe that the Art of Unix Programming* says that /usr was the
> result of the original UNIX 4MB hard disk becoming full, and that they
> chose /usr to mount a second one. Every definition since then has been
> an attempt to justify preserving the split.


Sounds like how a lot of UNIXy things came into being. This is why I think
/usr should be merged back into /, not the other way around. Although, both
approaches essentially achieve the same effect in the end, once you move
/etc and a few other bits, then point the kernel at "/usr".

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: signature.asc (0.81 KB)


kumba at gentoo

Mar 13, 2012, 5:20 PM

Post #14 of 108 (499 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On 03/13/2012 01:17, Luca Barbato wrote:

>
> So you need need a smaller udev that is completely self contained and make
> sure anything needed for the key rules works. I wonder if the pci-ids cannot
> stay somewhere in /etc or /lib
>
> lu


I think gregkh is already on record as saying that the pci-ids file is going
to go into /usr and stay there. The errors I got weren't from that, though,
it was the init scripts trying to find udevadm, and then not finding
libkmod, which was likely installed into /usr/lib64.

I guess I don't run a "standard" Linux system anymore. I build a fairly
monolithic kernel that contains device drivers for all the hardware in the
machine needed to get it up and running, while miscellaneous modules (like
CIFS or the Happy MEal quad ethernet card) are modulues. My MIPS systems
all run pure monolithic, completely lacking module support entirely.

The trend now seems to be to modularize everything these days, even stuff
like the core disk drivers, then build those core modules into an initramfs
that the kernel cherrypicks from at boot. That's the perception, anyways,
and one which I don't really get.

Correct me if I'm wrong...

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: signature.asc (0.81 KB)


rich0 at gentoo

Mar 13, 2012, 5:52 PM

Post #15 of 108 (504 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

On Tue, Mar 13, 2012 at 8:20 PM, Joshua Kinard <kumba [at] gentoo> wrote:
> The trend now seems to be to modularize everything these days, even stuff
> like the core disk drivers, then build those core modules into an initramfs
> that the kernel cherrypicks from at boot.  That's the perception, anyways,
> and one which I don't really get.

Well, on most distros the kernel is just another package that is the
same on every box. If you want one kernel for every PC, then it needs
to support every piece of hardware in existence. So, either it is
highly modular, or it is going to suck up a ton of RAM.

The solution is a one-size-fits-all kernel, combined with a
one-size-fits-all initramfs.

For Gentoo where people build their own kernels, it doesn't make as much sense.

Rich


1i5t5.duncan at cox

Mar 14, 2012, 1:39 AM

Post #16 of 108 (502 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

Joshua Kinard posted on Tue, 13 Mar 2012 20:16:10 -0400 as excerpted:

> On 03/13/2012 07:54, James Broadhead wrote:
>
>> I believe that the Art of Unix Programming* says that /usr was the
>> result of the original UNIX 4MB hard disk becoming full, and that they
>> chose /usr to mount a second one. Every definition since then has been
>> an attempt to justify preserving the split.
>
> Sounds like how a lot of UNIXy things came into being. This is why I
> think /usr should be merged back into /, not the other way around.
> Although, both approaches essentially achieve the same effect in the
> end, once you move /etc and a few other bits, then point the kernel at
> "/usr".

I've seen it pointed out that in initr* based systems anyway, the "new"
rootfs is effectively taking the role the old initrd tmproot did, it's
only there in a bootstrapping role, no "running system" content at all,
except that instead of using pivot_root or whatever to get off it once
the system early bootstrap is done, it remains the mountpoint used by
everything else on the running system.

That's rootfs's only modern role, according to these folks, providing the
mountpoints for everything else.

And with an assumed initr* based setup, it all "just works". Rootfs can
in fact be entirely virtual, tmpfs or squashfs or whatever, setup only in
the initr*, with only a few minimal early-boot config files, the modules
necessary to boot the rest of the system, etc, as content, and those
quickly over-mounted with the "real" system -- note that /usr/etc can be
bind-mounted over the boot-time-stub /etc too, so literally, post-initr*,
the ONLY part of rootfs operationally visible is the mountpoints used by
everything else.

THAT is why they're moving /bin, /sbin and /lib to /usr rather than the
other direction. rootfs will be ONLY a mountpoint, with even /etc/ being
bind-mounted from /usr/etc, and all system data unified on /usr,
including /etc.

Viewed from that perspective, the direction of the "unification",
everything formerly on rootfs moving to /usr, so rootfs' only function is
providing the mountpoints for everything else, has a certain logic to
it...

And they don't care about non-initr* based systems any more than they
care about non-Linux systems or for that matter, non-systemd Linux
systems. That's outside their operational universe. Other people are
welcome to continue working with "legacy" systems if they want, but Linux-
only, systemd-based, initr*-based systems are the only thing they're
interested in supporting, themselves.

--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman


cloos at jhcloos

Mar 14, 2012, 5:00 AM

Post #17 of 108 (499 views)
Permalink
Re: Let's redesign the entire filesystem! [was newsitem: unmasking udev-181] [In reply to]

>>>>> "MS" == Marc Schiffbauer <mschiff [at] gentoo> writes:

MS> IIRC usr = unified system resources (not an abbrev. for "user")

Nope. It is in fact for user.

Before sysv created /home, bsd used /usr for user dirs.

/usr/bin et all came later.

-JimC
--
James Cloos <cloos [at] jhcloos> OpenPGP: 1024D/ED7DAEA6


kumba at gentoo

Mar 14, 2012, 5:40 AM

Post #18 of 108 (499 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On 03/14/2012 04:39, Duncan wrote:

>
> THAT is why they're moving /bin, /sbin and /lib to /usr rather than the
> other direction. rootfs will be ONLY a mountpoint, with even /etc/ being
> bind-mounted from /usr/etc, and all system data unified on /usr,
> including /etc.
>
> Viewed from that perspective, the direction of the "unification",
> everything formerly on rootfs moving to /usr, so rootfs' only function is
> providing the mountpoints for everything else, has a certain logic to
> it...


From one perspective, this makes sense. It actually is a kinda of holy
grail for administrators, because it's one less filesystem to worry about
backing up.


> And they don't care about non-initr* based systems any more than they
> care about non-Linux systems or for that matter, non-systemd Linux
> systems. That's outside their operational universe. Other people are
> welcome to continue working with "legacy" systems if they want, but Linux-
> only, systemd-based, initr*-based systems are the only thing they're
> interested in supporting, themselves.


You know, I would have no problem with this if it wasn't a decision made by
a single Linux distro with a huge amount of clout in the Linux world. This
isn't like Debian forking Firefox into Ice Weasel, an issue that largely
remains Debian-specific to this day. This is a change that will
fundamentally alter the way every distro does things, and none of us (as far
as I know) were given a choice in the matter.

The /usr move is going to happen. I, along with a lot of other people, are
going to have to "fix" all my installed systems over this. Not because of a
choice made by all distros, but because one distro thinks that its way is
the RightWay() and the OnlyWay().

That's what I disagree with. We shouldn't be affected by this change. Only
Fedora users should have to deal with it. But other upstream projects are
going to follow in Fedora's lead, and this brings us up to a decision point:
adapt, or become irrelevant.

I chose to stick with Gentoo as my distro of choice because I didn't like
the way Red Hat did things years ago. As well as a few other nitpicks I
have. It bugs me to no end that, despite running a fairly vanilla setup on
a source-based distro whose original inspiration came from BSD ports, I am
still affected by a decision made by RH.

--
Joshua Kinard
Gentoo/MIPS
kumba [at] gentoo
4096R/D25D95E3 2011-03-28

"The past tempts us, the present confuses us, the future frightens us. And
our lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic
Attachments: signature.asc (0.81 KB)


gregkh at gentoo

Mar 14, 2012, 7:41 AM

Post #19 of 108 (502 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, Mar 14, 2012 at 08:40:46AM -0400, Joshua Kinard wrote:
> I chose to stick with Gentoo as my distro of choice because I didn't like
> the way Red Hat did things years ago. As well as a few other nitpicks I
> have. It bugs me to no end that, despite running a fairly vanilla setup on
> a source-based distro whose original inspiration came from BSD ports, I am
> still affected by a decision made by RH.

It is not a decision made by RH, some of the developers involved just
happen to work for that distro. Others of us do not. Please don't get
this confused with distro specific politics, it's not that at all.

And again, if you have /usr on a different filesystem today, with no
initrd, your machine could be broken and you don't even know it.

greg "why is this thread still alive" k-h


purslow at ca

Mar 14, 2012, 7:51 AM

Post #20 of 108 (499 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

120314 Greg KH wrote:
> if you have /usr on a different filesystem today, with no initrd,
> your machine could be broken and you don't even know it.

Whatever do you mean ? -- if it were truly broken,
it wouldn't perform in some important & obvious respect.
Do you mean "insecure" ? -- if so, what is the threat ?

> greg "why is this thread still alive" k-h

Your dismissive response is perhaps one reason ...

--
========================,,============================================
SUPPORT ___________//___, Philip Webb
ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
TRANSIT `-O----------O---' purslowatchassdotutorontodotca


gregkh at gentoo

Mar 14, 2012, 8:04 AM

Post #21 of 108 (502 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, Mar 14, 2012 at 10:51:44AM -0400, Philip Webb wrote:
> 120314 Greg KH wrote:
> > if you have /usr on a different filesystem today, with no initrd,
> > your machine could be broken and you don't even know it.
>
> Whatever do you mean ? -- if it were truly broken,
> it wouldn't perform in some important & obvious respect.

Not always, no, it isn't obvious that something didn't start up
correctly, or that it didn't fully load properly. Some programs later
on recover and handle things better.

> Do you mean "insecure" ? -- if so, what is the threat ?

No threat.

> > greg "why is this thread still alive" k-h
>
> Your dismissive response is perhaps one reason ...

Given that this is the first time I've responded to this thread in
weeks, I doubt it. People like to complain, that's nothing new, I
should be used to it by now, so perhaps it is all my fault...

greg k-h


ciaran.mccreesh at googlemail

Mar 14, 2012, 8:08 AM

Post #22 of 108 (501 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, 14 Mar 2012 08:04:31 -0700
Greg KH <gregkh [at] gentoo> wrote:
> Not always, no, it isn't obvious that something didn't start up
> correctly, or that it didn't fully load properly. Some programs later
> on recover and handle things better.

So why not work on fixing those things, since they're clearly symptoms
of a larger "oops, we have too much coupling" problem, instead of
forcing a workaround onto large numbers of users?

--
Ciaran McCreesh
Attachments: signature.asc (0.19 KB)


gregkh at gentoo

Mar 14, 2012, 8:22 AM

Post #23 of 108 (502 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, Mar 14, 2012 at 03:08:27PM +0000, Ciaran McCreesh wrote:
> On Wed, 14 Mar 2012 08:04:31 -0700
> Greg KH <gregkh [at] gentoo> wrote:
> > Not always, no, it isn't obvious that something didn't start up
> > correctly, or that it didn't fully load properly. Some programs later
> > on recover and handle things better.
>
> So why not work on fixing those things, since they're clearly symptoms
> of a larger "oops, we have too much coupling" problem, instead of
> forcing a workaround onto large numbers of users?

I seriously doubt there are a "large number" of users here that have
this issue.

And even if there is, again, there is a simple solution that Gentoo
provides for this issue, see the earlier initrd solution that we support
today.

As for "fixing this", see the oft-linked webpage as to why it can't be
fixed easily, if at all, and honestly, I don't think it needs to be
fixed.

Especially as NO ONE has ever stepped up to fix these issues, which
proves that no one is really invested in it.

As for "too much coupling", you are talking to the wrong person.
Personally, I feel we are too lightly coupled, and need to have stronger
links happening here in order to properly solve the problems that we
have in this area.

If you disagree with the coupling issue, fine, but again, you need to do
the work, and properly understand the issues involved. The people doing
the work today do understand them, by virtue of doing the work involved,
which gives them the say in how it is done. That's how open source
works, why is this ever a surprise to people?

I'll go back to lurking now, and getting stuff done, like everyone else
on this thread should be doing, instead of complaining (this is -dev,
not -users...)

greg k-h


ciaran.mccreesh at googlemail

Mar 14, 2012, 8:59 AM

Post #24 of 108 (500 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, 14 Mar 2012 08:22:09 -0700
Greg KH <gregkh [at] gentoo> wrote:
> The people doing the work today do understand them, by virtue of
> doing the work involved, which gives them the say in how it is done.
> That's how open source works, why is this ever a surprise to people?

The problem is that when a small number of people who have commit
access to core projects screw everything up and don't fix the mess
they're inflicting upon everyone, the only option left with "how open
source works" is for someone to fork the code from the point where it
all worked. That isn't something that should be done lightly.

--
Ciaran McCreesh
Attachments: signature.asc (0.19 KB)


quantumsummers at gentoo

Mar 14, 2012, 9:28 AM

Post #25 of 108 (505 views)
Permalink
Re: Re: Let's redesign the entire filesystem! [In reply to]

On Wed, Mar 14, 2012 at 10:22 AM, Greg KH <gregkh [at] gentoo> wrote:
> On Wed, Mar 14, 2012 at 03:08:27PM +0000, Ciaran McCreesh wrote:
>> On Wed, 14 Mar 2012 08:04:31 -0700
>> Greg KH <gregkh [at] gentoo> wrote:
>> > Not always, no, it isn't obvious that something didn't start up
>> > correctly, or that it didn't fully load properly.  Some programs later
>> > on recover and handle things better.
>>
>> So why not work on fixing those things, since they're clearly symptoms
>> of a larger "oops, we have too much coupling" problem, instead of
>> forcing a workaround onto large numbers of users?
>
> I seriously doubt there are a "large number" of users here that have
> this issue.
>

The majority of users should not encounter any difficulty due to this
issue. Those that are doing special things that require careful
mounting, etc should be sufficiently competent to deal with this issue
without any trouble at all, especially given the various solution
paths.

> And even if there is, again, there is a simple solution that Gentoo
> provides for this issue, see the earlier initrd solution that we support
> today.
>

Gentoo provides a solution with genkernel, dracut provides a solution,
even the linux kernel itself provides a solution (in my view the
easiest solution at that).

> I'll go back to lurking now, and getting stuff done, like everyone else
> on this thread should be doing, instead of complaining (this is -dev,
> not -users...)
>
> greg k-h
>

Oh, please Greg, do continue to stay engaged, I enjoy your perspective
very much.

I just wanted to drop this simple fact in there. This has been coming
for several years now AND the linux kernel has been using an initramfs
for every boot, every time for a long time now, all 2.6 and up as I
understand it. If the initramfs is empty, well the kernel is smart
enough to fall back on "legacy" boot process.

If you care to read about it, its all contained locally if your kernel
source in the file
linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt

Its a great read, sure to entertain and enlighten. It saved my bacon a
few times when mdadm switched to the new metadata format. Once I began
to learn about what the initramfs made possible, entire new worlds of
possibility appeared (and I was not even on drugs!).

It's actually something of a surprise to me that there are people
upset about this change, since it cleans things up a bit while also
giving people that want and/or need it, a great deal of power and
control over the boot process that was not nearly as easy before.

I do believe Gentoo, as a community/volunteer-run and super-power-user
distribution, should be careful, a bit wary, and seriously consider
the decisions made by our corporate colleagues (we do have the mandate
to maintain our independence). However, simply because RHEL, SUSE, etc
are corporation controlled distributions does not mean they are bad or
trying to control/ruin the rest of the distros.

Anyway, I merely thought I would place my commentary on this situation
here for posterity. Since I have an opinion, I thought I would share
it for better or worse.

--
Matthew W. Summers
Gentoo Foundation Inc.

First page Previous page 1 2 3 4 5 Next page Last page  View All Gentoo dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.