ਬਿੱਟਬੇਕ ਪਕਵਾਨ-ਵਿਧੀ Pigpio
ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ ਸਾਨੂੰ ਇੱਕ ਲਾਇਬਰੇਰੀ ਦੇ ਨਾਲ I2C, SPI ਅਤੇ ਹੋਰ GPIOs ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਪਿਗਪੀਓ ਲਾਇਬਰੇਰੀ ਦੀ ਲੋੜ ਹੈ।
ਬਦਕਿਸਮਤੀ ਨਾਲ ਸਾਨੂੰ ਯੋਕਟੋ ਲਈ ਸਾਂਝੀਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਵਿੱਚ ਇਸਦਾ ਕੋਈ ਪਕਵਾਨ-ਵਿਧੀ ਨਹੀਂ ਮਿਲਿਆ ਅਤੇ ਸਾਨੂੰ ਆਪਣੀ ਖੁਦ ਦੀ ਸਿਰਜਣਾ ਕਰਨੀ ਪਈ।
pigpio_git.bb ਵਿਅੰਜਨ
ਯੋਕਟੋ ਵਾਸਤੇ ਇੱਕ ਵਿਉਂਤਬੱਧ ਪਕਵਾਨ-ਵਿਧੀ ਬਣਾਉਣਾ ਏਨਾ ਮੁਸ਼ਕਿਲ ਨਹੀਂ ਹੈ – ਪਰ ਵਿਸਥਾਰ ਵਿੱਚ ਇਹ ਹੋ ਸਕਦਾ ਹੈ।
ਮਿਆਰੀ ਪ੍ਰਕਿਰਿਆ ਹੈ, ਸਰੋਤ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਇਸ ਨੂੰ ਬਿੱਟਬੇਕ ਕਰਨ ਦੇਣ ਲਈ:
DESCRIPTION = "pigpio"
SECTION = "devel/libs"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://UNLICENCE"
COMPATIBLE_MACHINE = "^rpi$"
SRC_URI = "git://github.com/joan2937/pigpio.git;protocol=https;tag=v79 \
"
S = "${WORKDIR}/git"
inherit pkgconfig cmake
ਪਰ ਜੇ ਤੁਸੀਂ "ਬਿੱਟਬੇਕ ਪਿਗਪੀਓ" ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਕੁਝ ਗਲਤੀਆਂ ਸੁੱਟਦਾ ਹੈ, ਕਿਉਂਕਿ ਇੱਥੇ ਕੋਈ ਸੰਸਕਰਣ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ ਅਤੇ ਮੈਨਪੇਜ ਫਾਈਲਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਹੈਂਡਲ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
manpages ਗਲਤੀ
ਪਹਿਲਾਂ ਹੇਠ ਲਿਖੀ ਗਲਤੀ ਆਉਂਦੀ ਹੈ:
ERROR: pigpio-git-r0 do_package: QA Issue: pigpio: Files/directories were installed but not shipped in any package:
/usr/man
/usr/man/man1
...
ਤੁਸੀਂ ਹੇਠ ਲਿਖੀਆਂ ਸੈਟਿੰਗਾਂ ਨਾਲ ਇਸ ਤਰੁੱਟੀ ਨੂੰ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ:
FILES:${PN}-doc += "\
/usr/man/man1/pigs.1 \
/usr/man/man1/pig2vcd.1 \
/usr/man/man1/pigpiod.1 \
/usr/man/man3/pigpio.3 \
/usr/man/man3/pigpiod_if.3 \
/usr/man/man3/pigpiod_if2.3 \
"
ਗ਼ੈਰ- symlink ਗਲਤੀ
ਮੈਨਪੇਜਾਂ ਨਾਲ ਤਰੁੱਟੀ ਨੂੰ ਠੀਕ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਗਲੀ ਗਲਤੀ ਸਾਹਮਣੇ ਆਉਂਦੀ ਹੈ:
ERROR: pigpio-git-r0 do_package_qa: QA Issue: pigpio rdepends on pigpio-dev [dev-deps]
ERROR: pigpio-git-r0 do_package_qa: QA Issue: -dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpio.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if2.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if.so' [dev-elf]
ਅਜਿਹਾ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ "CMakeLists.txt" ਤੋਂ ਕੋਈ ਵਰਜਨ ਲਾਇਬਰੇਰੀਆਂ ਤਿਆਰ ਨਹੀਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਅਸੀਂ ਜੋੜਦੇ ਹਾਂ:
SOLIBS = ".so"
FILES_SOLIBSDEV = ""
systemd autostart pigpiod
ਪਿਗਪੀਓ ਡੈਮਨ ਨੂੰ ਆਟੋਸਟਾਰਟ ਕਰਨ ਲਈ, ਅਸੀਂ ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ:
do_install() {
install -d ${D}${bindir}
install -d ${D}${libdir}
install -d ${D}${PYTHON_SITEPACKAGES_DIR}
install -m 0644 ${S}/pigpio.py ${D}${PYTHON_SITEPACKAGES_DIR}
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/util/pigpiod.service ${D}${systemd_system_unitdir}
cmake_do_install
}
SYSTEMD_SERVICE:${PN} = "pigpiod.service"
ਨੋਟ
ਜੇਕਰ ਤੁਹਾਨੂੰ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਹੈੱਡਰ ਫਾਇਲਾਂ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ "dev-pkgs" IMAGE_FEATURES ਇੰਸਟਾਲ ਕਰਨੀ ਪਵੇਗੀ
IMAGE_FEATURES += "package-management dev-pkgs doc-pkgs"
ਗਲੋਬਲ ਚਿੱਤਰ ਸੰਰਚਨਾ
rpi4- build ਤੋਂ ਜ਼ਿਪ ਕੀਤੀਆਂ ਬਿਲਡ ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਡਾਊਨਲੋਡ ਕਰੋ ।
ਪਹਿਲਾਂ bblayers.conf ਫਾਈਲ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੋ। ਤੁਹਾਡੇ ਅੰਦਰ ਲੋੜੀਂਦੀਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਮਿਲਦੀਆਂ ਹਨ। ਮੇਟਾ-ਲੇਅਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ, ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਨਹੀਂ ਕੀਤਾ ਹੈ ਅਤੇ ਆਪਣੀ bblayers.conf ਫਾਇਲ ਨੂੰ ਅਡਜੱਸਟ ਕਰੋ।
ਦੂਜਾ ਸਥਾਨਕ.ਕਨਫ ਫਾਈਲ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੋ।
I2C ਸੈਟਿੰਗ
ਜੇਕਰ ਤੁਸੀਂ I2C ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਸੈਂਸਰ ਚਿੱਪ (ਉਦਾਹਰਨ ਲਈ ਇੱਕ ਤਾਪਮਾਨ ਸੈਂਸਰ) ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ local.conf ਫਾਈਲ ਵਿੱਚ I2C ਨੂੰ ਸਮਰੱਥ ਕਰਨਾ ਪਵੇਗਾ।
ENABLE_I2C = "1"
KERNEL_MODULE_AUTOLOAD_rpi += " i2c-dev"
X11 ਅਤੇ Wayland ਹਟਾਓ
ਬਿੱਟਬੇਕ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਗਲਤੀਆਂ ਹਨ, ਜੇਕਰ ਅਸੀਂ X11 ਅਤੇ ਵੇਲੈਂਡ ਨੂੰ ਨਹੀਂ ਹਟਾਉਂਦੇ ਹਾਂ
ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ - ਕਿਉਂਕਿ ਸਾਨੂੰ ਕਈ ਵਿੰਡੋਜ਼ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ - ਅਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦੇ ਹਾਂ।
DISTRO_FEATURES:remove = "ptest x11 wayland vulkan directfb"
eglfs ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਵਰਤਣ ਲਈ, ਅਸੀਂ ਇਹ ਜੋੜਦੇ ਹਾਂ:
VC4DTBO ?= "vc4-fkms-v3d"
bitbake ਰਸਬੇਰੀ ਚਿੱਤਰ
ਫਾਈਲ "rpi4-64-qt5-gpio-image.bb" ਵਿੱਚ ਅਸੀਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ ਕਿ ਸਾਨੂੰ ਆਪਣੀ ਲੀਨਕਸ ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਵਿੱਚ ਕਿਹੜੇ ਪੈਕੇਜਾਂ ਦੀ ਲੋੜ ਹੈ। ਇੱਥੇ ਤੁਸੀਂ - ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਜ਼ਿਕਰ ਕੀਤਾ ਗਿਆ ਹੈ - "dev-pkgs" IMAGE_FEATURES ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।
ਫਾਇਲ ਨੂੰ ਕਈ ਭਾਗਾਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ DVD-SDK, EXTRA_TOOLS ਆਦਿ, ਆਸਾਨੀ ਨਾਲ ਲੋੜੀਂਦੇ ਪੈਕੇਜਾਂ ਨੂੰ ਜੋੜਨ ਲਈ।
pigpio ਪੈਕੇਜ
ਇਸ ਪੈਕੇਜ ਨੂੰ CUSTOM_STUFF ਤਹਿਤ ਜੋੜਿਆ ਗਿਆ ਹੈ:
CUSTOM_STUFF = " \
pigpio \
"
Qt ਪੈਕੇਜ
Qt ਲਈ ਲੋੜੀਂਦੇ ਪੈਕੇਜਾਂ ਨੂੰ ਪੈਕੇਜ ਗਰੁੱਪਾਂ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ ਅਤੇ ਇਹ ਪੈਕੇਜ ਗਰੁੱਪ ਇੱਥੇ ਜੋੜੇ ਗਏ ਹਨ:
IMAGE_INSTALL:append += " packagegroup-qt5 packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug"
ਤੁਸੀਂ "packagegroup-qt5" ਨੂੰ ਫ਼ਾਈਲ "packagegroup-qt5.bb" ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ ਅਤੇ Qt ਪੈਕੇਜਾਂ ਨੂੰ ਜੋੜ ਜਾਂ ਮਿਟਾ ਸਕਦੇ ਹੋ।
ਮੇਟਾ-ਇੰਟਰਇਲੈਕਟ੍ਰੋਨਿਕਸ-rpi-qt ਤੋਂ ਚਿੱਤਰ ਨਾਲ ਜ਼ਿਪ ਕੀਤੀ ਮੈਟਾ-ਲੇਅਰ ਡਾਊਨਲੋਡ ਕਰੋ।
ਉਸ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਚਿੱਤਰ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰ ਸਕਦੇ ਹੋ:
bitbake rpi4-64-qt5-gpio-image
bitbake SDK
ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਕਸਟਮ ਲੀਨਕਸ ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਲਈ Qt ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਕਸਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ 'ਤੇ ਇਸ ਨੂੰ ਆਪਣੀ QtCreator ਸੰਰਚਨਾ ਵਿੱਚ ਜੋੜਨ ਲਈ ਕਰਾਸ ਕੰਪਾਇਲ ਟੂਲਚੇਨ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ।
ਤੁਸੀਂ ਅੱਗੇ ਦਿੱਤੀ ਬਿੱਟਬੇਕ ਕਮਾਂਡ ਨਾਲ ਆਸਾਨੀ ਨਾਲ SDK ਬਣਾ ਸਕਦੇ ਹੋ:
bitbake -c populate_sdk rpi4-64-qt5-gpio-image
ਸਾਡੇ ਕੋਲ "packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug" ਚਿੱਤਰ ਸੰਰਚਨਾ ਫਾਈਲ ਵਿੱਚ ਜੋੜੇ ਗਏ ਹਨ।
ਇੰਸਟਾਲ SDK
ਤੁਸੀਂ ਅੱਗੇ ਦਿੱਤੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਤਿਆਰ ਕੀਤੇ SDK ਨੂੰ ਲੱਭਦੇ ਹੋ:
/tmp/deploy/sdk
ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ ਇਸ ਨੂੰ "ਪੋਕੀ-ਗਲਿਬਸੀ-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh" ਦਾ ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਸੈਟਅੱਪ ਹਿਦਾਇਤਾਂ ਅਤੇ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਫ਼ਾਈਲਾਂ (ਕੰਪ੍ਰੈਸਡ ਫਾਰਮੈਟ ਵਿੱਚ) ਸ਼ਾਮਲ ਹਨ।
ਇਹ ਫਾਇਲ ਨੂੰ ਆਪਣੇ ਡਿਵੈਲਪਮੈਂਟ ਕੰਪਿਊਟਰ ਵਿੱਚ ਕਾਪੀ ਕਰੋ ਅਤੇ ਇਸ ਨੂੰ ਚਲਾਓ:
./poky-glibc-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh
SDK ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।</:code16:></:code15:></:code14:>
ਕਾਪੀਰਾਈਟ ਲਾਈਸੈਂਸ
ਕਾਪੀਰਾਈਟ © 2022 Interelectronix e.K.
ਇਸ ਪ੍ਰੋਜੈਕਟ ਸਰੋਤ ਕੋਡ ਨੂੰ GPL-3.0 ਲਾਇਸੰਸ ਤਹਿਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਕੀਤਾ ਗਿਆ ਹੈ।