Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: newsitem: unmasking udev-181
Date: Wed, 14 Mar 2012 13:03:26
Message-Id: CAGfcS_kbAX-4DXdH-7+VWXyjBgAfUEsZ-5gUqcdsPxAcQPKL4A@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: newsitem: unmasking udev-181 by Joshua Kinard
1 On Tue, Mar 13, 2012 at 8:29 PM, Joshua Kinard <kumba@g.o> wrote:
2 >
3 > My contention is that I shouldn't need an initramfs loaded into my kernel to
4 > get my system into a minimally-usable state.  I've been running separate
5 > /usr setups for 10+ years, and only now, such a setup breaks, hence my beef
6 > with Fedora's assertion that such a setup is wrong.
7
8 I was thinking about this and here is another way to think about it.
9
10 Right now you can't boot a linux kernel without a whole bunch of c/asm
11 code in linux. That code is necessary to do arch-specific setup,
12 locate the root device, mount it, and run init.
13
14 The new model is that you can't boot a linux kernel without a whole
15 bunch of c/asm code in linux, and a bunch of scripts and userspace
16 code in a blob (that can potentially be part of the kernel image).
17
18 You could view this as a simple refactoring of code. Instead of all
19 the boot logic being in c/asm which is hard to tweak, now some of it
20 is written in bash and a bunch of userspace tools. All of this can
21 just be viewed as part of the kernel - it can even be part of the same
22 file if you want.
23
24 Obviously this isn't a perfect analogy, as a bunch of userspace tools
25 already existed but now require the extra glue code to work (mounting
26 /usr).
27
28 Once upon a time you didn't even need grub or lilo to boot - you could
29 just stick the kernel at the start of your boot disk and the first 512
30 bytes of the kernel conveniently contained a boot sector. That code
31 actually still exists but simply tells the user to bugger_off.
32
33 So, you really could just view this as another step in the evolution
34 of the linux boot process. After seeing some of the more exotic boot
35 processes used in ARM/etc stuff like this just doesn't throw me for
36 much of a loop. And, if you setup dracut/genkernel appropriately it
37 really is just one extra step to make your system bootable.
38
39 Rich