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.

AM3352: Failed to install "usermod" command in "shadow-sysroot" recipe.

Part Number: AM3352


Hello,

I tried to install  "usermod" command, but got fail. (I'm using SDK8.2.)

I added "shadow-sysroot" to IMAGE_INSTALL_append in local.conf, and executed build command of bitbake like  "bitbake tisdk-base-image".

Then, I got an error as following. ( The attached file are the complete log file and the local.conf which I'm using. )

ERROR: Task do_populate_sdk in /home/rmu/tisdk2/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-base-image.bb rdepends upon non-existent task do_package_write_ipk in /home/rmu/tisdk2/sources/oe-core/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
ERROR: Command execution failed: 1

Could you  teach me how to install "usermod" command ?

NOTE: Started PRServer with DBfile: /home/rmu/tisdk2/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 34967, PID: 21045
NOTE: Resolving any missing task queue dependencies
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-locale)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-localedatas)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-charmaps)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 9.2% of gdb not available (for item gdbserver)
WARNING: versions of gdb available: 9.1
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconvs)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item virtual/nativesdk-libiconv)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item virtual/nativesdk-libc)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version arm-9.2% of gcc-crosssdk-x86_64-arago-linux not available (for item virtual/x86_64-arago-linux-gcc-crosssdk)
WARNING: versions of gcc-crosssdk-x86_64-arago-linux available: 12.1.0 arm-11.2
WARNING: preferred version 2.35% of binutils-crosssdk-x86_64-arago-linux not available (for item virtual/x86_64-arago-linux-binutils-crosssdk)
WARNING: versions of binutils-crosssdk-x86_64-arago-linux available: 2.34
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item virtual/nativesdk-libintl)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version arm-9.2% of nativesdk-gcc-runtime not available (for item virtual/nativesdk-x86_64-arago-linux-compilerlibs)
WARNING: versions of nativesdk-gcc-runtime available: 12.1.0 arm-11.2
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item nativesdk-glibc-utils)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm851)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm865)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version arm-9.2% of nativesdk-libgcc not available (for item nativesdk-libgcc)
WARNING: versions of nativesdk-libgcc available: 12.1.0 arm-11.2
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm737)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm869)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm850)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm862)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm857)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item nativesdk-ldconfig)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm866)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm437)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 9.2% of gdb not available (for item gdb-dev)
WARNING: versions of gdb available: 9.1
WARNING: preferred version 2.32% of nativesdk-glibc not available (for item nativesdk-glibc-dev)
WARNING: versions of nativesdk-glibc available: 2.35
WARNING: preferred version 9.2% of gdb not available (for item gdb)
WARNING: versions of gdb available: 9.1
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm852)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm863)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm855)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm861)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm860)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version 2.32% of nativesdk-glibc-locale not available (for item nativesdk-glibc-gconv-ibm775)
WARNING: versions of nativesdk-glibc-locale available: 2.35
WARNING: preferred version arm-9.2% of nativesdk-libgcc not available (for item nativesdk-libgcc)
WARNING: versions of nativesdk-libgcc available: 12.1.0 arm-11.2
WARNING: preferred version arm-9.2% of gcc-crosssdk-x86_64-arago-linux not available (for item virtual/x86_64-arago-linux-g++-crosssdk)
WARNING: versions of gcc-crosssdk-x86_64-arago-linux available: 12.1.0 arm-11.2
WARNING: preferred version arm-9.2% of nativesdk-libgcc-initial not available (for item nativesdk-libgcc-initial)
WARNING: versions of nativesdk-libgcc-initial available: 12.1.0 arm-11.2

Build Configuration:
BB_VERSION           = "1.46.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "ubuntu-16.04"
TARGET_SYS           = "arm-linux-gnueabi"
MACHINE              = "am335x-evm"
DISTRO               = "arago"
DISTRO_VERSION       = "2021.09"
TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU           = "hard"
meta-processor-sdk   = "rmu:30695ba2c22b83c1d442b09955dfe865767db646"
meta-arago-distro    
meta-arago-extras    = "rmu:bc567268b90f7c9b62c8d603c97df669f8ee59ca"
meta-qt5             = "rmu:d5083424cae7bfb6cabff4bc285dd5c33cc464c1"
meta-virtualization  = "rmu:080cae941a8d85495ebeeee548be17cf423cb9c8"
meta-networking      
meta-python          
meta-oe              
meta-gnome           
meta-filesystems     
meta-webserver       = "rmu:780cd4eb9e146dabf5873b027018a509c53994d9"
meta-ti              = "rmu:190993365e27ed69f15b24373ecdf41e11ad46a2"
meta-arm             
meta-arm-toolchain   = "rmu:b2f964b379c8c24ac962db42a08ec58634dd20cb"
meta                 = "rmu:01895493297f7cab01d0a2fabb9336d3dcbd579b"

ERROR: Task do_populate_sdk in /home/rmu/tisdk2/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-base-image.bb rdepends upon non-existent task do_package_write_ipk in /home/rmu/tisdk2/sources/oe-core/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
ERROR: Command execution failed: 1

