Posts by matthuo


    Thanks a lot for such a detailed explanation.

    Because it is my first time to do the adaptation of new device, so many are not clear, can you explain it in detail?

    a) What are the upstream kernel sources? My current DTS is obtained from the Repositories supported by the current board . In addition, in which environment is dtb built?

    b) For the u-boot config file, I got the file named xxxx_defconfig from the current board wiki support library, is it this file?

    c) "ensure those patches apply on-top of existing LE package patches", how to do this specifically?

    e) Is there a specific smaple you can refer to?

    Hello,

    I have a 3399 based board and I also have a DTS file that I want to add to LE and then generate the corresponding firmware.

    Is it correct to modify the three places of source/u-boot/ in LE? That is, add the DTS file, modify the Makefile, and then add defconfig . Then make a Patch, and then build, is it enough?

    What is the naming rule in LE of the patch file?

    The build-system unpacks sources for a package, then applies diff patches in alphanumeric sequence before building the package. Patches follow a naming convention and need to be in diff format; patches are relative to the root folder of the unpacked sources.

    See LibreELEC.tv/packages/linux-driver-addons/dvb/crazycat/patches at master · LibreELEC/LibreELEC.tv · GitHub for examples. If you're working on 'Generic' (4.14 kernel) ignore the amlogic folders which are specific to other kernels (although the format is the same).


    What are the specific naming rules? I'm currently doing a Patch, what is the correct naming convention?

    In addition, the purpose of my Patch is to add DTS to support the new RK3399 device. Would like to ask, is it possible to replace the new package in source/u-boot/? Specifically, I changed the Makefile, added the DTS file, and added the defconfig file. That should be fine, right?

    Enabling EXT4 filesystem encryption config results in a kernel that supports EXT4 encrypted filesystems. You would still need to modify LE to use an encrypted EXT4 filesystem within the squashfs SYSTEM file. Adding fscryptctl adds a tool to manage encryption, but since this tool is inside a read-only file (SYSTEM) it will not be able to modify the active SYSTEM file. Making LE boot from an encrypted SYSTEM file is probably not impossible (but there is no how-to, so don't ask) but I wouldn't see any advantage to that approach over using sky42 images which can provide encyption to /storage where you can place any sensitive binaries/configuration/content.

    Thank you very much for your meticulous reply.

    But there is a question. After I use @sky42's image, how to encrypt and decrypt files specifically, is there a help manual? In addition, after the script file is encrypted, will it be decrypted when the system is executed?

    It may be that something is wrong with the decompression, and it will be normal after doing it again.

    In addition, I would like to ask, if the SYSTEM is encrypted (maybe it can be encrypted when compressed), is it possible to provide the key when the system is started for decryption? Where should this KEY be placed? What script uses this key to decompress?

    My purpose is to protect SYSTEM, and I don't want a third party to decompress it.

    The image error is generated below, it is due to the lack of dtb file, is it because ARCH=arm64 is selected in the menuconfig configuration, which causes this error?


    Successful build, creating image...

    Parallel mksquashfs: Using 2 processors

    Creating 4.0 filesystem on /home/matt/http://LibreELEC.tv/target/LibreELEC-RPi4.arm-10.0-devel-20210413080833-c5d7822.system, block size 1048576.

    [==============================================================================================================================================================================================================/] 7327/7327 100%

    Exportable Squashfs 4.0 filesystem, zstd compressed, data block size 1048576

    compressed data, compressed metadata, compressed fragments,

    no xattrs, compressed ids

    duplicates are removed

    Filesystem size 111889.52 Kbytes (109.27 Mbytes)

    37.11% of uncompressed filesystem size (301542.07 Kbytes)

    Inode table size 78152 bytes (76.32 Kbytes)

    25.31% of uncompressed inode table size (308790 bytes)

    Directory table size 91863 bytes (89.71 Kbytes)

    41.49% of uncompressed directory table size (221406 bytes)

    Number of duplicate files found 172

    Number of inodes 9339

    Number of files 7231

    Number of fragments 194

    Number of symbolic links 721

    Number of device nodes 0

    Number of fifo nodes 0

    Number of socket nodes 0

    Number of directories 1387

    Number of ids (unique uids + gids) 2

    Number of uids 1

    root (0)

    Number of gids 2

    root (0)

    unknown (81)

    Running /home/matt/http://LibreELEC.tv/packages/tools/bcm2835-bootloader/release

    cp: cannot stat '/home/matt/http://LibreELEC.tv/build.LibreELEC-RPi4.arm-10.0-devel/image/system/usr/share/bootloader/*.dtb': No such file or directory

    *********** FAILED COMMAND ***********

    . ${FOUND_PATH}

    **************************************

    make: *** [Makefile:12:image] Error1

    If you run LE 10 then leave gpu_mem at the default (76MB). It's only needed for H.264 hardware decoding. Setting it higher just wastes memory.

    so long,

    Hias

    Does LE10 dynamically adjust GPU_MEM?Not sure if the video plugin will be used on the GPU (according to the Netflix plugin, it probably won't), so I hope it can be adjusted dynamically.

    In addition, stopping a docker container will cause a LE10 restart. Does this have anything to do with the fact that the GPU_MEM setting is still high?For now, though, the default is still 76.