From b96bc188ee00b4ccfb80e5af4fd2f67df22e88fc Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 16 Jun 2024 01:34:52 +0800
Subject: [PATCH] Add ffmpeg support in yocto-image-full

---
 yocto/meta-igkboard/images/yocto-image-full.bb |  156 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 97 insertions(+), 59 deletions(-)

diff --git a/yocto/meta-igkboard/images/yocto-image-full.bb b/yocto/meta-igkboard/images/yocto-image-full.bb
index c87830a..a98c7b4 100644
--- a/yocto/meta-igkboard/images/yocto-image-full.bb
+++ b/yocto/meta-igkboard/images/yocto-image-full.bb
@@ -1,4 +1,4 @@
-SUMMARY = "A console lite image for production"
+SUMMARY = "A multimedia wth full command image for production"
 LICENSE = "MIT"
 
 inherit core-image
@@ -7,68 +7,106 @@
 #IMAGE_OVERHEAD_FACTOR = "1.0"
 #IMAGE_ROOTFS_EXTRA_SPACE = "512000"
 
-## Select Image Features
-IMAGE_FEATURES += " \
-    ssh-server-openssh \
-    hwcodecs \
-    package-management \
-"
-
-CORE_IMAGE_EXTRA_INSTALL += " \
-    packagegroup-base-wifi \
-    packagegroup-core-full-cmdline \
-    packagegroup-tools-bluetooth \
-    packagegroup-fsl-tools-audio \
-    packagegroup-imx-isp \
-    packagegroup-imx-security \
-    packagegroup-fsl-gstreamer1.0 \
-    packagegroup-fsl-gstreamer1.0-full \
-    packagegroup-core-ssh-openssh \
-    openssh-sftp openssh-sftp-server \
-    firmwared \
-"
-
-inherit populate_sdk_qt6_base
-
-CONFLICT_DISTRO_FEATURES = "directfb"
-CORE_IMAGE_EXTRA_INSTALL:append = " packagegroup-qt6-imx tzdata "
-
-CORE_IMAGE_EXTRA_INSTALL:append = " \
-    opencv zbar \
-    gnupg \
-    parted \
-    v4l-utils \
-    inetutils \
-    hostapd \
-    wireless-tools \
-    spitools \
-    alsa-state \
-    expand-rootfs \
-    wpa-conf \
-    pulseaudio-server \
-    xz lrzsz \
-    yavta \
-    libgpiod libgpiod-tools \
-    powertop \
-    dos2unix \
-    rsync \
-    python3 \
-    python3-pip \
-"
-
-# Modify default environment
-modify_env() {
-    echo "alias ls='ls --color=auto'" >> ${IMAGE_ROOTFS}/etc/profile
-}
-ROOTFS_POSTPROCESS_COMMAND += "modify_env; "
-
 inherit extrausers
 # Create the password hash with following command on host:
-# >> mkpasswd -m sha256crypt igkboard -S abcd6789
+# >> mkpasswd -m sha256crypt password -S abcd6789
 # Remember to escape the character $ in the resulting hash
 
-# Set the root password: igkboard
-#PASSWD="\$5\$abcd6789\$vlMo5CC1IJlipoXWQifbiMJ8fZqRIV26EXIi97RxPjC"
+# Set the root password:
+#PASSWD="\$5\$abcd6789\$Vuv1aLz04ZwhxgsB3lOQbwy1XUS6PJ.8h2A7.9HoUd3"
 EXTRA_USERS_PARAMS = "\
     usermod -p '${PASSWD}' root; \
 "