# CONF_VERSION is increased each time build/conf/ changes incompatibly
CONF_VERSION = "1"

#
# Where to place downloads
#
# During a first build the system will download many different source code
# tarballs from various upstream projects. This can take a while, particularly
# if your network connection is slow. These are all stored in DL_DIR. When
# wiping and rebuilding you can preserve this directory to speed up this part
# of subsequent builds. This directory is safe to share between multiple builds
# on the same machine too.
DL_DIR = "/home/rmu/tisdk2/downloads"

#
# Where to place shared-state files
#
# BitBake has the capability to accelerate builds based on previously built
# output. This is done using "shared state" files which can be thought of as
# cache objects and this option determines where those files are placed.
#
# You can wipe out TMPDIR leaving this directory intact and the build would
# regenerate from these files if no changes were made to the configuration.
# If changes were made to the configuration, only shared state files where the
# state was still valid would be used (done using checksums).
SSTATE_DIR = "${OEBASE}/build/sstate-cache"

#
# Shared-state files from other locations
#
# As mentioned above, shared state files are prebuilt cache data objects which
# can be used to accelerate build time. This variable can be used to configure
# the system to search other mirror locations for these objects before it
# builds the data itself.
#
# This can be a filesystem directory, or a remote url such as http or ftp.
# These would contain the sstate-cache results from previous builds (possibly
# from other machines). This variable works like fetcher MIRRORS/PREMIRRORS
# and points to the cache locations to check for the shared objects.
#SSTATE_MIRRORS ?= "\
#file://.* http://someserver.tld/share/sstate/ \n \
#file://.* file:///some/local/dir/sstate/"

#
# Where to place the build output
#
# This option specifies where the bulk of the building work should be done and
# where BitBake should place its temporary files and output. Keep in mind that
# this includes the extraction and compilation of many applications and the toolchain
# which can use Gigabytes of hard disk space.
TMPDIR = "${TOPDIR}/arago-tmp"

# By default, DEPLOY_DIR is inside TMPDIR, but can be changed here to be outside
#DEPLOY_DIR = "${TOPDIR}/deploy"

#
# Machine Selection
#
# You need to select a specific machine to target the build with. There are a selection
# of emulated machines available which can boot and run in the QEMU emulator:
#
MACHINE ?= "am335x-evm"

#
# Package Management configuration
#
# This variable lists which packaging formats to enable. Multiple package backends 
# can be enabled at once and the first item listed in the variable will be used 
# to generate the root filesystems.
# Options are:
#  - 'package_deb' for debian style deb files
#  - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
#  - 'package_rpm' for rpm style packages
# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
# We default to ipk:
PACKAGE_CLASSES ?= "package_ipk"

#
# SDK/ADT target architecture
#
# This variable specified the architecture to build SDK/ADT items for and means
# you can build the SDK packages for architectures other than the machine you are 
# running the build on (i.e. building i686 packages on an x86_64 host._
# Supported values are i686 and x86_64
SDKMACHINE ?= "x86_64"

#
# Extra image configuration defaults
#
# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated 
# images. Some of these options are added to certain image types automatically. The
# variable can contain the following options:
#  "dbg-pkgs"       - add -dbg packages for all installed packages
#                     (adds symbol information for debugging/profiling)
#  "dev-pkgs"       - add -dev packages for all installed packages
#                     (useful if you want to develop against libs in the image)
#  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
#  "tools-debug"    - add debugging tools (gdb, strace)
#  "tools-profile"  - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
#  "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
#  "debug-tweaks"   - make an image suitable for development
#                     e.g. ssh root access has a blank password
# There are other application targets that can be used here too, see
# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
# We default to enabling the debugging tweaks.
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-debug read-only-rootfs ssh-server-openssh"
IMAGE_INSTALL_append = " gdbserver openssh-sftp-server net-snmp net-snmp-server net-snmp-dev nodejs mmc-utils rsyslog sqlite3 ntp ntpdate tree python3-flask python3-django python3-djangorestframework tzdata procps python3-pytest python3-pip python3-gunicorn nginx zip unzip rsync perl-module-io-file perl-module-data-dumper perl-module-file-copy perl-module-net-smtp perl-module-posix perl-module-file-temp perl-module-filehandle shadow-sysroot"
VOLATILE_LOG_DIR = "no"
TARGET_CPPFLAGS += "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64"

#
# Additional image features
#
# The following is a list of additional classes to use when building images which
# enable extra features. Some available options which can be included in this variable 
# are:
#   - 'buildstats' collect build statistics
#   - 'image-mklibs' to reduce shared library files size for an image
#   - 'image-prelink' in order to prelink the filesystem image
#   - 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
USER_CLASSES ?= "buildstats image-mklibs image-prelink"

# By default disable interactive patch resolution (tasks will just fail instead):
PATCHRESOLVE = "noop"

# Qemu 0.12.x is giving too much problems recently (2010.05), so disable it for users
ENABLE_BINARY_LOCALE_GENERATION = "0"

