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 |