FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 01-01-2012, 12:44 PM
Rich Freeman
 
Default rfc: locations of binaries and separate /usr

On Sun, Jan 1, 2012 at 4:45 AM, Dale <rdalek1967@gmail.com> wrote:
> This is my issue as well. *I tried to make a init* to deal with this and
> have yet to get one to work, not one single working boot up. *I have tried
> different howtos and not one of them produced anything that works. *I have
> not found a dracut howto that makes any sense either. *Sorry but genkernel
> left a bad taste in my mouth ages ago.

While I think that the direction we're moving in (/usr on root or use
an initramfs) is inevitable, I do agree that it needs some
improvement.

I've gotten Dracut to work fine in VMs (even with fairly complex
setups), but every time I try it on my server it doesn't set up the
raid for some reason, and drops me to a dash shell. If I just run
mdadm_auto at that point it takes about 15 seconds to find and setup
my raid, and just typing exit boots the system just fine. I keep it
as an option in grub so that whenever my raid device numbers get mixed
up (seems to happen every other month for no apparent reason) I can
boot the system, since dracut does use the mdadm.conf and UUIDs to put
everything in the right place and find the right root (something you
can't do without an initramfs). One of these days I'll figure out how
to hack an mdadm_auto into the script as a last-ditch measure and then
I'll just have to deal with a one-minute delay.

For being the wave of the future it seems like the only documentation
Dracut has is a single page website with a few paragraphs of info.

I think the bottom line is that the future may look inevitable, but it
isn't actually here yet. I advocate being ready for the future, but
let's try not to force its arrival before everything is mature (though
having it in portage as an option is completely in the spirit of
Gentoo).

Rich
 
Old 01-01-2012, 01:05 PM
Dale
 
Default rfc: locations of binaries and separate /usr

Rich Freeman wrote:

On Sun, Jan 1, 2012 at 4:45 AM, Dale<rdalek1967@gmail.com> wrote:

This is my issue as well. I tried to make a init* to deal with this and
have yet to get one to work, not one single working boot up. I have tried
different howtos and not one of them produced anything that works. I have
not found a dracut howto that makes any sense either. Sorry but genkernel
left a bad taste in my mouth ages ago.

While I think that the direction we're moving in (/usr on root or use
an initramfs) is inevitable, I do agree that it needs some
improvement.

I've gotten Dracut to work fine in VMs (even with fairly complex
setups), but every time I try it on my server it doesn't set up the
raid for some reason, and drops me to a dash shell. If I just run
mdadm_auto at that point it takes about 15 seconds to find and setup
my raid, and just typing exit boots the system just fine. I keep it
as an option in grub so that whenever my raid device numbers get mixed
up (seems to happen every other month for no apparent reason) I can
boot the system, since dracut does use the mdadm.conf and UUIDs to put
everything in the right place and find the right root (something you
can't do without an initramfs). One of these days I'll figure out how
to hack an mdadm_auto into the script as a last-ditch measure and then
I'll just have to deal with a one-minute delay.

For being the wave of the future it seems like the only documentation
Dracut has is a single page website with a few paragraphs of info.

I think the bottom line is that the future may look inevitable, but it
isn't actually here yet. I advocate being ready for the future, but
let's try not to force its arrival before everything is mature (though
having it in portage as an option is completely in the spirit of
Gentoo).

Rich





I installed dracut and it did something, although I'm not sure what
yet. I googled until I think google should be tired of me to find docs
to help. Getting it to run was on one page, then figuring out some
options was on yet another page, then grub was on yet another. I don't
know yet if some of these are outdated or anything so I don't know if it
is going to work or just blow up something. Please, don't ask me what it
did. I said I did it, I didn't say I understand it. If it is broken or
breaks in the future, I'm screwed. (Sort of starting to wonder why I
left Mandriva now. I could have swore I wanted to be rid of init* stuff
and make my on freakin kernels. )


I might also add for those considering dracut being the official way, it
is keyworded at this point. I would think someone needs to get this
stable or whatever needs doing before telling folks to use this. It may
work fine but if that is the case, then it needs to be unkeyworded.
Spell check doesn't like our terms here.


I think the future is actually taking several steps backward. That
point has been discussed to death tho.


I hope Sven has his thinking hat on. Maybe I can help some with the
docs. If it works for me, it should work for most. lol


Dale

:-) :-)

--
I am only responsible for what I said ... Not for what you understood or how you interpreted my words!

Miss the compile output? Hint:
EMERGE_DEFAULT_OPTS="--quiet-build=n"
 
Old 01-01-2012, 03:56 PM
William Hubbs
 
Default rfc: locations of binaries and separate /usr

