Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Mick
On Wednesday, 7 August 2019 01:31:03 BST Rich Freeman wrote:
> On Tue, Aug 6, 2019 at 7:41 PM Grant Taylor

> > Sadly, I think people have thrust additional (IMHO) largely unnecessary
> > complexity into the init process just to be able to support more exotic
> > installations.  

I may be wrong but I thought the udev-usr-initrd complexity was deemed a 
necessity/ when bluetooth input and audio devices became more widespread.  The 
fact systemd gradually mushroomed to take over the OS is another more loosely 
related story.


> > Then, they have said "We want to be consistent in how we
> > boot, so we need to use this more complex thing everywhere."  To which,
> > many greybeards have responded "I don't need nor want that on my simple
> > server."

This is the main rub of these architectural /solutions/ being pushed onto the 
wider community by what amounted to corporate lobbyists, for /problems/ many 
of us never had.

> Initramfs is popular because it is way more flexible:
> 
> 1.  You can build a fully modular kernel so that you can use the same
> kernel on every system but not be loading countless drivers for
> hardware most systems don't use, while still being certain of being
> able to boot any particular system.

Unless you have no use for this.  Just as many *Gentoo* users do not need 
their kernel image blessed by Microsoft, RHL shims and what not.


> 2.  You have more access to labels/uuids/etc for finding the root
> filesystem so that when one of your hard drive fails the kernel
> doesn't just dumbly use the next one in sequence, assuming they're
> even always identified in the same order.

I may be missing something here ... but I think this is not related to the use 
of an initrd.  You probably won't even need a separate bloat-loader like grub2 
for this, at least not on UEFI systems.  Just add the root PARTUUID on your 
kernel line, inside the kernel.


> 3.  You can use "exotic" installations like iscsi and so on, which
> seems pretty useful in an enterprise setting.
> 
> > If you /actually/ /need/ a micro installation to make your main
> > installation available, then go for it.  But if you don't /actually/
> > /need/ a micro installation, well Occam's Razor / Parsimony.

I have not performed sociological research to confirm this, but I'd say to 
those of us identifying with the above statement Gentoo is a good fit.  For 
those in an enterprise setting, there are many other cookie-cutter corporate 
solutions applicable.


> Except then you're tailoring your bootloader to individual systems.

Yes, I don't *have* to use Gentoo on a large server farm, put a SLA in place 
linked to contractual payment thresholds, hack my own monitoring system and 
get 3 layers of insurance signed off.  Tailoring my bootloader(s) is something 
I do in my home-office environment, including 3 servers.


> Most sysadmins will prefer the Ubuntu/RHEL/etc approach where the same
> kernel/bootloader/etc works everywhere, vs tailoring their boot
> process to every individual host.

Yes in (large) corporate deployments.  Some of them on Azure too.


> > > They're a really elegant solution to the problem.
> > 
> > I wouldn't use the words "elegant" or "solution".  "kludge" comes to mind.
> 
> What could be more elegant?  It minimizes the complexity of the
> kernel, which is why Linus generally prohibits the kernel from having
> any more advanced root mounting logic, and why pretty much every Linux
> system out there uses one.

I think the whole issue is a difference in use cases and where corporate money 
has been used to provide a narrowly focused solution to address corporate 
requirements, without particular attention/interest/care to what are 
statistically edge use cases.  Such edge use cases, e.g. separate /usr, no 
initrd or kernel images signed by Microsoft, different choice of bootloaders, 
etc. have been more concentrated on Gentoo than the one-size-fits-all binary 
distros.  RHL calls these "bespoke" deployments.  Yet when changes in udev 
brought about the necessity of an initrd in order to keep running a separate /
usr fs, I recall quite a number of gentoo user voices in this M/L alone 
objecting to the changes.  What is an edge use case for Fedora, is/was not so 
much of an edge use case in Gentoo.

Gentoo did not *have* to follow upstream changes, but yet again this could 
probably bring its ultimate stagnation/demise as devs would be spread too thin 
to keep developing Gentoo in a deviating path from the rest of the Linux 
trajectory.

