Hi,

I’m trying to encrypt the root filesystem / of a raspberry pi 4 device running under Devuan rpi ( custom kernel )

I’m following LUKS on Raspberry Pi 2021 guide

That explain step by step how achieve this.

But the guide use initramfs and my distro seem to use initrd

So the question, is: should I migrate to initramfs ? and how check whats is inside my current initrd

or keep-up with initrd but then how insert the necessary to enable LUKS drive to be mounted by it ( initrd ) ?

Thanks.

  • gnuhaut@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    43 minutes ago

    So, firstly, about the nomenclature: initrd (initial ram disk) and initramfs (initial ram file system) are usually used interchangeably as far as I know. For example, even though my Debian uses initramfs-tools, the generated images are called /boot/initrd.img-*. (Edit: There is a technical difference but an initramfs may be referred to as an initrd (like in this case) due to how similar they are.)

    For example, when installing a kernel, apt shows this output on my Debian machine:

    linux-image-6.12.6-amd64 (6.12.6-1) wird eingerichtet ...
    /etc/kernel/postinst.d/initramfs-tools:
    update-initramfs: Generating /boot/initrd.img-6.12.6-amd64
    

    What you’re talking about is probably the software used to generate this initial ramdisk, which on Debian is done using initramfs-tools (which contains the mkinitramfs command), while on other distros dracut (command: mkinitrd) might be used.

    I will say it strikes me as weird that Devuan doesn’t use initramfs-tools since it’s a Debian derivative. Maybe you are mistaken about this? Possibly no initrd/initramfs is used at all on this specific Pi version of Devuan? IDK.

    Edit: See my other comment. I’m wrong. There is an actual technical difference between initrd and initramfs, but I don’t think that’s actually relevant in this situation. Or rather, both are functionally the same, so it doesn’t really matter from the perspective of the user or distro that there’s a difference. I will keep the rest of the comment as is, since I do reckon OP’s problem is unrelated to this difference, and that probably something else is tripping up OP.

  • JustinA
    link
    fedilink
    arrow-up
    1
    ·
    9 hours ago

    The boot process (e.g. initrd initramfs) is specific to your distro and cannot be changed. Follow a guide for Devuan/Debian.

  • user_naa@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    8 hours ago

    AFAIK initramfs is the same thing as initrd. But do you have update-initramfs command available?

          • user_naa@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            3 hours ago

            Also systemd says I am using initrd (on my Fedora machine)

            systemd[1]: Running in initrd.
            

            But I have initramfs packed with dracut in /boot folder

            /boot/initramfs-6.12.8-200.fc41.x86_64.img
            
            • ShortN0te@lemmy.ml
              link
              fedilink
              arrow-up
              3
              ·
              2 hours ago

              Initramfs and initrd are 2 different things, the problem where the confusion happens is that initrd is deprecated since a few years.

              Now, systemd has implemented an interface called systemd-initrd which basically is initramfs.

              I guess here is were the confusion lies. Nowadays everything is initramfs even if it called initrd.

              The original initrd differs from initramfs, but it is no longer a thing.

              Sorry if i came across a little bit snappy have not had a great week so far.

              • gnuhaut@lemmy.ml
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                39 minutes ago

                Edit: You are right. I looked it up:

                There seems to be an actual technical difference, in the kernel, between an initrd and an initramfs. An initrd is apparently mounted like a normal file system, it’s just in RAM instead of a backed by a block device. An initramfs is a tmpfs into which a (usually cpio) archive is extracted into. The initramfs apparently would be preferable generally, because the kernel understands that it’s a ramdisk, whereas with an initrd it would go through the block device layer, which would mean it would use more ram: If you read a file from an initrd, the kernel would copy the file to ram (unnecessarily, since it’s already in ram) like it would for a filesystem on disk, but for a tmpfs/initramfs, it understands it doesn’t need to do that.

                From a user’s perspective there is no significant functional difference I don’t think, and I don’t think this relevant to OP’s question, that probably has more to do with the userspace tools.

          • user_naa@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            5 hours ago

            Based on first result

            We can use initrd for Linux kernels 2.4 and lower. Conversely, initramfs is for kernels 2.6 and above.

            Since on all modern system initial filesystem is tmpfs sometimes it is confused and initramfs is called initrd (for example: in grub to load initramfs you use initrd command).