On Sun, Jan 01, 2012 at 02:12:22AM -0500, Olivier Crête wrote:
> > 1) Start migrating packages along with upstream and have everyone who
> > has a separate /usr (including me by the way) start using an initramfs
> > of some kind, either dracut or one that we generate specifically for
> > gentoo. The reason I suggest the initramfs, is, unfortunately if we
> > migrate everything, nothing else would work.
>
> I also don't see a good reason to not adopt dracut, re-implementing
> something that already works and is maintained by a competent upstream
> seems wasteful to me. I really don't see why people resist using an
> initramfs so much.
>
> The udev/kmod/systemd/dracut effort to standardise the base userspace of
> Linux is probably scary for quite a few Gentoo-ers as it means that the
> end result of an installed Gentoo system will be less differentiated
> than it was before. But it still is a step in the right direction as
> most of these standardized pieces are much better than what we currently
> have. The OpenRC/baselayout-2 fiasco, not much better than baselayout-1
> and unmaintained upstream shows that even a relatively large
> distribution like us can't maintain a competitive base system solution,
> adopting the udev/kmod/systemd way will allow us to use all the work
> that they are doing and instead concentrate on making a better system.

The problem you are missing here is that gentoo isn't just for linux. We
are cross-platform, so we have to have a cross-platform init system as
the default. Unless they port systemd to *bsd, we may have to keep
openrc as the default init system for some time afaik.

Also, your statement about openrc not being maintained upstream is not
correct. It is correct that Roy doesn't work on it any more, but there
is a team that does maintain it.

William
 
Old 01-01-2012, 04:54 PM
Duncan
 
Default rfc: locations of binaries and separate /usr

Zac Medico posted on Sun, 01 Jan 2012 02:15:49 -0800 as excerpted:

> I'm not sure if a USE flag for FEATURES setting would be necessary. If
> we want to enforce a global policy, then I guess a QA warning would be
> warranted.

I didn't state why I suggested that, but here's the reasoning:

Unless I missed an update somewhere, USE flags are covered by PMS and
thus available to be used in ebuilds, etc. AFAIK, portage FEATURES are
just that, portage FEATURES, and thus are supposed to be opaque to
ebuilds, which shouldn't need to care which PM is running or its
features, as long as it's PMS compliant.

Thus, the split between the FEATURES bit which the ebuild shouldn't need
to know about (the user sets up the symlinks and sets the features and
portage takes care of it managing the rest for existing versions without
rewriting), and the USE flag, for where upstreams and/or ebuilds are
actually rewritten with the possibility of both layouts (and later only
the /usr locations) in mind and the ebuild installs to the targeted
location based on the USE flag.

--
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
 
Old 01-01-2012, 04:54 PM
Michał Górny
 
Default rfc: locations of binaries and separate /usr

On Sat, 31 Dec 2011 19:59:47 -0600
William Hubbs <williamh@gentoo.org> wrote:

> I see three options:
>
> 1) Start migrating packages along with upstream and have everyone who
> has a separate /usr (including me by the way) start using an initramfs
> of some kind, either dracut or one that we generate specifically for
> gentoo. The reason I suggest the initramfs, is, unfortunately if we
> migrate everything, nothing else would work.
>
> 2) Combine the sbin and bin directories both on the root
> filesystem and in /usr by moving things from /sbin to /bin
> and /usr/sbin to /usr/bin.
>
> 3) Try to maintain things the way they are as long as possible.

We should *at least* start doing some preparations, like ensuring that
random things don't unnecessarily hardcode /sbin or /bin paths. Most
importantly, if a particular tool runs in a complete environment (which
is true for most of the cases), there is no need to hardcode paths to
tools.

As I see it, 2) seems achievable within a reasonable time now. It
shouldn't require any specific changes from users (except for fixing
their own broken scripts) yet some tree-wide action of fixing hardcoded
paths.

We could create /sbin and /usr/sbin symlinks as well but that shouldn't
be really necessary, especially if we prepare packages well beforehand.
Introducing such symlinks would be hard to perform and getting rid of
them later would be even harder; mostly due to PMS-enforced limitations.

For a long-term view, 1) is the only way to go. Splitting packages
randomly between rootfs and /usr was never really correct, and we
especially shouldn't force users to junk their systems with shattered
packages and cheap glue to keep it all working.

I'd suggest going the other way than I did with kmod. Temporary IUSE
like 'install-to-usr', disabled by default for now. Packages having
that IUSE should have correct USE-dependencies, and users who need not
to use that could just enable 'install-to-usr' globally (we'd probably
want to mask it first).

Of course, that way will require removing hardcoded paths as well, or
supporting switching them on IUSE. For the latter, it may be simpler to
use '[install-to-usr=]' kind of dependencies.

--
Best regards,
Michał Górny
 
Old 01-01-2012, 05:32 PM
William Hubbs
 
Default rfc: locations of binaries and separate /usr

On Sun, Jan 01, 2012 at 09:23:11AM +0000, Duncan wrote:
> Gentoo has historically been both "light patch", with a policy of staying
> close to upstream if possible, and "customizer's choice", allowing users
> far more flexibility than most distros. Keeping both goals in mind,
> migrating with upstream is ultimately the only viable alternative for a
> whole host of reasons including both staying close to upstream and simple
> manpower resource issues.