Having used and still using other binary distros I'm grateful Gentoo's still 
here, but would really prefer it did not bend itself out of shape to 
accommodate solutions to problems I and others do not have, or when we do we 
may not even use Gentoo to solve them.

-- 
Regards,

Mick

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Neil Bothwick
On Mon, 5 Aug 2019 20:37:44 -0600, Grant Taylor wrote:

> Actually, the quote in the first forum post you linked to has the
> following:
> 
> /sbin->usr/bin
> /usr/sbin->bin
> 
> That takes four directories (/bin, /sbin, /usr/bin, /usr/sbin) and 
> combines them into two (/sbin & /usr/bin and /bin & /usr/sbin) but it 
> also crosses bin & sbin as well as going opposite directions with the 
> links.  —  Yuck!!!

Actually, it combines them all into one. The second link is to bin, not
/bin. It's a relative link from /usr/sbin so this would put everything in
/usr/bin.


-- 
-- 
Neil Bothwick

Exercise daily. Eat wisely. Die anyway.


pgplegyUbUoHb.pgp
Description: OpenPGP digital signature


Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Mick
On Wednesday, 7 August 2019 11:48:09 BST Neil Bothwick wrote:
> On Mon, 5 Aug 2019 20:37:44 -0600, Grant Taylor wrote:
> > Actually, the quote in the first forum post you linked to has the
> > following:
> > 
> > /sbin->usr/bin
> > /usr/sbin->bin
> > 
> > That takes four directories (/bin, /sbin, /usr/bin, /usr/sbin) and
> > combines them into two (/sbin & /usr/bin and /bin & /usr/sbin) but it
> > also crosses bin & sbin as well as going opposite directions with the
> > links.  —  Yuck!!!
> 
> Actually, it combines them all into one. The second link is to bin, not
> /bin. It's a relative link from /usr/sbin so this would put everything in
> /usr/bin.

Yep!  It sounds like an amazing idea!  I vote we rename it $WINDOWS/ and see 
how fast someone can spin an image on Azure.  :p

-- 
Regards,

Mick

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Neil Bothwick
On Wed, 07 Aug 2019 11:58:52 +0100, Mick wrote:

> > Actually, it combines them all into one. The second link is to bin,
> > not /bin. It's a relative link from /usr/sbin so this would put
> > everything in /usr/bin.  
> 
> Yep!  It sounds like an amazing idea!  I vote we rename it $WINDOWS/

As opposed to splitting binaries across four directories based on
arbitrary decisions made in the last century? :P


-- 
Neil Bothwick

DOS never says "EXCELLENT command or filename"...


pgpyjmOi9g8f7.pgp
Description: OpenPGP digital signature


Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Mick
On Wednesday, 7 August 2019 12:48:08 BST Neil Bothwick wrote:
> On Wed, 07 Aug 2019 11:58:52 +0100, Mick wrote:
> > > Actually, it combines them all into one. The second link is to bin,
> > > not /bin. It's a relative link from /usr/sbin so this would put
> > > everything in /usr/bin.
> > 
> > Yep!  It sounds like an amazing idea!  I vote we rename it $WINDOWS/
> 
> As opposed to splitting binaries across four directories based on
> arbitrary decisions made in the last century? :P

LOL!  You're missing the most important part:  across different fs and 
partition layouts.

Look, the pyramids were built before the last century, but that doesn't mean 
we should try to balance them upside down if they work fine as they are.  
Clearly different use cases have different requirements and correspondingly 
different optimal solutions.  Can I please keep my bin/sbin directories 
separate and ditto for /usr and its subbies?  :-)

-- 
Regards,

Mick

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] Re: USE flag 'split-usr' is now global

2019-08-07 Thread Grant Taylor

On 8/6/19 6:31 PM, Rich Freeman wrote:
So, an initramfs doesn't actually have to do ANY of those things, 
though typically it does.


I agree that most systems don't /need/ an initramfs / initrd to do that 
for them.  IMHO /most/ systems should be able to do that for themselves.


Nothing prevents an initramfs from booting an alternate kernel 
actually, though if it does it will need its own root filesystem 
initialized one way or another (which could be an initramfs).


