Posts by BrenkeM

    Hi.


    That would be great. Because only to replace the *.fs files does not seems to work and the uuu-*.exe displays an error.

    I could fix the issue in the meantime with reflashing the NBOOT and UBOOT after I flashed the ROOTFS image.


    Thanks.

    I performed to recover NBOOT and UBOOT according the documentation. I successfully was able to go back to the uboot command line interface and installed the image from the release package (directory: binaries) via the command "update usb install.scr". The boot was also a success but after a restart/reboot from LINUX the board was bricked again (see [1] for full log):


    mmc_load_image_raw_sector: mmc block read error

    Booting from MMC1 failed

    SPL: failed to boot from all boot devices


    I tested it multiple times and with two separate SKITs. But always the same result.

    Please assist to permanantly recover the board.


    Thanks.


    [1]:recovery.txt


    I checked out the BUILDROOT symboles and noticed that the i.MX platform (imx6sl/imx6sx) ---> has only a GPU but no VPU. According [1], the i.MX 6SoloX Processor contains a Vivante GC400T GPU, which is not a VPU. Regarding this information, I configured the BUILDROOT system according [2] and the Linux Kernel according [3].


    [1]:

    https://www.nxp.com/products/p…d-cortex-m4-cores:i.MX6SX


    [2]:


    [3]:

    I wand to accelerate video decoding via ffmpeg using the internel imx6 VPU on the efusA9X module. Currently ffmpeg is running on our headless system and does all decoding in software (CPU). But I want wo enable hardware acceleration using the internel VPU. Is there any detailed instructions how to achive this? I currently researched the following links:



    libimxvpuapi - frontend for i.MX hardware video codecs:

    https://github.com/Freescale/libimxvpuapi


    i.MX 6Dual/6Quad VPU Application Programming Interface Linux Reference Manual:

    https://hands.com/~lkcl/eoma/i…_API_RM_L3.0.35_1.1.0.pdf

    To adapt the buildroot configuration for using the mainline kernel I changed the following parts:


    - changed linux folder (linux-fsimx6sx) to git repo of mainline kernel

    - prepair the changes under [1]

    - build image and load according uboot procedure under [0]


    [0]:

    Starting and running system completely in RAM (from UBOOT)


    [1]:

    Sometime it would be nice to only run the current release of a F+S module with a mainline kernel, for example to check if bugs where fixed in newer versions or to develop patches for pushing them to the mainline source code later.


    What do we need to do, to build and run the current buildroot fsimx6sx-B2019.11 release with the current mainline kernel (5.18.0) from https://github.com/torvalds/linux?

    To simplify the procedure above, I recommend to prepare a cpio image:


    Then you can (for example on a efusA9X module) run the following commands in the uboot shell:

    Code
    1. tftpboot . zImage
    2. tftpboot ${fdtaddr} efusa9x.dtb
    3. tftpboot 83000000 rootfs.cpio.uboot
    4. setenv bootargs "console=ttymxc0,115200 login_tty=ttymxc0,115200 root=/dev/ram0 ramdisk_size=0x${filesize} rootfstype=cpio rw"
    5. bootz 81000000 83000000 82000000

    To run a system without any ROM completely in RAM, on a efusa9x module, I tried the following steps, but failed to load the ROOTFS in the RAM from the LINUX kernel.


    Following the steps here to configured a minimal system and started it from RAM:

    https://imxdev.gitlab.io/tutor…o_boot_imx_using_ramdisk/


    The used buildroot configuration for the filesystem is the following:


    And starting the system with the following UBOOT commands leads to the error under [1]:




    [1]:



    P.s.:

    Additional I tried to define the ROOTFS by its address and size like mentioned here:

    https://lists.denx.de/pipermail/u-boot/2009-June/054782.html


    Code
    1. tftpboot . ${bootfile}
    2. tftpboot ${fdtaddr} ${bootfdt}
    3. tftpboot 83000000 rootfs.ext2.gz.uboot
    4. #setenv initrd_size ${filesize}
    5. #setenv bootargs 'console=ttymxc0,115200 login_tty=ttymxc0,115200 root=/dev/ram rw'
    6. setenv bootargs "console=ttymxc0,115200 login_tty=ttymxc0,115200 root=/dev/ram0 rd_start=83000000 rd_size=${filesize} rootfstype=ext2 rw"
    7. bootz 81000000 83000000 82000000

    But this results in the same error as in [1].



    How can I successfully let the kernel find the root filesystem?

    Hi, do you build your LINUX system with Buildroot or Yocto?


    For buildroot simple set the following option to include the ssh server into your build:



    Afterwards, build the image again and load it to the system, than you should check the following directory on your embedded system:

    Code
    1. $ ls /etc/init.d/
    2. rcK … S50dropbear … rcS

    To patch the kernel we can simple follow one of the tutorials online (see [1]).


    But for the kernel version 4.9.88 we can not find a matching rt patch. But a older one is working nice for this issue, see [2].


    This will patch the kernel ready for compilation, but it is recommended to adjust the realtime priorities, see [3] for this. Otherwise a realtime application can sporadically block your system.


    I also attached both patches for every one how wants to use it.


    RT_patches.zip


    [1]:

    https://stackoverflow.com/ques…rt-linux-patch-for-ubuntu


    [2]:

    https://mirrors.edge.kernel.or…atch-4.9.84-rt62.patch.gz


    [3]:

    https://stackoverflow.com/ques…td-in-linux-with-rt-patch