תוכנה משובצת מחשב - VisionFive - Mender - Yocto - חלק 2 צילום מסך של מחשב

VisionFive - מנדר - יוקטו

חלק 2 - הגדרה בסיסית שתכלול את Mender

הגדרת Mender Yocto

הגדרת מנדר בסיסית ללוח VisionFive

אנו משתמשים בסניף יוקטו קירקסטון לפיתוח. אנו מניחים שכבר התקנת סביבת פיתוח עובדת והגדרת את הסביבה שלך כמתואר ב- VisionFive - Mender - Yocto - Part 1.

הגדרת שרת Mender

ההתקנה של שרת Mender אינה חלק מסדרת מאמרים זו. עבור סביבת הבדיקה שלנו, התקנו את שרת Mender באמצעות ערכת הלימוד להתקנה עם docker-compose כמתואר בהתקנה עם Docker Compose.

הערה

סוטה לערכת הלימוד, אנו משתמשים באישור CA כללי מותאם אישית שלנו. אם ברצונך לעשות זאת, עליך להעתיק את המפתח הציבורי והפרטי שלך אל '/mender-server/production/keys-generated/cert' לפני הפעלת הפקודה './run up -d'.

לפני שתמשיך, אתה אמור להיות מסוגל להיכנס לשרת Mender מבלי לקבל הודעות שגיאה.

שיבוט מטא-מנדר

עבור לספריית הפוקי שלך - במקרה שלי פוקי-קירקסטון - ושכפל את מאגר המטא-מנדר. מכיוון שעדיין אין סניף קירקסטון, עליך לשכפל את ענף 'המאסטר הבא'.

cd poky-kirkstone
git clone -b master-next https://github.com/mendersoftware/meta-mender.git

local.conf ו- bblayers.conf

העתק bblayers.conf.sample-mender ו- local.conf.sample-mender מספריית meta-interelectronix-visionfive לספריית conf ושנה את שמה ל- bblayers.conf ו- local.conf:

cp ../poky-kirkstone/meta-interelectronix-visionfive/conf/bblayers.conf.sample-mender conf/bblayers.conf
cp ../poky-kirkstone/meta-interelectronix-visionfive/conf/local.conf.sample-mender conf/local.conf

בקובץ bblayers.conf עליך להתאים את הנתיב לספריית poky-kirkstone שלך. מחק גם את השורה '/workdir/poky-kirkstone/meta-interelectronix ' - זה נחוץ רק להתאמה אישית של psplash שלנו.

ההגדרות החשובות ב- local.conf הן:

# mender settings
# The name of the disk image and Artifact that will be built.
# This is what the device will report that it is running, and different updates must have different names
# because Mender will skip installation of an Artifact if it is already installed.
MENDER_ARTIFACT_NAME = "release-1"

INHERIT += "mender-full"

# The version of Mender to build. This needs to match an existing recipe in the meta-mender repository.
#
# Given your Yocto Project version, see which versions of Mender you can currently build here:
# https://docs.mender.io/overview/compatibility#mender-client-and-yocto-project-version
#
# Given a Mender client version, see the corresponding version of the mender-artifact utility:
# https://docs.mender.io/overview/compatibility#mender-clientserver-and-artifact-format
#
# By default this will select the latest version of the tools that is backwards compatible with the
# given Yocto branch.
# If you need an earlier version, or a later version even though it may not be backwards compatible,
# please uncomment the following and set to the required version. If you want to use the bleeding
# edge version, specify "master-git%", but keep in mind that these versions may not be stable:
#
# PREFERRED_VERSION_mender-client = "3.3.0"
# PREFERRED_VERSION_mender-artifact = "3.8.0"
# PREFERRED_VERSION_mender-artifact-native = "3.8.0"
# PREFERRED_VERSION_mender-connect = "2.0.1"

# The following settings to enable systemd are needed for all Yocto
# releases sumo and older.  Newer releases have these settings conditionally
# based on the MENDER_FEATURES settings and the inherit of mender-full above.
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME:init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""

ARTIFACTIMG_FSTYPE = "ext4"

# Example: Memory card storage
MENDER_STORAGE_DEVICE = "/dev/mmcblk0"
# Example: Memory card with 2GiB of storage.
#MENDER_STORAGE_TOTAL_SIZE_MB = "29476"
#MENDER_STORAGE_TOTAL_SIZE_MB = "14738"
MENDER_STORAGE_TOTAL_SIZE_MB = "7369"

MENDER_UBOOT_STORAGE_INTERFACE = "mmc"
MENDER_UBOOT_STORAGE_DEVICE = "0"