# By default the machine configuration file sets the IMAGE_FSTYPES.  But if you
# would like to add additional file system types you can uncomment the
# following line and add the additional IMAGE_FSTYPES you want created
# as part of the build flow.  Some common types are listed below and you
# can remove the ones you do not want.
# IMAGE_FSTYPES += "jffs2 cramfs ext2.gz ext3.gz squashfs ubi tar.gz tar.bz2 cpio"

#
# Parallelism Options
#
# These two options control how much parallelism BitBake should use. The first 
# option determines how many tasks bitbake should run in parallel:
#
BB_NUMBER_THREADS ?= "3"
# 
# The second option controls how many processes make should run in parallel when
# running compile tasks:
#
PARALLEL_MAKE ?= "-j 3"
#
# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
# be appropriate for example

DISTRO   = "arago"

# Set terminal types by default it expects gnome-terminal
# but we chose xterm
TERMCMD = "${XTERM_TERMCMD}"
TERMCMDRUN = "${XTERM_TERMCMDRUN}"

# Don't generate the mirror tarball for SCM repos, the snapshot is enough
BB_GENERATE_MIRROR_TARBALLS = "0"

# Uncomment this to remove work directory after packaging to save disk space
#INHERIT += "rm_work"

# Keep one set of images by default
RM_OLD_IMAGE = "1"

# Enable local PR service for binary feeds
PRSERV_HOST = "localhost:0"

# It is recommended to activate "buildhistory" for testing the PR service
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

  • Hi!

    there's already an 'usermod' tool part of the standard SDK image. So you want to use the 'shadow-sysroot' package to replace that command, correct?

    ~/tisdk/am335x-evm/build (dev)
    $ tar -tvf arago-tmp-external-arm-glibc/deploy/images/am335x-evm/tisdk-default-image-am335x-evm.tar.xz | grep usermod
    -rwxr-xr-x 0/0           76628 2022-09-21 13:38 ./usr/sbin/usermod

    Regards, Andreas

  • Hello,

    Thank you for advice.
    I installed the usermod command in "tisdk-default-image-am335x-evm.tar.xz", then confirmed that usermod can be executed on our target board properly.

    I'd also like to know how to build and install the usermod command using "bitbake tisdk-base-image", because I think that it is smarter way to use only bitbake. Could you teach me that ?

  • Hi Uegaki-san,

    I installed the usermod command in "tisdk-default-image-am335x-evm.tar.xz", then confirmed that usermod can be executed on our target board properly.

    What exactly did you do to achieve this? My apologies but I'm still unclear what exactly your end goal is. If you can describe this in more detail we can find a way to accomplish this through the Yocto bitbake process.

    Thanks, Andreas

  • Hello,

    Thank for reply.

    I read this page "">software-dl.ti.com/.../Overview_Building_the_SDK.html. And confirmed that "tisdk-base-image" target is suit for our target board.

    We need to make some modifications to "tisdk-base-image" build system, and customize "local.conf" to install some recipes which we need for our target board. For example, busybox configuration patch to support more commands, "IMAGE_INSTALL_append" description in "local.conf" to install additional recipes.

    So, I think that it is smarter way to use "usermod" command in "tisdk-base-image-am335x-evm.tar.xz" created by "bitbake tisdk-base-image" than the way to use "usermod" command in "tisdk-default-image-am335x-evm.tar.xz" that you mentioned above.  Am I making sense ?

    But, the problem is that "bitbake tisdk-base-image" command failed after adding "shadow-sysroot" to IMAGE_INSTALL_append in "local.conf".

  • Hello,

    Do you have any idea to solve the issue above ?

  • Hi Uegagi-san,

    So, I think that it is smarter way to use "usermod" command in "tisdk-base-image-am335x-evm.tar.xz" created by "bitbake tisdk-base-image" than the way to use "usermod" command in "tisdk-default-image-am335x-evm.tar.xz" that you mentioned above.  Am I making sense ?

    I just checked, the tisdk-base-image also includes the 'usermod' command by default, just like the tisdk-default-image discussed before.

    ~/tisdk/am335x-evm/build (dev)
    $ tar -tvf arago-tmp-external-arm-glibc/deploy/images/am335x-evm/tisdk-base-image-am335x-evm.tar.xz | grep usermod
    -rwxr-xr-x 0/0           76628 2022-09-21 13:38 ./usr/sbin/usermod

    Why do you want to add it if it's already there?

    Regards, Andreas

  • Hello,

    Thank you for reply.

    I didn't check whether "usermod" is installed in "filesystem/tisdk-base-image-am335x-evm.tar.xz" of "ti-processor-sdk-linux-am335x-evm-08.02.00.24-Linux-x86-Install.bin". I'm sorry.

    But, I checked that "usermod" was not installed in "tisdk-base-image-am335x-evm.tar.xz" created by "bitbake tisdk-base-image".

    It's strange. So, I have to investigate this issue in detail.

    Please close this issue. If I need your support again, I will create a related question. Thank you.