ਮੈਂਡਰ ਯੋਕਟੋ ਸੈੱਟਅੱਪ
ਅਸੀਂ ਵਿਕਾਸ ਵਾਸਤੇ ਯੋਕਟੋ ਕਿਰਕਸਟੋਨ ਸ਼ਾਖਾ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ। ਅਸੀਂ ਇਹ ਮੰਨਦੇ ਹਾਂ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਕੰਮਕਾਜ਼ੀ ਵਿਕਾਸ ਦਾ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕੀਤਾ ਹੋਇਆ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਵਾਤਾਵਰਣ ਨੂੰ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਵੇਂ ਕਿ VisionFive - ਮੈਂਡਰ - ਯੋਕਟੋ - ਭਾਗ 1 ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
ਮੈਂਡਰ ਸਰਵਰ ਸੈਟਅੱਪ
ਮੈਂਡਰ ਸਰਵਰ ਦੀ ਸਥਾਪਨਾ ਇਸ ਲੇਖ ਲੜੀ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹੈ। ਸਾਡੇ ਟੈਸਟ ਵਾਤਾਵਰਣ ਵਾਸਤੇ, ਅਸੀਂ Docker-compose ਦੇ ਨਾਲ ਇੰਸਟਾਲੇਸ਼ਨ ਟਿਊਟੋਰੀਅਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਮੈਂਡਰ ਸਰਵਰ ਨੂੰ ਇੰਸਟਾਲ ਕੀਤਾ ਜਿਵੇਂ ਕਿ Docker Compose ਨਾਲ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
ਨੋਟ
ਟਿਊਟੋਰੀਅਲ ਤੋਂ ਭਟਕਕੇ, ਅਸੀਂ ਆਪਣੇ ਵਿਉਂਤਬੱਧ ਵਾਈਲਡਕਾਰਡ CA ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਜੇ ਤੁਸੀਂ ਅਜਿਹਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ '/mender-server/production/keys-generated/cert' ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੀ ਜਨਤਕ ਅਤੇ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਨੂੰ '/run up -d' ਵਿੱਚ ਕਾਪੀ ਕਰਨਾ ਪਵੇਗਾ।
Clone meta- mender
ਆਪਣੀ ਪੋਕੀ ਡਾਇਰੈਕਟਰੀ 'ਤੇ ਜਾਓ - ਮੇਰੇ ਕੇਸ ਵਿੱਚ ਪੋਕੀ-ਕਿਰਕਸਟੋਨ – ਅਤੇ ਮੈਟਾ-ਮੈਂਡਰ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਕਲੋਨ ਕਰੋ। ਕਿਉਂਕਿ ਅਜੇ ਕਿਰਕਸਟੋਨ ਦੀ ਕੋਈ ਸ਼ਾਖਾ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਤੁਹਾਨੂੰ 'ਮਾਸਟਰ-ਨੈਕਸਟ' ਸ਼ਾਖਾ ਨੂੰ ਕਲੋਨ ਕਰਨਾ ਪਵੇਗਾ।
cd poky-kirkstone
git clone -b master-next https://github.com/mendersoftware/meta-mender.git
local.conf ਅਤੇ bblayers.conf
ਮੈਟਾ-ਇੰਟਰਇਲੈਕਟਰੋਨਿਕਸ-visionfive ਡਾਇਰੈਕਟਰੀ ਤੋਂ bblayers.conf.conf.sample-mender ਨੂੰ 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 ਫਾਇਲ ਵਿੱਚ ਤੁਹਾਨੂੰ ਆਪਣੀ ਪੋਕੀ-ਕਿਰਕਸਟੋਨ ਡਾਇਰੈਕਟਰੀ ਦੇ ਨਾਲ ਮਾਰਗ ਨੂੰ ਅਡਜੱਸਟ ਕਰਨਾ ਹੁੰਦਾ ਹੈ। ਲਾਈਨ '/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"
Customize meta-starfive-bsp
ਮੈਂਡਰ ਸੈੱਟਅੱਪ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਜੋੜਨ ਲਈ ਤੁਹਾਨੂੰ ਮੈਟਾ-ਸਟਾਰਫਾਈਵ-bsp ਦੀ ਇੱਕ ਸ਼ਾਖਾ ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ।
ਇਹਨਾਂ ਵਿੱਚ ਅਨੁਕੂਲਤਾਵਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ:
- conf/machine/starfive-visionfive-jh7100.conf: ਇਸ ਦੋ ਲਾਈਨਾਂ ਨੂੰ ਹਟਾਓ ਜਾਂ ਟਿੱਪਣੀ ਕਰੋ
UBOOT_ENV ?= "uEnv"
UBOOT_ENV_SUFFIX = "txt"
- ਪਕਵਾਨ-ਵਿਧੀ-bsp/bootfiles/files/uEnv.txt: ਬੂਟ ਕਰਦੇ ਸਮੇਂ ਮੈਂਡਰ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਲਾਈਨ ਨੂੰ ਬਦਲੋ
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}
- ਪਕਵਾਨ-ਵਿਧੀਆਂ-bsp/u-boot/u-boot-visionfive_v2022.03.bb: ਮੈਟਾ-ਮੈਂਡਰ ਨੂੰ ਦੱਸਣ ਲਈ ਹੇਠ ਲਿਖੀਆਂ ਲਾਈਨਾਂ ਸ਼ਾਮਲ ਕਰੋ, ਕਿ ਇੱਕ ਕਸਟਮ ਯੂ-ਬੂਟ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
require recipes-bsp/u-boot/u-boot-mender.inc
PROVIDES += "u-boot"
RPROVIDES_${PN} += "u-boot"
BOOT_FILES:append = " uEnv.txt"
ਮੈਟਾ-interelectronix-visionfive ਵਿੱਚ ਪਕਵਾਨ-ਵਿਧੀਆਂ
ਕੁਝ ਸੈਟਿੰਗਾਂ ਅਤੇ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਕਸਟਮ ਮੈਟਾ-ਲੇਅਰ ਵਿੱਚ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਮੈਟਾ-ਇੰਟਰਇਲੈਕਟ੍ਰੋਨਿਕਸ-ਵਿਜ਼ਨਫਾਈਵ ਵਿੱਚ ਕਰਦੇ ਹਾਂ।
- ਪਕਵਾਨ-ਵਿਧੀਆਂ-ਮੈਂਡਰ/ਮੈਂਡਰ-ਕਲਾਇੰਟ/ਮੈਂਡਰ-client_%.bbappend: ਮੈਂਡਰ ਸਰਵਰ ਦਾ URL ਸ਼ਾਮਲ ਕਰੋ
MENDER_SERVER_URL = "https://mender.interelectronix.com"
- ਪਕਵਾਨ-ਵਿਧੀਆਂ-bsp/u-boot/u-boot-visionfive_%.bbappend: ਹੇਠ ਲਿਖੀਆਂ ਲਾਈਨਾਂ ਸ਼ਾਮਲ ਕਰੋ
MENDER_UBOOT_AUTO_CONFIGURE = "1"
BOOTENV_SIZE = "0x20000"
ਪਕਵਾਨ-ਵਿਧੀਆਂ-bsp/u-boot-env/*: ਡਾਊਨਲੋਡ ਕੀਤੀ ਜ਼ਿੱਪ ਫਾਈਲ ਤੋਂ ਇਸ ਪਕਵਾਨ-ਵਿਧੀ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ। ਇਸ ਵਿੱਚ ਦੋ uEnv- ਫਾਇਲਾਂ ਹਨ, ਜੋ ਕਿ ਰੂਟ ਫਾਇਲ ਸਿਸਟਮ ਵਿੱਚ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ । uEnv_visionfive.txt ਨੂੰ rootfs ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਦੋਂ ਪਾਰਟੀਸ਼ਨ A ਤੋਂ ਬੂਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਪਾਰਟੀਸ਼ਨ B ਤੋਂ ਬੂਟ ਕਰਨ ਸਮੇਂ uEnv_visionfive3.txt ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
recipes-core/images/vision-five-image-mender.bb: ਇਸ ਚਿੱਤਰ ਵਿਅੰਜਨ ਨੂੰ ਲਓ ਜਾਂ ਆਪਣੀ ਚਿੱਤਰ ਪਕਵਾਨ-ਵਿਧੀ ਵਿੱਚ 'ਯੂ-ਬੂਟ-env' ਸ਼ਾਮਲ ਕਰੋ
IMAGE_INSTALL:append = " v4l-utils u-boot-env"
ਮਹੱਤਵਪੂਰਨ
ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਚਿੱਤਰ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰ ਸਕੋ, ਤੁਹਾਨੂੰ ਲੇਖ ਲੜੀ ਦੇ ਅਗਲੇ ਭਾਗ ਵਿੱਚ ਵਰਣਨ ਕੀਤੇ ਅਨੁਸਾਰ ਯੂ-ਬੂਟ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਪਵੇਗਾ।
ਕਾਪੀਰਾਈਟ ਲਾਈਸੈਂਸ
ਕਾਪੀਰਾਈਟ © 2022 Interelectronix e.K.
ਇਸ ਪ੍ਰੋਜੈਕਟ ਸਰੋਤ ਕੋਡ ਨੂੰ GPL-3.0 ਲਾਇਸੰਸ ਤਹਿਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਕੀਤਾ ਗਿਆ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 1, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 4, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 3, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।