OpenEmbedded/Yocto for UDOO Boards

Discussion in 'Yocto' started by graugans, Nov 7, 2015.

  1. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    Yes, I found that eCryptFS is the layer on ext4 in Ubuntu. I'll try to build it out of home directory :/
     
  2. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    @graugans , @wurstmann

    i made some research about my problem. That i know is that udoo neo and quad work fine with lvds7. Then i compare this 3 files :
    - imx6qdl-seco_SBC_A62.dtsi
    - imx6sx-udoo-neo-lvds7.dsi
    - imx6q-udoo-lvds7.dts

    for neo with lvds7 i have this part of code :
    &ldb {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_ldb_0>;
    lcd-supply = <&reg_lcd_pwr
    &reg_lcd_bl>;
    status = "okay";

    lvds-channel@0 {
    fsl,data-mapping = "spwg";
    fsl,data-width = <18>;
    crtc = "lcdif2";
    status = "okay";

    display-timings {
    native-mode = <&timing2>;
    timing2: LDB-WVGA {
    clock-frequency = <33660000>;
    hactive = <800>;
    vactive = <480>;
    hback-porch = <56>;
    hfront-porch = <50>;
    vback-porch = <23>;
    vfront-porch = <20>;
    hsync-len = <150>;
    vsync-len = <2>;
    };
    };
    };
    };

    for quad :
    &ldb {
    status = "okay";
    lvds-channel@0 {
    status = "okay";
    fsl,data-width = <18>;
    display-timings {
    native-mode = <&timing0>;
    timing0: 800x480 {
    clock-frequency = <33660000>;
    hactive = <800>;
    vactive = <480>;
    hback-porch = <56>;
    hfront-porch = <50>;
    vback-porch = <23>;
    vfront-porch = <20>;
    hsync-len = <150>;
    vsync-len = <2>;
    };

    };

    };
    };

    for seco a62 :
    &ldb {
    status = "okay";

    lvds-channel@0 {
    reg = <0>;
    fsl,data-mapping = "spwg";
    fsl,data-width = <18>;
    status = "okay";
    primary;

    display-timings {
    native-mode = <&timing0>;

    timing0: LDB-WVGA {
    clock-frequency = <38000000>;
    hactive = <800>;
    vactive = <480>;
    hback-porch = <56>;
    hfront-porch = <50>;
    vback-porch = <20>;
    vfront-porch = <53>;
    hsync-len = <180>;
    vsync-len = <30>;
    };

    On SA62 they have 6 timing compare to neo/quad only one ! The clock frequency is different and some another variables.

    My question is : Do you think i can replace the sa62 definition ldb by neo ldb ?

    @Francesco and @SECO_FAE if you can help for this ...
     
    Last edited: Sep 13, 2016
  3. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    I was able to disable eCryptfs but I still have errors. The last one is:
    Code:
    ERROR: glibc-2.23-r0 do_package: QA Issue: glibc: Files/directories were installed but not shipped in any package:
      /usr/share
    Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
    glibc: 1 installed and not shipped files. [installed-vs-shipped]
    ERROR: glibc-2.23-r0 do_package: Fatal QA errors found, failing task.
    ERROR: glibc-2.23-r0 do_package: Function failed: do_package
    ERROR: Logfile of failure stored in: ~/Documents/VestaOS/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/glibc/2.23-r0/temp/log.do_package.10672
    ERROR: Task 659 (~/Documents/VestaOS/sources/poky/meta/recipes-core/glibc/glibc_2.23.bb, do_package) failed with exit code '1'
    I do have glibc installed:
    Code:
    sudo apt-get install build-essential
    I've found an answer here: https://lists.yoctoproject.org/pipermail/yocto/2016-January/028127.html
    But this is really obscure.
     
  4. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    Looks like I missed a lot of postings during my vacation. I am slowly booting up. (I have a lot of work at home )
     
    Andrea Rovai likes this.
  5. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    I moved from Jethro to Krogoth and everything works fine now :)
    I'll read the user manual to get into BitBake syntax and structure.
     
    modjo and Andrea Rovai like this.
  6. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    I've read the BitBake manual and a large part of the Yocto Mega-Manual so I have some remarks/questions to be able to contribute to the meta-udoo project.

    According to what I've understood Poky is the name of the Yocto-Project main project and it's based on OpenEmbedded. So to start a project we should start with Poky. When I look at the Freescale Community BSP, they seems to mix Poky, OpenEmbedded recipes and some of their own recipes. OpenEmbedded is part of Poky so that redondancy really confuses me. It is even more confusing as recipes are outside of the source directory (poky/) but inside a non-standard "sources/" directory. Why is that so messy?

    In the FSL recipes, there is a main meta-fsl-arm directory, a meta-fsl-arm-extra directory and a meta-fsl-demos directory. meta-fsl-demos should be optionnal, like a demo, but it's not! If I try to remove it from the build/conf/bblayers.conf file, it doesn't compile. Why using so many recipes with strange dependencies? For example for the Toradex boards they only use poky and simply clone meta-fsl-arm and meta-toradex inside poky/ : https://www.toradex.com/blog/the-yocto-projects-reference-distribution-poky-on-toradex-hardware
    It seems to be the most simple (I mean undestandable) and the most lightweight possible project.

    Your meta-udoo repository is great but I do not get why you explain in your wiki how to manually modify some configuration files as BitBake is designed to automatically use the good ones or at least patch them. Did you build your meta-udoo directory with the yocto-bsp script? Why does it install X11 and Wayland by default on an embedded system?

    During the build, I've seen a lot of packages compiled and installed that are probably useless for most the the users. Which packages does it install and why not using a down to top approach (minimal requirements with additional packages if necessary)? Where is the list of those installed packages?

    Thanks a lot for your answers :)
     
  7. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    Last edited: Oct 10, 2016
    Andrea Rovai likes this.
  8. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    I've made some progress in my understanding of OpenEmbedded but I still have questions/remarks:
    • Which image should I build to run Qt5 apps on my device, udoo-image-full-cmdline or udoo-image-qt5?
    • Does it support 7" touchscreen?
    • The branch of U-Boot for the UDOO Quad/Dual has changed to 2015.10.fslc-qdl so it doesn't compile anymore.
     
    graugans likes this.
  9. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    Have they changed again? Or you may have to update your local copy of meta-udoo

    Gesendet von meinem FP2 mit Tapatalk
     
  10. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    They changed again I suppose, as the patch to remove dts folder doesn't work on UDOO Quad/Dual.

    You probably must add a specific branch variable in your u-boot recipe for UDOO Quad/Dual.

    Other remark: personnaly, I moved psplash to recipes-core instead of recipes-bsp to fit the parent structure in poky.

    Other question: what are
    • dtc
    • mmc-utils
    • i2c-tools
    • screen
    • imx-gpu-viv
    • binutils
    • imx-gpu-viv-demos
    for in udoo-image-full-cmdline? Those packages are absent from udoo-image-qt5.
    Are packagegroup-fsl-tools-* mandatory?
     
    Last edited: Oct 14, 2016
    graugans likes this.
  11. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    @cyrilf, at first congratulation for your effort to understand how works yocto before ask questions (and i know it's difficult at first and take times ... i'm already learning on it ! Thanks to Graugans for his helps). Otherwise for your question about uboot, the actual branch in yocto is 2015.04.imx and it compile fine for me (i have tested it this week). Perhaps you have change the branch in your local repo ?
    Another point, if you find some issues or/and make patch don't hesitate to use github, Graugans and me use it a lot at the moment ;)
     
  12. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    @modjo it is not impossible that they have changed. You can verify with a bitbake u-boot -cleansstate && bitbake u-boot

    Gesendet von meinem FP2 mit Tapatalk
     
  13. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    @graugans, for the moment i'm using secoA62 machine to try to resolve the issue with sdk !:confused:
    i make an image for udoo-quad on thursday this week and this work fine but i have just relaunch a build of uboot now for udooqdl to check ...
     
    graugans likes this.
  14. modjo

    modjo Active Member

    Joined:
    Sep 29, 2014
    Messages:
    417
    Likes Received:
    127
    @graugans and @cyrilf the build work fine for me with the default branch for udooqdl (2015.04.imx)
    Code:
    modjo@Linux-corei5:/media/modjo/data1TO/yocto/meta-modjo/udooqdl$ bitbake u-boot
    Parsing recipes: 100% |###################################################################################################################################################################################| Time: 00:01:16
    Parsing of 2014 .bb files complete (0 cached, 2014 parsed). 2580 targets, 198 skipped, 0 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies
    
    Build Configuration:
    BB_VERSION        = "1.30.0"
    BUILD_SYS         = "x86_64-linux"
    NATIVELSBSTRING   = "Ubuntu-15.10"
    TARGET_SYS        = "arm-poky-linux-gnueabi"
    MACHINE           = "udooqdl"
    DISTRO            = "poky"
    DISTRO_VERSION    = "2.1.1"
    TUNE_FEATURES     = "arm armv7a vfp thumb neon       callconvention-hard       cortexa9"
    TARGET_FPU        = "hard"
    meta             
    meta-poky         = "HEAD:40f4a6d075236265086cc79400dea3c14720383a"
    meta-oe           
    meta-multimedia   
    meta-python       
    meta-networking   
    meta-ruby         = "HEAD:851a064b53dca3b14dd33eaaaca9573b1a36bf0e"
    meta-fsl-arm      = "HEAD:568edf983f52823398262a8266955a17fa9c60fa"
    meta-fsl-arm-extra = "HEAD:e95f4ae61fdaf6452d6dfa9cb59dbdf9cdf73c99"
    meta-fsl-demos    = "HEAD:a165068f8a0d1cf29aabe4b4053f28be1c2aa492"
    meta-udoo-modjo   = "HEAD:2857f18771488c19bcf402e92d3c89b646e1a2b9"
    meta-qt5          = "HEAD:9aa870eecf6dc7a87678393bd55b97e21033ab48"
    
    NOTE: Preparing RunQueue
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Tasks
    NOTE: Tasks Summary: Attempted 359 tasks of which 0 didn't need to be rerun and all succeeded.
    modjo@Linux-corei5:/media/modjo/data1TO/yocto/meta-modjo/udooqdl$ bitbake u-boot
    
     
  15. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    Thanks @modjo I did also some clean build. @cyrilf you may need to run
    Code:
    repo sync
    
    in zour BSP folder

    Code:
    chris@buildr:~/src/udoo-community-bsp$ pwd
    /home/chris/src/udoo-community-bsp
    chris@buildr:~/src/udoo-community-bsp$ ls -all
    total 68
    drwxr-xr-x  6 chris chris  4096 Oct  9 21:40 .
    drwxr-xr-x 12 chris chris  4096 Oct  9 21:33 ..
    drwxr-xr-x  7 chris chris  4096 Oct 12 14:34 build
    drwxr-xr-x  4 chris chris 36864 Oct 15 14:01 downloads
    -r--r--r--  1 chris chris  2104 Oct  9 21:36 README
    drwxr-xr-x  7 chris chris  4096 Oct  9 21:36 .repo
    -r-xr-xr-x  1 chris chris  7027 Oct  9 21:36 setup-environment
    drwxr-xr-x 10 chris chris  4096 Oct  9 21:36 sources
    chris@buildr:~/src/udoo-community-bsp$ repo sync
     
  16. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    @cyrilf looks you are right and at least the config name was wrong. I just updated the repo
     
    cyrilf likes this.
  17. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    I forked your repository because I deleted some packages that I consider useless and I wanted to refactor the project to fit the poky conventions.

    I'm now compiling for UDOO Quad/Dual because the u-boot repo moves a lot. It does compile with "udoo_qd_defconfig" but the image won't boot (it crashes and boot again in a loop). You must use the 2015.10.fslc-qdl branch.
    For obscure reasons, the "udoo_qd_defconfig" is still available in the 2015.04.imx branch but it produces a bad U-Boot instance.
    Attention : the config file becomes "udoo_qdl_defconfig" instead of "udoo_qd_defconfig" in the 2015.10.fslc-qdl branch!

    In my fork I removed NFS and rpcbind that could bring security issue. I removed the RTC that is not yet supported by the UDOO team. I added NTPd to sync the date with a time server. I removed some layers. I wrote my own setup script. I move ahead for the bt-firmware and wl18xx repo (bt-firmware patch is not needed anymore).

    My final goal is to build a Qt app with HTML5/JS UI for a LVDS7 touchscreen so I added Qt WebEngine and Qt WebChannel packages to the udoo-image-qt5 image.

    I'm also looking for ssh-server-openssh to use the root password.
     
    Last edited: Oct 15, 2016
    graugans likes this.
  18. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    @cyrilf can you send me a link to your fork? It would be nice to work in the same direction. I may have some inputs. Related to u-boot I thought about using my own fork of u-boot because most of the changes look Android related, what I am not using.

    Changing root password is described here
     
  19. cyrilf

    cyrilf Active Member

    Joined:
    Feb 19, 2015
    Messages:
    168
    Likes Received:
    47
    Yes of course. I don't use `repo` yet so:

    Clone the base repository:
    Code:
    git clone https://gitlab.com/cyrilfr/udoo-yocto-base -b krogoth
    Run the setup script:
    Code:
    cd udoo-yocto-base
    MACHINE=udooneo source setup.sh build
    Build the system:
    Code:
    bitbake udoo-image-full-cmdline
    or
    Code:
    bitbake udoo-image-qt5
    for Qt5 support as well.

    I've already set a root password for popt (system prompt) but it did work for OpenSSH so I changed to Dropbear SSH Server.

    I cannot figure out how I can remove NFS package group. I tried to add
    Code:
    DISTRO_FEATURES_remove = "nfs"
    in conf/local.conf, but it doesn't work.

    I'll probably even use the mainline repository of Linux Kernel and U-Boot that if I'm right, with some patches, support the UDOO boards.
     
    Last edited: Oct 15, 2016
  20. graugans

    graugans Administrator Staff Member

    Joined:
    Sep 17, 2015
    Messages:
    328
    Likes Received:
    141
    This was what I already thought about going to mainline or Yocto std u-boot for quad/dual

    Gesendet von meinem FP2 mit Tapatalk
     

Share This Page