1 |
On Sat, 25 May 2013 11:54:48 +0200 |
2 |
Luca Barbato <lu_zero@g.o> wrote: |
3 |
|
4 |
> Hi, since the whole discussion got somehow sidetracked on where and if |
5 |
> to install for everybody the rc system specific files for everybody |
6 |
> (that should be an implementation detail for the specific dohelper |
7 |
> IMHO), I'm back to the other part of it: switching the actual init |
8 |
> implementation. |
9 |
> |
10 |
> # WHY (not just edit your bootloader) |
11 |
> |
12 |
> Since efi at least some people started to put in the kernel the bootargs |
13 |
> and we have at least few new options brewing for init, some are |
14 |
> small impact (bootchar, bb-init-openrc and runit-openrc) some are more |
15 |
> invasive (runit and systemd). |
16 |
> |
17 |
> In those setup changing bootargs requires a kernel rebuild and some |
18 |
> effort, while the eselect approach stays completely transparent. |
19 |
> |
20 |
> For some switch we might not have just to change the init binary bit |
21 |
> also to do some other changes (e.g. use a different format for inittab) |
22 |
|
23 |
If you can't change options at boot time it's very simple to get |
24 |
unbootable system. Just curious, who does such systems and |
25 |
how root filesystem (+ it's mount options) is expected to be |
26 |
found there? |
27 |
|
28 |
I guess EFI allows you to set bootargs via EFI UI. |
29 |
|
30 |
I'd go for init=/sbin/gentoo-init and make all the messy stuff there. |
31 |
Otherwise by breaking /sbin/init it would be hard to find proper |
32 |
name of, say, SYSVs /sbin/init. How would you call it? |
33 |
|
34 |
> # KEYPOINTS |
35 |
> |
36 |
> - /sbin/init (or whatever linux currently calls by default with top |
37 |
> priority) should be either a symlink to the actual implementation or a |
38 |
> wrapper such as our gcc one. I like better the latter since it is |
39 |
> overall safer. The former might or might work since linux has some |
40 |
> fallback capabilities but hadn't been tested. |
41 |
> |
42 |
> - init gets effectively switched only at boot/reboot, eselect init must |
43 |
> keep track of the current active init and make sure the current init |
44 |
> configuration is used till the system reboots, if we use the wrapper |
45 |
> approach, it would pick up what's the new init at boot and that would be |
46 |
> enough for simple cases, hooks on reboot are still needed for more |
47 |
> complex ones. |
48 |
> |
49 |
> - we could try to not have the changes to the current init systems |
50 |
> ebuild or reduce them to the bare minimum (e.g. not overwrite /sbin/init) |
51 |
> |
52 |
> # FOCUS |
53 |
> |
54 |
> My interest is mostly if not all on bb-init-openrc and slightly on |
55 |
> runit-openrc. |
56 |
> |
57 |
> There are enough people involved in systemd and since I still consider |
58 |
> it a dangerously frail implementation of a bad idea is better if I do |
59 |
> not touch it at all. |
60 |
> |
61 |
> My system with stock openrc gets from linux start to graphical login in |
62 |
> less than 6s and I'm not using Gnome so I do not have any reason to use |
63 |
> it beside comparing. |
64 |
> |
65 |
> lu |
66 |
> |
67 |
> |
68 |
|
69 |
|
70 |
-- |
71 |
|
72 |
Sergei |