LE 12.0 added lvm2, luks (dm-crypt, veracrypt), mdraid, ext4 encryption

  • version 12.0.1-#240817 and 240829 (RPi5 only)

    download link https://sky42.libreelec.tv/release/12.0/

    based on LE 12.0.1 https://github.com/LibreELEC/LibreELEC.tv/tree/12.0.1

    changelog for release 12.0.1:
    240829
    - upstream update with RPi5 2GB (2712D0) fix

    240817
    - upstream update
    - sky42: script to build my special version (not my community releases)

    i did forget to tag my 240817 so only 240829 source diff with the RPi5 update
    my source diff https://github.com/LibreELEC/Libr…v:12.0.1-240829

  • Hello Sky42 and all developers, thanks a lot for developing this wonderful LE system. After using XBMC/KODI for a while, often having difficulties with drivers and the like (I'm not a Linux expert at all), I am now very satisfied with LE11.0.6 (Generic X86_64) on my INTEL NUC.

    The one thing I miss versus the Kodi install on Ubuntu is the ability to read and write BITLOCKER disks attached to USB, they simply are not recognized by LE.

    Is this the correct binary for gaining that ability? shall I backup my "standard" LE11 htpc and install this version with encryption support, then restore the LE config? will it mount NTFS BITLOCKER encrypted disks (USB attached) and be able to use them? This would be GREAT.

    By the way I also currently use SYNCTHING which works nicely.

    Thanks for your support and please help me if I posted on the wrong forum (but I was unable to find any othe BITLOCKER related info). :)

  • Thanks chewitt.

    I wanted to give it a try, to see if anything changed since 2022 when I saw a similar post from Netizens, so I took the opportunity to install LE12.1.6 by sky42 .

    Same problem as in 2022:

    Code
    LE12:/dev # cryptsetup open /dev/sdb1 Windisk --type bitlk
    Enter passphrase for /dev/sdb1:
    device-mapper: reload ioctl on Windisk (253:0) failed: Invalid argument
    Cannot activate device, kernel dm-zero module is missing.

    Eventually I decided to setup a new USB disk with ext4 and LUKS2, so that my data in encrypted since I use "syncthing" to spread it on my local network. It won't work when hooked to a Windows box, but at least it shouldn't be that trivial to read the disk if stolen.

    It took some time but I think I suceeded, so if anybody is interested here below are the steps (and please correct me if anything wrong ;)).

    1. format the USB disk with a suitable Linux distro (I used Mint, which gives the opportunity to encrypt with LUKS when formatting the disk, and chose ext4 as file system), and record the passkey you use. Also take note of the UUID of the disk.
    2. edit /etc/crypttab to ensure the disk is "open" when the system boots. In my case I used the UUID to make sure it will work regardless the USB port I connect the disk. Also used a plain text file (/storage/.config/k in this case) to hold the passkey so I don't need to type it every boot. In the example below, the disk is mapped to "SABRENT"

      Code
      HTPC:/etc # more crypttab
      # <target name> <source device>                                 <key file>              <options>
      SABRENT         UUID=24cf6569-8971-4406-975a-231de94a95e7       /storage/.config/k      luks
      
      HTPC:/etc # ls -la /dev/mapper/
      total 0
      drwxr-xr-x    2 root     root            80 Sep 26 11:47 .
      drwxr-xr-x   19 root     root          3820 Sep 26 11:47 ..
      lrwxrwxrwx    1 root     root             7 Sep 26 11:47 SABRENT -> ../dm-0
      crw-------    1 root     root       10, 236 Sep 26 11:47 control
    3. next step would be to modify /etc/fstab to mount the disk at boot, but for reasons I don't know the file is read-only. So I found the example file "cryptsetup.mount.sample" and modified it according to its content. The resulting file in this example is called "storage-HDD250.mount". Remember to launch "systemctl enable storage-HDD250.mount" to ensure the disk is mounted at boot. I also created the directory "/storage/HDD250" where the disk is mounted.

    4. so in the end the disk should be useable by the system when boot is finished.



    Hope it helps, since I'm not an expert on Linux.

    My next challenge will be to setup LE12 on a single internal SATA SSD with two partitions -- LE itself plus a LUKS partition for data & syncthing, so that I can get rid of the USB. Learning.... :P

  • My next challenge will be to setup LE12 on a single internal SATA SSD with two partitions -- LE itself plus a LUKS partition for data & syncthing, so that I can get rid of the USB.

    Well, here is what worked for me.

    Installed LE12 ( sky42 version) on an internal 120GB SSD.

    Then cloned the SSD with Clonezilla, towards a 1TB SSD in USB.

    Ended up with a LE partition (EXT4) and 880GB of free space. With a suitable Linux distro (used Ubuntu to be on safe side), formatted the extra space as EXT4 with LUKS, the swapped the SSD on the LE PC. The rest is the same as in my previous post.

    Did some experiment trying to resize the LE partition, with a Linux distro. Not sure why, but it worked only 1 time, the rest of tests resulted in a "no boot", so it's better to keep the LE partition unchanged.

    Hope it helps.

  • Thanks you so much sky42 !

    Gave it a try, and seems to be working fine! Below my tests with an existing BITLOCKER volume.

  • sky42: ran into some trouble with the version 12.0.1-#241005.

    Some of the video content does not play smooth, video is chunky and frequent audio-video resync.

    Probably something due to the different version of Kodi embedded in this release.

    Switch back to the august version solved the issue.

    Just to let you know... thanks so much anyway for your job! <3


  • *** for testing only ***

    version 12.0.1-#241029-6.11 for Generic-BT2020 only
    download link https://sky42.libreelec.tv/release/12.0/G…20/kernel-6.11/
    based on LE 12.0.1 https://github.com/LibreELEC/LibreELEC.tv/tree/12.0.1

    changelog
    - based on 12.0.1-#241027
    - systemd: update to 255.10
    - libva: update to 2.22.0
    - gmmlib: update to 22.5.2
    - media-driver: update to 24.3.4
    - libva-utils: update to 2.22.0
    - libdrm: update to 2.4.123
    - linux: update to 6.11.5
    - Generic: options for kernel 6.11
    - RTL8192DU: removed, 6.11 uses in tree driver
    - linux: patches for 6.11.4 from master
    - linux (Generic): .config for 6.11.4 from master
    - linux (Generic): .config enable MD, DM and more encryption

    my source diff https://github.com/LibreELEC/Libr…0.1-241029-6.11


  • *** for testing only ***

    version 12.0.1-#241030-6.10 for Generic-BT2020 only
    download link https://sky42.libreelec.tv/release/12.0/G…20/kernel-6.10/
    based on LE 12.0.1 https://github.com/LibreELEC/LibreELEC.tv/tree/12.0.1

    changelog
    - based on 12.0.1-#241027
    - systemd: update to 255.10
    - libva: update to 2.22.0
    - gmmlib: update to 22.5.2
    - media-driver: update to 24.3.4
    - libva-utils: update to 2.22.0
    - libdrm: update to 2.4.123
    - linux: update to 6.10.14
    - Generic: options for kernel 6.10
    - RTL8192DU: removed, 6.10 uses in tree driver
    - linux: patches for 6.10.3 from master
    - linux (Generic): .config for 6.10.3 from master
    - linux (Generic): .config enable MD, DM and more encryption

    my source diff https://github.com/LibreELEC/Libr…0.1-241030-6.10


  • *** for testing only ***

    version 12.0.1-#241031-6.9 for Generic-BT2020 only
    download link https://sky42.libreelec.tv/release/12.0/G…020/kernel-6.9/
    based on LE 12.0.1 https://github.com/LibreELEC/LibreELEC.tv/tree/12.0.1

    changelog
    - based on 12.0.1-#241027
    - systemd: update to 255.10
    - libva: update to 2.22.0
    - gmmlib: update to 22.5.2
    - media-driver: update to 24.3.4
    - libva-utils: update to 2.22.0
    - libdrm: update to 2.4.123
    - linux: update to 6.9.12
    - Generic: options for kernel 6.9
    - RTL8192DU: removed, 6.9 uses in tree driver
    - linux: patches for 6.9.5 from master
    - linux (Generic): .config for 6.9.5 from master
    - linux (Generic): .config enable MD, DM and more encryption

    my source diff https://github.com/LibreELEC/Libr….0.1-241031-6.9

  • i'm really not familiar with the udev process to mount raid arrays on boot, I appreciate this isn't a LibreELEC issue, but can anyone point me in the direction of which rules I would need to create/edit?

    The raid array is assembled at boot

    Code
    LibreELECpc:/sys/devices/virtual/block/md0/md # journalctl | grep md0
    Nov 01 06:09:16 LibreELECpc kernel: md/raid1:md0: active with 2 out of 2 mirrors
    Nov 01 06:09:16 LibreELECpc kernel: md0: detected capacity change from 0 to 976508928
    Nov 01 06:09:16 LibreELECpc systemd[1]: Started [email protected].
    Nov 01 06:09:16 LibreELECpc systemd[1]: [email protected]: Deactivated successfully.
    Nov 01 06:09:16 LibreELECpc systemd[1]: Stopped [email protected].
    Code
    LibreELECpc:/usr/lib/udev/rules.d # fsck /dev/md0
    fsck from util-linux 2.39.3
    e2fsck 1.47.0 (5-Feb-2023)
    /dev/md0: clean, 12/30523392 files, 2197339/122063616 blocks

    again any pointers would be so helpfull :)