MENDER_BOOT_PART = "${MENDER_STORAGE_DEVICE_BASE}1"
MENDER_DATA_PART = "${MENDER_STORAGE_DEVICE_BASE}4"
MENDER_ROOTFS_PART_A = "${MENDER_STORAGE_DEVICE_BASE}2"
MENDER_ROOTFS_PART_B = "${MENDER_STORAGE_DEVICE_BASE}3"

MENDER_FEATURES_ENABLE:append = " mender-uboot mender-image-sd"
MENDER_FEATURES_DISABLE:append = " mender-grub mender-image-uefi"

MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = " kernel-image kernel-devicetree"

PREFERRED_VERSION:mender-client = "3.3.0"

התאמה אישית של meta-starfive-bsp

עליך ליצור ענף של meta-starfive-bsp כדי להוסיף את ההגדרות הדרושות להגדרת Mender.

התאמות אישיות נדרשות ב:

  • conf/machine/starfive-visionfive-jh7100.conf: הסר או הוסף הערה לשתי שורות אלה
UBOOT_ENV ?= "uEnv"
UBOOT_ENV_SUFFIX = "txt"
  • recipes-bsp/bootfiles/files/uEnv.txt: החלף את השורה הבאה כדי לכלול משתני Mender בעת אתחול
bootcmd=load mmc 0:1 ${kernel_addr_r} @IMAGETYPE@; load mmc 0:1 ${fdt_addr_r} jh7100-starfive-visionfive-v1.dtb; setenv bootargs 'root=${mender_kernel_root} rw rootfstype=ext4 rootwait earlycon console=ttyS0,115200n8'; booti ${kernel_addr_r} - ${fdt_addr_r}
  • recipes-bsp/u-boot/u-boot-visionfive_v2022.03.bb: הוסף את השורות הבאות כדי לומר meta-mender, כי U-boot מותאם אישית משמש
require recipes-bsp/u-boot/u-boot-mender.inc

PROVIDES += "u-boot"
RPROVIDES_${PN} += "u-boot"

BOOT_FILES:append = " uEnv.txt"

מתכונים במטא-אינטראלקטרוניקס-ראייהחמש

יש צורך להגדיר הגדרות ומשתנים מסוימים במטא-שכבה מותאמת אישית, כפי שאנו עושים במטא-אינטראלקטרוניקס-ראייה.

  • recipes-mender/mender-client/mender-client_%.bbappend: הוסף את כתובת האתר של שרת Mender
MENDER_SERVER_URL = "https://mender.interelectronix.com"
  • recipes-bsp/u-boot/u-boot-visionfive_%.bbappend: הוסף את השורות הבאות
MENDER_UBOOT_AUTO_CONFIGURE = "1"
BOOTENV_SIZE = "0x20000"
  • recipes-bsp/u-boot-env/*: הוסף מתכון זה מקובץ ה-zip שהורדת. הוא מכיל שני קבצי uEnv, המשמשים במערכת הקבצים השורש. uEnv_visionfive.txt משמש ב- rootfs, בעת אתחול ממחיצה A ו- uEnv_visionfive3.txt משמש בעת אתחול ממחיצה B.

  • recipes-core/images/vision-five-image-mender.bb: צלם את מתכון התמונה הזה או הוסף 'u-boot-env' למתכון התמונה שלך

    IMAGE_INSTALL:append = " v4l-utils u-boot-env"

חשוב

לפני שתוכל bitbake התמונה שלך, אתה צריך להתאים אישית u-boot כמתואר בחלק הבא של סדרת המאמרים.

ראה כיצד להגדיר u-boot עבור Mender ב- VisionFive - Mender - Yocto - Part 3.

רישיון זכויות יוצרים

זכויות יוצרים © 2022 Interelectronix e.K.
קוד המקור של פרויקט זה מורשה תחת רישיון GPL-3.0*.

תוכנה משובצת מחשב - VisionFive - Mender - Yocto צילום מסך של מחשב
חלק 1 - הגדרה בסיסית של סביבת Yocto

חלק 1 בסדרת מאמרים, כיצד להקים סביבת Yocto ליצירת Yocto Linux עם אינטגרציה של לקוח מנדר.

תוכנה משובצת מחשב - VisionFive - Mender - Yocto צילום מסך של מחשב
חלק 4 - יצירת חפץ למנדר

חלק 4 בסדרת מאמרים, כיצד להקים סביבת Yocto ליצירת Yocto Linux עם אינטגרציה של לקוח מנדר.

תוכנה משובצת מחשב - VisionFive - Mender - Yocto צילום מסך של מחשב
חלק 3 - תצורת U-boot עבור Mender

חלק 3 בסדרת מאמרים, כיצד להקים סביבת Yocto ליצירת Yocto Linux עם אינטגרציה של לקוח מנדר.