Le 07/07/2020 à 18:20, Steve Litt a écrit : > On Tue, 7 Jul 2020 08:41:31 -0700
> Ian Zimmerman <itz@???> wrote:
>
>> On 2020-07-07 11:26, Steve Litt wrote:
>>
>>> Void Linux also symlinks all the various *bin directories together,
>>> even though it's a runit distro. My objection is this merge forces
>>> you to have an initramfs.
>> This doesn't sound right, can you explain why you need an initramfs
>> with merged /usr if you didn't need it before?
>>
>> I have a vague recollection of discussing this topic long before,
>> maybe with you; sorry if so.
>>
> You need certain executables, pre-mount, before a separate /usr can be
> mounted. These went in /sbin, which is on the root and always
> available. If you could mount the root partition, you could proceed.
>
> But now, if you mount /usr somewhere off the root, and simply have
> /sbin symlink to it, those executables aren't available right away.
> Imagine if you need the mount executable to mount /usr, but the mount
> executable *is* on /usr. Buried shovel. The only way around it is to do
> the mounts in initramfs.
>
Ah we had this discussion years ago! There's not much motivation to
put binaries which were traditionnaly under /usr elsewhere than in the
root partition nowadays.
The main reason for initramfs is, IMHO, for distros to provide disk
drivers and filesystems in the form of modules present in the initramfs.
They disapear after pivot-root so that only the necessary ones remain in
memory.
If you don't want an initramfs, then the drivers and filesystems
necessary to mount your root partition must be statically linked in the
kernel. You can recompile the kernel fot that, but you'll have to do it
for every upgrade, and you will need to modify the init sequence because
Debian has put some initialisation stuff the initramfs phase.