1 |
On Sat, May 25, 2013 at 11:54:48AM +0200, Luca Barbato wrote: |
2 |
> I'm back to the other part of it: switching the actual init implementation. |
3 |
> |
4 |
> # WHY (not just edit your bootloader) |
5 |
> |
6 |
> Since efi at least some people started to put in the kernel the bootargs |
7 |
> and we have at least few new options brewing for init, some are |
8 |
> small impact (bootchar, bb-init-openrc and runit-openrc) some are more |
9 |
> invasive (runit and systemd). |
10 |
> |
11 |
> In those setup changing bootargs requires a kernel rebuild and some |
12 |
> effort, while the eselect approach stays completely transparent. |
13 |
|
14 |
That's not an argument for using a symlink switcher or the equivalent |
15 |
across the board, by any means. |
16 |
|
17 |
Firstly, we should be recommending people install Gentoo with enough |
18 |
flexibility to configure and use their system how they choose. In the UEFI |
19 |
arena, why not simply recommend something like rEFIt instead of making |
20 |
everyone go through a load of development effort, to restrict us all to a |
21 |
crippled use-case? |
22 |
|
23 |
NOTE: If you still wish to pursue a fixed config, then it's easy enough to |
24 |
build it with init=/sbin/einit since presumably you want that setup for your |
25 |
users. |
26 |
|
27 |
So even for the restricted corner-case of a Gentoo install without a |
28 |
bootloader this is not needed. In fact it would be better done using the |
29 |
existing mechanism. |
30 |
|
31 |
All I'm saying is: can we please stop trying to reinvent the kernel, which |
32 |
accepts a bootloader parameter from initramfs as well, and focus instead on |
33 |
the difficult part: making sure the system is in a fit state to switch in |
34 |
the first place. |
35 |
|
36 |
That's where the development effort is needed, if you are to provide a |
37 |
mechanism to switch. The symlink and hooks etc is a total dead-end, imo. |
38 |
It's simply reinventing the wheel using octagons instead of circles. |
39 |
|
40 |
There's nothing to stop systemd being the default init, should you want to put |
41 |
the install together like that. Because let's be honest: someone has to put this |
42 |
install together, irrespective of how incapable the end-user is of editing a |
43 |
file by themselves. And just because the user can do it simply, that's no reason |
44 |
to make our method to do it any more complex (I've never heard such a bizarre |
45 |
argument.) Just edit the file via script. |
46 |
|
47 |
If we're on a crippled EFI setup, or the user has specified to use the boot wrapper, |
48 |
then we're simply editing a file for the wrapper to read instead. It's trivial. |
49 |
|
50 |
FOCUS on getting the system safe to switch. Not on reinventing init/main.c, badly. |
51 |
|
52 |
-- |
53 |
#friendly-coders -- We're friendly, but we're not /that/ friendly ;-) |