Agreed.

Though I think that's rare enough that I chose to ignore it for the last 
email.


Linux bootstrapping linux is basically the whole premise behind 
coreboot.


Sure.

But coreboot is not a boot loader or a typical OS.  coreboot falls into 
the "firmware" family.



Sure, but you don't need it ALL OVER YOUR FILESYSTEM.


I'd be willing to bet that 75% of what's contained in an initramfs / 
initrd is already on the root file system.  Especially if the initramfs 
/ initrd is tweaked to the local system.


Taking a quick look at the default initrd of an Ubuntu 16.04 LTS, just 
about everything I see in the following output exists on the system.


/boot/initrd.img-4.4.0-87-generic has 1908 items in it.

129 of them aren't already on the installed system.  Consisting of:

51 /scripts   Probably initrd specific
61 /bin   May be in /sbin /usr/bin /usr/sbin on the local system.
6  /conf  Probably initrd specific
5  /etc
2  /lib
4  misc

Digging further, 29 of the 61 for /bin are in /usr/bin.  12 are in 
/sbin.  That's 88 out of 1908 files in the 
/boot/initrd.img-4.4.0-87-generic file that aren't already all over your 
file system.


Some of the proposed solutions in this thread involved sticking stuff 
in /bin and so on.  An initramfs is nicely bundled up in a single file.


So, you're saving 88 files (out of 1908) and storing 1820 additional 
copies of files that exist in a container that's not easy to work with.


Why‽

Absolutely true, which means it won't interfere with the main system, 
as opposed to sticking it in /bin or somewhere where it might.


How do the files that are needed for the system to operate, being placed 
where they need to be, interfere with the main system?



Such as?


Allow me to rephrase / clarify slightly.

There have been many things that I've wanted to do in the past 20 yeras 
that the initramfs / initrd from the vendor did not support or was not 
flexible enough to do.


 · Not support root in LVM.
 · Not support root on LUKS.
 · Not support iSCSI disks.
 · Not support root on multi-path.
 · Not supporting the file system (tools).
 · Not support the RAID that (tools).
 · Not support ZFS.
 · Not support root on NFS.

These are just the some of the things that I've wanted to do over the 
years that the initramfs / initrd as provided by the distro did not support.


I have routinely found initramfs / initrd limiting.


It is a linux userspace.  It can literally do anything.


Yes, /conceptually/ it's Linux (userspace) can do anything that Linux 
can do.  /Practically/ it can only do the things that the distro 
envisioned support for and included in their initramfs / initrd 
management system.



You don't need to use dracut (et al) to have an initramfs.


(See above.)

In fact, you could create your super root filesystem that does all 
the fancy stuff you claim you can't do with an initramfs,


Sure.  I did.  (Time and time again) it was the machine's root file 
system doing exactly what I wanted it to do.


then create a cpio archive of that root filesystem, and now you have 
an initramfs which does the job.


Why would I want to copy / permute something that's already working to 
add as an additional layer, which I don't need, complicating the overall 
process‽


Sure, but only if the kernel can find that disk without any userspace 
code.


There's a reason I said "if".  The extremely large majority of the 
systems that I've administered over the last 20 years could do that.



What if that disk is on the other side of an ssh tunnel?


That would be a case where you would actually /need/ an initramfs / initrd.

I'd like to hear tell of someone actually using a root disk that is 
accessed through an ssh tunnel.  Short of that, I'm going to consider it 
a hypothetical.


If you know the commands to do something, why would you have to wait 
for somebody else to implement them?


Because I have hundreds of machines that need to be supported by junior 
admins and sticking within the confines of what the distro vendor 
supports is a good idea.


Or more simply, sticking within distro vendor's support period.

Actually, for most of these the initramfs is the starting 
root filesystem (just about all linux server installs use one).


Remember, an initramfs / initrd is (or gets extracted to) a directory 
structure.


Just about all of the servers and workstations (mid five digits worth) 
that I've administered over the years end up with a SCSI (SATA / SAS) 
disk off of a controller with the driver in kernel