1 |
On Tue, Dec 18, 2012 at 6:07 PM, Neil Bothwick <neil@××××××××××.uk> wrote: |
2 |
> On Tue, 18 Dec 2012 17:55:16 -0500, Michael Mol wrote: |
3 |
> |
4 |
>> > #2 already has a solution, it's called an init*. Other solutions exist |
5 |
>> > but none are as elegant as a throwaway temporary filesystem in RAM. |
6 |
>> |
7 |
>> I find virtually nothing elegant about a temporary filesystem in RAM. |
8 |
>> It duplicates code that already exists on the system, and it |
9 |
>> represents and additional maintenance step in system upgrades. It |
10 |
>> seems almost a given that if someone is keeping multiple kernel images |
11 |
>> on a system, they're not updating the initr* for each when binaries |
12 |
>> that would be found in each are upgraded or rebuilt. |
13 |
> |
14 |
> I don't use separate initr* files, the initramfs is built into the |
15 |
> kernel, using the latest versions of the tools installed at the time the |
16 |
> kernel was compiled. That gives a single bootable file that, if it works |
17 |
> now, should always work. Most changes to the component packages do not |
18 |
> affect the simple job they have to do to get a system ready to run init. |
19 |
|
20 |
Just because it runs, doesn't mean it "works." For example, let's say |
21 |
your network now requires an additional protocol for the host to |
22 |
operate properly. Or let's say there's a security vulnerability in |
23 |
some network-aware component in your initramfs. Or that some piece of |
24 |
automounter code is vulnerable to corrupted filesystems on flash |
25 |
drives. |
26 |
|
27 |
> |
28 |
>> In Debian, Ubuntu and others, this is handled by a post-install hook |
29 |
>> where the initr* image is rebuilt. To me, this honestly feels like a |
30 |
>> hack. In something like Gentoo, I'd rather see package placement |
31 |
>> driven by whether or not it will be needed to get all mount points |
32 |
>> mounted. If that means i18n databases under something like /boot/data, |
33 |
>> that seems reasonable. To me, the only cases where initr* feels like |
34 |
>> the right solution are things like netboot or booting from read-only |
35 |
> |
36 |
> Or / on LVM, or / on an encrypted filesystem. or any other requirement |
37 |
> for a filesystem that cannot be used without adding code to the kernel. |
38 |
|
39 |
/ on special filesystems is a good use case, yes. I should have said |
40 |
"/ from an unusual source." |
41 |
|
42 |
-- |
43 |
:wq |