+
+## Select Image Features
+IMAGE_FEATURES += " \
+    hwcodecs \
+    ssh-server-openssh \
+    package-management \
+"
+
+CONFLICT_DISTRO_FEATURES = "directfb"
+
+CORE_IMAGE_EXTRA_INSTALL_BASE += " \
+    packagegroup-base-wifi \
+    packagegroup-imx-isp \
+    packagegroup-imx-security \
+    packagegroup-fsl-tools-audio \
+    packagegroup-core-full-cmdline \
+    packagegroup-tools-bluetooth \
+    packagegroup-core-ssh-openssh \
+    packagegroup-fsl-gstreamer1.0 \
+    packagegroup-fsl-gstreamer1.0-full \
+    packagegroup-fsl-tools-benchmark \
+    packagegroup-fsl-opencv-imx \
+    packagegroup-qt6-modules \
+    packagegroup-misc-utils \
+"
+
+CORE_IMAGE_EXTRA_INSTALL_BASE += " \
+    kernel-modules \
+    firmwared linux-firmware \
+    powertop tzdata ppp vim \
+    xz lrzsz rsync dos2unix \
+    gnupg parted inetutils \
+    hostapd wireless-tools iw \
+    i2c-tools spidev-test spitools \
+    libgpiod libgpiod-tools \
+    fb-test fbgrab libdrm ffmpeg \
+    opencv zbar v4l-utils yavta \
+    alsa-state pulseaudio-server \
+    python3 python3-pip tmux \
+    openssh-sftp openssh-sftp-server \
+    memtester pcsc-tools stunnel ntp \
+    curl evtest cpufrequtils iperf3 \
+    dosfstools ethtool iproute2 modemmanager \
+    e2fsprogs-mke2fs e2fsprogs-resize2fs \
+    cryptodev-module openssl-bin \
+    libsocketcan can-utils canutils \
+"
+
+# For machine igkboard-imx6ull
+CORE_IMAGE_EXTRA_INSTALL = " \
+    ${CORE_IMAGE_EXTRA_INSTALL_BASE} \
+"
+
+# For machine igkboard-imx8mp
+CORE_IMAGE_EXTRA_INSTALL:igkboard-imx8mp = " \
+    ${CORE_IMAGE_EXTRA_INSTALL_BASE} \
+    packagegroup-fsl-tools-gpu \
+    packagegroup-fsl-tools-gpu-external \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \
+    git gcc gcc-symlinks binutils automake cmake autoconf freerdp \
+"
+
+modify_rootfs() {
+
+    # Modify default environment
+    echo "alias ls='ls --color=auto'" >> ${IMAGE_ROOTFS}/etc/profile
+
+    # Update wpa_supplicant service
+    sed -i "/^After=/d" ${IMAGE_ROOTFS}/lib/systemd/system/wpa_supplicant@.service
+}
+
+# Remove unused files in rootfs
+doclean_rootfs() {
+
+    # remove unsed test apps
+    rm -rf ${IMAGE_ROOTFS}/unit_tests
+
+    # remove unsed firmware
+    mkdir -p ${IMAGE_ROOTFS}/lib/firmware/.bak
+
+    mv ${IMAGE_ROOTFS}/lib/firmware/imx* ${IMAGE_ROOTFS}/lib/firmware/.bak
+    mv ${IMAGE_ROOTFS}/lib/firmware/nxp* ${IMAGE_ROOTFS}/lib/firmware/.bak
+    mv ${IMAGE_ROOTFS}/lib/firmware/mediatek ${IMAGE_ROOTFS}/lib/firmware/.bak
+    mv ${IMAGE_ROOTFS}/lib/firmware/mt76* ${IMAGE_ROOTFS}/lib/firmware/.bak
+    mv ${IMAGE_ROOTFS}/lib/firmware/rtl* ${IMAGE_ROOTFS}/lib/firmware/.bak
+
+    rm -rf ${IMAGE_ROOTFS}/lib/firmware/*
+    mv ${IMAGE_ROOTFS}/lib/firmware/.bak/* ${IMAGE_ROOTFS}/lib/firmware/
+    rm -rf ${IMAGE_ROOTFS}/lib/firmware/imx*.elf
+    rm -rf ${IMAGE_ROOTFS}/lib/firmware/.bak
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "modify_rootfs; doclean_rootfs; "

--
Gitblit v1.9.1