> That said, we can continue to try to support a separate /usr as long as
> possible, while switching new installs to the new way and changing the
> handbook to document it, preferably as soon as possible.

In this situation, I don't know how we will be able to support both
ways because there is more involved than just where things are
installed.

Udev 175 is currently masked, because the way it operates has changed
enough that it doesn't work correctly if it starts before /usr is
mounted, and the failures you find will be very difficult to track down.
So, udev isn't only changing where it is installed, but how it runs.

Supporting a separate /usr without an initramfs will require one of two
things.

One possibility is a customization to openrc, which we have been
looking at, that would be able to run fsck on /usr and mount /usr all
before udev starts. The drawback here is this will only work for openrc
users.

Another possibility is a script that would run as the init= parameter to
the kernel, which would fsck /usr and mount /usr then start the real
init process. This would be more generic and would be able to run
regardless of whether you are using sysvinit/openrc.

Here is the big problem with both of these solutions as I see them. They
depend on several pieces of software remaining on the root filesystem,
and if/when this software is migrated, we will be back to having this discussion
again.

> Further, as
> previously discussed, a near-static bare-minimal initramfs that can be
> configured and forgotten about for long periods over many kernel upgrades
> should make the switch as painless as possible at least for "simple" bare-
> partition installations.

I want to look at dracut and see if there is a way to configure it to
create a minimal initramfs like you are suggesting, because, if there is
we don't need to re-invent the wheel.

I don't think your portage feature/use flag suggestion is a good idea,
because, right now most of this is about where things are installed,
but, eventually we might have to start actually patching software to
make it work if it is installed on / instead of /usr, and there is no
way to know how much patching we would have to do.

What are your thoughts?

William
 
Old 01-01-2012, 05:40 PM
Ciaran McCreesh
 
Default rfc: locations of binaries and separate /usr

On Sun, 01 Jan 2012 02:12:22 -0500
Olivier Crête <tester@gentoo.org> wrote:
> The udev/kmod/systemd/dracut effort to standardise the base userspace
> of Linux is probably scary for quite a few Gentoo-ers as it means
> that the end result of an installed Gentoo system will be less
> differentiated than it was before. But it still is a step in the
> right direction as most of these standardized pieces are much better
> than what we currently have. The OpenRC/baselayout-2 fiasco, not much
> better than baselayout-1 and unmaintained upstream shows that even a
> relatively large distribution like us can't maintain a competitive
> base system solution, adopting the udev/kmod/systemd way will allow
> us to use all the work that they are doing and instead concentrate on
> making a better system.

Doesn't all this mess just show that no-one else can maintain a
"competitive" base system solution either?

--
Ciaran McCreesh
 
Old 01-01-2012, 05:46 PM
William Hubbs
 
Default rfc: locations of binaries and separate /usr

Yeah I know I"m replying to my own message, but I wanted to add a
thought about the symbolic links issue.

I don't think the /{bin,sbin,lib} and /usr/sbin directories should be
deleted.

However, what I would like to see is that the package maintainers would
be responsible for creating any compatibility symlinks their package
needs, not portage. I don't think it is a good idea to have portage or
any package manager controling the migration.

That way, once the package maintainer knows that the symbolic links are
not needed, they can be removed and eventually all of these directories
would be empty and they could eventually be removed if desired.

Thoughts?

William
 
Old 01-01-2012, 07:09 PM
Olivier Crête
 
Default rfc: locations of binaries and separate /usr

On Sun, 2012-01-01 at 01:33 -0600, Matthew Thode wrote:
> On Sun, 01 Jan 2012 02:12:22 -0500
> Olivier Crête <tester@gentoo.org> wrote:
> All of my systems currently have a seperate /usr that is mounted at
> boot. Unfortunately I do agree that this is not something that we can
> fight. This was brought up earlier and the only thing we can do
> for people like myself (who mount /usr at boot) is to create a simple
> initramfs that only has the purpose of mounting /usr at boot. The main
> thing I don't like about initramfs is that we have to regenerate it any
> time we update the packages that get included in it.

That's why you have dracut to do it for you.


--
Olivier Crête
tester@gentoo.org
Gentoo Developer
 
Old 01-01-2012, 07:17 PM
Olivier Crête
 
Default rfc: locations of binaries and separate /usr

Hi,

On Sun, 2012-01-01 at 12:46 -0600, William Hubbs wrote:
> I don't think the /{bin,sbin,lib} and /usr/sbin directories should be
> deleted.
>
> However, what I would like to see is that the package maintainers would
> be responsible for creating any compatibility symlinks their package
> needs, not portage. I don't think it is a good idea to have portage or
> any package manager controling the migration.

The other option is to do mv /bin/* /sbin/* /usr/sbin/* /usr/bin; and
then create symlinks from the other dirs to /usr/bin.. That can be done
in big move, it's the way Fedora is going to do it.

--
Olivier Crête
tester@gentoo.org
Gentoo Developer
 

Thread Tools




All times are GMT. The time now is 05:08 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org