On Jan 5, 2012 7:10 PM, "Alan McKinnon" <alan.mckin...@gmail.com> wrote:
>
> On Thu, 05 Jan 2012 09:17:23 +0100
> pk <pete...@coolmail.se> wrote:
>
> > On 2012-01-05 08:43, Alan McKinnon wrote:
> >
> > > I fiddle around a lot with the hardware on those and udev deals with
> > > that nicely considering udev is designed to deal with that nicely.
> >
> > I confess to being quite ignorant when it comes to what magic udev
> > does behind the scenes but what makes it different to any other device
> > manager (well, I don't know any other than mdev but...)? I.e. what
> > technical problem(s) does udev solve that no other device manager
> > can't? What is the technical need for something else than a device
> > file under /dev that can be used to communicate with the kernel?
> >
> > What I mean is: If you say "... considering udev is designed to deal
> > with that..." you seem to indicate that you know what it does and why
> > it does what it does... and henceforth the technical reason why the
> > rearrangements of the file system hierarchy is necessary...
>
> I don't claim any special deep knowledge of these things, but a
> superficial glance over the packages tells you a lot. udev is designed
> to deal with any realistic device needs on modern systems - it's the
> kitchen sink.
>
> mdev has a much narrower scope where things are considerably more
> static.
>
> As for re-arranging the fs layout, I think it was Canek in the last
> thread that gave an excellent example of why this is needed. When
> devices hotplug, or need to become active early on in the boot process,
> they need to run code that can be located almost anywhere. It wouldn't
> be fun trying to get a wireless keyboard going when it's start-up
> script needs to get into /usr/lib/firmware and /usr isn't mounted yet.
>
> The example was something along the lines of a machine that has no
> physical keyboard or a port for one, it uses a bluetooth keyboard. But
> the main file systems are encrypted using a key that's on a smartcard.
> To decrypt and mount the filesystems, the drivers for keyboard,
> bluetooth and smart card, plus all firmware, needs to be loaded first.
> This is actually not all that far-fetched, and it's a classic bootstrap
> problem first solved in the 60s. It much more complex now than it was
> then but the principles behind the solution are much the same.
>
> I do agree with collapsing the executable code in /usr into /, or
> having /usr on the root partition. A separate /usr/{,s}bin is pretty
> pointless and was never done for safety or maintenance reasons. It was
> done way way way back when disks were small and a convenient hack was
> to keep the OS on the boot device and user apps somewhere else on
> bigger but slower storage (which often was remote).
>
> If /usr is local, what really is the point of having it separate
> from /? Have you ever found a Linux system in any condition that could
> not start just because the stuff in /usr was available? I haven't.
>
> Even the split between bin and sbin is arbitrary. It's only there so
> that users can take sbin out of PATH and not have the screen cluttered
> with endless junk when they tab-tab. It makes much more sense to me to
> just have one single bin and lib location and shove everything into it.
>
> What I do object to is any possible idea that an initramfs will be
> *required* regardless. I know this isn't on the table just yet, but
> it's a very small amount of creep before it is.
>
> >
> > > Becoming rather lazy in my old age is getting to be a factor too
> >
> > Ho hum... so "you lazy old fart" is true then? ;-)
>
> Dunno about lazy old fart, but splog (snarky pedantic lazy old git)
> definitely is. I think we decided that Neil is the lazy old fart :-)
>

After some soul-searching (yes, I still have one despite learning from
BOFH), I think I'll agree with Alan... with some caveats.

I have less resistance to requiring /usr to be part of /. The way I see it,
I can still do some bind mount black magic to provide a minimal /usr for
booting yet isolating the 'real' /usr to prevent it messing up the rootfs.

As to udev, I still think it's an overkill for a static server environment.
With virtualization, I can *guarantee* that the (virtual) hardware
environment will never change. For these environments, I much prefer mdev
to udev.

Finally, regarding initramfs, I wholly agree. Don't force me to use one. A
server is already a complex system, and adding complexity won't end up
pretty.

Rgds,

Reply via email to