1 |
On 09/01/2012 07:46 AM, Amadeusz Żołnowski wrote: |
2 |
> Hello, |
3 |
> |
4 |
> I have a bit more brain resources to continue the integration of Dracut |
5 |
> with Genkernel, at last. Dracut was meant to replace internal Genkernel |
6 |
> initramfs generator, but recently Genkernel is being developed quite |
7 |
> actively, therefore I think it would be a waste to just replace it. |
8 |
> Both can coexist. Although there are a lot of differences between |
9 |
> Genkernel and Dracut, therefore there's no much sense to continue the |
10 |
> integration the way I have started. I have tried to replace initramfs |
11 |
> generator transparently, translating command line options and |
12 |
> configuration to Dracut options, to be fully compatible. Quickly it has |
13 |
> become a burden, because Genkernel code has to be updated according to |
14 |
> changes in Dracut. Just imagine you would have to update Genkernel for |
15 |
> every kernel release. |
16 |
> |
17 |
> I propose to extract the initramfs generator from Genkernel and make it |
18 |
> a standalone project. The rest of the Genkernel could be rewritten to |
19 |
> support both Gentoo's initramfs generator, Dracut and maybe some other |
20 |
> in the future. Of course this would be my job to do so and I'm only |
21 |
> asking for acceptance from you. |
22 |
> |
23 |
> Another problem arisen is the name and versioning. Solutions: |
24 |
> |
25 |
> 1) The framework integrating old Genkernel and Dracut could be just |
26 |
> bumped to: |
27 |
> |
28 |
> a) 4 - because there's no official 4.x release, |
29 |
> b) 5 - because there's an unofficial and dead 4.x: |
30 |
> https://github.com/eedgar/genkernel4 |
31 |
|
32 |
I would prefer calling it genkernel 5 to avoid confusing people. |
33 |
|
34 |
> 2) The framework could be named genboot, because it actually takes care |
35 |
> of kernel, initramfs and boot manager entries. Although we're losing |
36 |
> old good name. |
37 |
> |
38 |
> I am definitely for (1). The extracted old internal Genkernel initramfs |
39 |
> generator would need to be named differently for either case, for |
40 |
> example: geninitrd, geninitramfs, genifs, genird or geninitfs. |
41 |
> |
42 |
> |
43 |
|
44 |
We could just refactor genkernel by doing the following: |
45 |
|
46 |
1) Copying /usr/bin/genkernel to /usr/bin/geninitramfs. |
47 |
2) Rewriting /usr/bin/geninitramfs to only be capable of generating an |
48 |
initramfs image like dracut. |
49 |
3) Rewriting /usr/bin/genkernel to provide the user with the option to |
50 |
invoke geninitramfs, invoke dracut or use a user generated initramfs image. |
51 |
|
52 |
We would also need to update man pages and provide a geninitramfs man |
53 |
page, but this should be workable. |