This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM625: required meta-webserver layer

Part Number: AM625


Hi, 

I am using apache server.

i need to install apache server in my EVK board for this reason i need meta-webserver layer.

anyone help to find above layer which is compatible to my ti EVK am625.

  • Hi!

    i need to install apache server in my EVK board for this reason i need meta-webserver layer.

    The folder containing the meta-webserver is already part of the SDK Yocto setup. To add this layer you need to edit your conf/bblayers.conf file to add the below line (middle).

    # Layers configured by oe-core-setup script
    BBLAYERS += " \
            /home/a0797059/tisdk/am62xx-evm/sources/meta-tisdk \
    <...snip...>
            /home/a0797059/tisdk/am62xx-evm/sources/meta-openembedded/meta-filesystems \
            /home/a0797059/tisdk/am62xx-evm/sources/meta-openembedded/meta-webserver \
            /home/a0797059/tisdk/am62xx-evm/sources/meta-ti/meta-ti-extras \
    <...snip...>

    Then in order to get apache you can add the below to your conf/local.conf file..

    # Include the Apache 2 webserver in the generated image
    IMAGE_INSTALL:append = " apache2"

    All the above is pretty standard Yocto configuration flow-based. I'd encourage you to review the Yovto developer documentation in detail at https://docs.yoctoproject.org/ , it'll cover topics like adding layers and packages in detail.

    Regards, Andreas

  • Hi

    I followed above steps but getting below error after adding apache2 package in my custome image.

    ERROR: acmh-image-1.0-r0 do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
    then please place them into pkg_postinst_ontarget:${PN} ().
    Deferring to first boot via 'exit 1' is no longer supported.
    Details of the failure are in /home/djadeja/tisdk/build/arago-tmp-default-glibc/work/am62xx_evm-oe-linux/acmh-image/1.0-r0/temp/log.do_rootfs.
    ERROR: Logfile of failure stored in: /home/djadeja/tisdk/build/arago-tmp-default-glibc/work/am62xx_evm-oe-linux/acmh-image/1.0-r0/temp/log.do_rootfs.3610078
    ERROR: Task (/home/djadeja/tisdk/sources/meta-custom-acmh/recipes-example/images/acmh-image.bb:do_rootfs) failed with exit code '1'

  • I followed above steps but getting below error after adding apache2 package in my custome image.

    ERROR: acmh-image-1.0-r0 do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
    then please place them into pkg_postinst_ontarget:${PN} ().
    Deferring to first boot via 'exit 1' is no longer supported.

    I looked into this some more. So by default for our TISDK images they are configured to use a Busybox-provided HTTP server, which basically populates the server's binary file and init scripts and other stuff, for example...

    root@am62pxx-evm:~# ls -al `which httpd`
    lrwxrwxrwx 1 root root 19 Mar  9  2018 /usr/sbin/httpd -> /bin/busybox.nosuid

    ...which is conflicting with when you try to add apache2, as it is trying to provide some of the same files.

    One solution is to disable the Busybox-provided server by changing the Busybox default configuration as follows, which should enable you to build the image successfully:

    $ git diff
    diff --git a/meta-arago-distro/recipes-core/busybox/busybox/defconfig b/meta-arago-distro/recipes-core/busybox/busybox/defconfig
    index 65470bc7..436c0c86 100644
    --- a/meta-arago-distro/recipes-core/busybox/busybox/defconfig
    +++ b/meta-arago-distro/recipes-core/busybox/busybox/defconfig
    @@ -744,7 +744,7 @@ CONFIG_FEATURE_BRCTL_SHOW=y
     # CONFIG_FTPPUT is not set
     # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
     CONFIG_HOSTNAME=y
    -CONFIG_HTTPD=y
    +# CONFIG_HTTPD is not set
     # CONFIG_FEATURE_HTTPD_RANGES is not set
     # CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
     # CONFIG_FEATURE_HTTPD_SETUID is not set

    Also since you are working on an embedded system you should double check if whatever you need can be provided by the existing Busybox HTTP server, as this will be a more lightweight solution.

    Regards, Andreas