u- boot ਸੈੱਟਅੱਪ ਮੇਨਡਰ
ਅਸੀਂ ਵਿਕਾਸ ਵਾਸਤੇ ਯੋਕਟੋ ਕਿਰਕਸਟੋਨ ਸ਼ਾਖਾ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ। ਅਸੀਂ ਇਹ ਮੰਨਦੇ ਹਾਂ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਕੰਮਕਾਜ਼ੀ ਵਿਕਾਸ ਦਾ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕੀਤਾ ਹੋਇਆ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਵਾਤਾਵਰਣ ਨੂੰ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿਵੇਂ ਕਿ VisionFive - ਮੈਂਡਰ - ਯੋਕਟੋ - ਭਾਗ 1 ਅਤੇ VisionFive - ਮੈਂਡਰ - ਯੋਕਟੋ - ਭਾਗ 2 ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
u-boot VisionFive ਬੋਰਡ
VisionFive RISC-V SBC ਦੋ ਬੂਟਲੋਡਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ - ਇੱਕ ਦੂਜਾ ਬੂਟ ਅਤੇ ਯੂ-ਬੂਟ। ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਸ ਦੇ ਢੰਗਾਂ ਦਾ ਵਰਣਨ VisionFive SBC Quick Start Guide ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ।
ਇਹਨਾਂ ਲੋੜਾਂ ਨਾਲ ਨਿਪਟਣ ਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ
- ਸਾਨੂੰ ਮੈਂਡਰ ਲਈ ਸੈਟਿੰਗਾਂ ਦੇ ਨਾਲ https://github.com/starfive-tech/u-boot ਤੋਂ ਯੂ-ਬੂਟ ਨੂੰ ਪੈਚ ਕਰਨਾ ਪੈਂਦਾ ਹੈ
- ਸਾਨੂੰ ਯੋਕਟੋ ਨਾਲ ਯੂ-ਬੂਟ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰਨਾ ਪਵੇਗਾ
- ਸਾਨੂੰ ਦੂਜੇ ਪੜਾਅ ਦੇ ਬੂਟਲੋਡਰ ਨਾਲ ਅੱਪਲੋਡ ਕਰਨ ਲਈ ਯੂ-ਬੂਟ ਨੂੰ ਮੈਨੂਅਲੀ ਕੰਪਾਇਲ ਕਰਨਾ ਪਵੇਗਾ
ਯੂ-ਬੂਟ ਪੈਚਿੰਗ
ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਸਟਾਰਫਾਈਵ-ਟੈੱਕ ਤੋਂ ਯੂ-ਬੂਟ ਡੈਰੀਵੇਟਿਵ ਨੂੰ ਕਲੋਨ ਕਰੋ ਤਾਂ ਜੋ ਕੰਮ ਕਰਨ ਲਈ ਇੱਕ ਕੋਡ ਬੇਸ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕੇ।
git clone -b JH7100_upstream https://github.com/starfive-tech/u-boot.git
ਮੈਂਡਰ ਆਟੋ- ਸੰਰਚਿਤ ਪੈਚ
Yocto ਵਿੱਚ ਮੈਟਾ-ਮੈਂਡਰ-ਕੋਰ ਮੈਂਡਰ ਦੀਆਂ ਲੋੜਾਂ ਵਾਸਤੇ ਯੂ-ਬੂਟ ਨੂੰ ਆਪਣੇ ਆਪ ਹੀ ਪੈਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ ਜੇਕਰ 'MENDER_UBOOT_AUTO_CONFIGURE = "1"' ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਜ਼ਿਆਦਾਤਰ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਇਹ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਬੋਰਡ ਨਿਰਮਾਤਾਵਾਂ ਦੀਆਂ ਵਿਵਸਥਾਵਾਂ ਕਰਕੇ ਕੰਮ ਨਹੀਂ ਕਰਦਾ।
ਪਰ ਮੈਂਡਰ ਦਾ ਸਵੈ-ਸੰਰਚਨਾਤਮਕ ਪੈਚ ਮੈਂਡਰ ਕਲਾਇੰਟ ਨਾਲ VisionFive SOC ਲਈ ਯੂ-ਬੂਟ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਇੱਕ ਵਧੀਆ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਹੈ।
ਆਟੋ-ਸੰਰਚਨਾ ਵਾਲੇ ਪੈਚ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ MENDER_UBOOT_AUTO_CONFIGURE = "1" ਸੈਟਿੰਗ ਨਾਲ ਯੂ-ਬੂਟ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰਨਾ ਪਵੇਗਾ:
bitbake u-boot-visionfive
'mender_auto_configured.ਪੈਚ' ਨਾਮ ਦੀ ਇੱਕ ਪੈਚ ਫਾਇਲ ਡਾਇਰੈਕਟਰੀ 'your-build-directory/tmp/work/starfive_visionfive_jh7100-poky-linux/u-boot-visionfive/1_v2022.03-r0' ਵਿੱਚ ਬਣਾਈ ਗਈ ਹੈ।
ਕਲੋਨ ਕੀਤੇ u-boot 'ਤੇ ਪੈਚ ਲਾਗੂ ਕਰੋ
ਇਸ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਇਸ mender_auto_configured.ਪੈਚ ਨੂੰ ਸਟਾਰਫਾਈਵ-ਟੈਕ ਤੋਂ ਕਲੋਨ ਕੀਤੀ ਯੂ-ਬੂਟ ਰਿਪੋਜ਼ਟਰੀ ਤੇ ਲਾਗੂ ਕਰਦੇ ਹਾਂ।
cd u-boot-starfive
git apply path-to-patch/mender_auto_configured.patch
Customize u-boot- starfive
u-boot ਨੂੰ ਸਹੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਮੈਂਡਰ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਜਾਣਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ ਮੈਂਡਰ ਸਰਵਰ ਨਾਲ ਇੱਕ ਕਲਾਕ੍ਰਿਤੀ ਨੂੰ ਲਗਾਉਣ ਤੋਂ ਬਾਅਦ SOC ਨੂੰ ਕਿਸ ਪਾਰਟੀਸ਼ਨ ਤੋਂ ਬੂਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
ਇਸ ਲਈ ਸਾਨੂੰ ਮੈਂਡਰ ਵੇਰੀਏਬਲ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਅਤੇ ਕਿਹੜੇ ਪਾਰਟੀਸ਼ਨ ਤੋਂ ਬੂਟ ਕਰਨਾ ਹੈ, ਇਸ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਫਾਈਲ 'u-boot-starfive/include/include/configs/starfigs/starfive-jh7100.h' ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਪਵੇਗਾ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਪਵੇਗਾ ਕਿ ਕਿਸ ਪਾਰਟੀਸ਼ਨ ਤੋਂ ਬੂਟ ਕਰਨਾ ਹੈ:
#define STARLIGHT_FEDORA_BOOTENV \
"bootdir=/boot\0" \
"bootenv2=uEnv.txt\0" \
"bootenv3=uEnv3.txt\0" \
"mmcdev=0\0" \
"mmcpart=2\0"
#define CONFIG_EXTRA_ENV_SETTINGS \
MENDER_ENV_SETTINGS \
STARLIGHT_FEDORA_BOOTENV \
"loadaddr=0xa0000000\0" \
"loadbootenv=fatload ${mender_uboot_boot} ${loadaddr} ${bootenv}\0" \
"ext4bootenv2=ext4load ${mender_uboot_root} ${loadaddr} ${bootdir}/${bootenv2}\0" \
"ext4bootenv3=ext4load ${mender_uboot_root} ${loadaddr} ${bootdir}/${bootenv3}\0" \
"importbootenv=echo Importing environment from mmc mender_uboot_dev ${mender_uboot_boot} ...; " \
"env import -t ${loadaddr} ${filesize}\0" \
"mmcbootenv=run mender_setup; " \
"echo mender_kernel_root_name ${mender_kernel_root_name} ...; " \
"echo mender_boot_part_name ${mender_boot_part_name} ...; " \
"setenv bootpart ${mender_uboot_root}; " \
"mmc dev ${mender_uboot_dev}; " \
"if mmc rescan; then " \
"run loadbootenv && run importbootenv; " \
"if test ${mender_kernel_root_name} = /dev/mmcblk0p2; then " \
"run ext4bootenv2 && run importbootenv; " \
"fi; " \
"if test ${mender_kernel_root_name} = /dev/mmcblk0p3; then " \
"run ext4bootenv3 && run importbootenv; " \
"fi; " \
"if test -n $uenvcmd; then " \
"echo Running uenvcmd ...; " \
"run uenvcmd; " \
"fi; " \
"fi\0" \
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
BOOTENV \
BOOTENV_SF
ਟੈਸਟ '${mender_kernel_root_name}' ਬਿੰਦੂ ਹੈ ਅਤੇ ਫੇਰ ਫੈਸਲਾ ਕਰੋ ਕਿ ਕਰਨਲ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਕਿਹੜੀ uEnv-ਫ਼ਾਈਲ ਲਈ ਗਈ ਹੈ।
ਇਸ ਤੋਂ ਬਾਅਦ, ਯੂ-ਬੂਟ ਨੂੰ Yocto ਵਿੱਚ ਵਰਤਣ ਲਈ ਇਸ ਤੋਂ ਇੱਕ ਪੂਰਾ ਪੈਚ ਬਣਾਓ:
git diff --patch > ~/Documents/Yocto/meta-interelectronix-visionfive/recipes-bsp/u-boot/files/0004-u-boot.patch
ਇਸ ਪੈਚ ਨੂੰ 'u-boot-visionfive_%.bbappend' ਵਿੱਚ Yocto ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ:
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI:append = " \
file://0004-u-boot.patch \
"
bitbake u-boot
'u-boot-visionfive_%.bbappend' ਵਿੱਚ ਬਦਲੋ MENDER_UBOOT_AUTO_CONFIGURE = "1" ਤੋਂ MENDER_UBOOT_AUTO_CONFIGURE = "0"।
ਹੁਣ ਤੁਸੀਂ ਮੈਂਡਰ ਦੇ ਸਵੈ-ਸੰਰਚਨਾ ਫੰਕਸ਼ਨ ਤੋਂ ਬਿਨਾਂ ਅਤੇ ਕਸਟਮ ਪੈਚਾਂ ਦੇ ਨਾਲ ਬਿੱਟਬੈਕ ਯੂ-ਬੂਟ ਕਰ ਸਕਦੇ ਹੋ:
bitbake u-boot-visionfive
ਦੂਜੇ ਪੜਾਅ ਦੇ ਬੂਟਲੋਡਰ ਨਾਲ ਅੱਪਲੋਡ ਕਰਨ ਲਈ u-boot ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ
ਹੁਣ ਤੁਸੀਂ ਡਾਇਰੈਕਟਰੀ 'VisionFive-build/tmp/work/starfive_visionfive_jh7100-poky-linux/u-boot-visionfive/1_v2022.03-r0/git' ਵਿੱਚ ਯੂ-ਬੂਟ ਕੰਪਾਇਲ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ 'bitbake u-boot-visionfive' ਨਾਲ ਜੋੜੇ ਗਏ ਪੈਚ ਸ਼ਾਮਲ ਹਨ।
- VisionFive SOC ਲਈ ਯੂ-ਬੂਟ ਨੂੰ ਕੰਪਾਇਲ ਕਿਵੇਂ ਕਰਨਾ ਹੈ , ਇਸ ਨੂੰ ਕੰਪਾਇਲਿੰਗ ਯੂ-ਬੂਟ ਅਤੇ ਕਰਨਲ ਦੇ ਅਧੀਨ ਦਰਸਾਇਆ ਗਿਆ ਹੈ
- VisionFive SOC ਲਈ ਯੂ-ਬੂਟ ਨੂੰ ਕਿਵੇਂ ਅੱਪਲੋਡ ਕਰਨਾ ਹੈ, ਇਸ ਦਾ ਵਰਣਨ ਅੰਤਿਕਾ B ਦੇ ਤਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ : ਫਰਮਵੇਅਰ ਅਤੇ ਯੂ-ਬੂਟ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨਾ
bitbake Yocto Linux
ਮੈਂਡਰ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਾਹਕ ਦੇ ਨਾਲ ਬਿੱਟਬੈਕ ਯੋਕਟੋ ਲਿਨਕਸ:
bitbake vision-five-image-mender
Linux ਚਿੱਤਰ ਨੂੰ SD ਕਾਰਡ 'ਤੇ ਫਲੈਸ਼ ਕਰੋ ਅਤੇ VisionFive SOC ਨੂੰ ਬੂਟ ਕਰੋ। ਜੇ ਸਭ ਠੀਕ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਤਾਂ ਡਿਵਾਈਸ ਮੈਂਡਰ ਸਰਵਰ GUI ਵਿੱਚ ਇੱਕ ਵਿਚਾਰ-ਅਧੀਨ ਡਿਵਾਈਸ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
'ਡਿਵਾਈਸਾਂ' ਦੇ ਤਹਿਤ, ਤੁਸੀਂ ਇਸ ਡਿਵਾਈਸ ਲਈ ਬਾਅਦ ਦੇ ਸੌਫਟਵੇਅਰ ਅੱਪਡੇਟਾਂ ਦੀ ਤਾਇਨਾਤੀ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਇਸ ਨੂੰ ਸਵੀਕਾਰ ਅਤੇ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।
ਦੇਖੋ ਕਿ ਵਿਜ਼ਨਫਾਈਵ - ਮੈਂਡਰ - ਯੋਕਟੋ - ਭਾਗ 4 ਵਿੱਚ ਮੈਂਡਰ ਵਾਸਤੇ ਇੱਕ ਕਲਾ-ਕਿਰਤ ਦੀ ਸਿਰਜਣਾ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।</:code8:></:code7:></:code6:></:code5:></:code4:></:code3:></:code2:></:code1:>
ਕਾਪੀਰਾਈਟ ਲਾਈਸੈਂਸ
ਕਾਪੀਰਾਈਟ © 2022 Interelectronix e.K.
ਇਸ ਪ੍ਰੋਜੈਕਟ ਸਰੋਤ ਕੋਡ ਨੂੰ GPL-3.0 ਲਾਇਸੰਸ ਤਹਿਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਕੀਤਾ ਗਿਆ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 1, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 2, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।
ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਦਾ ਭਾਗ 4, ਇੱਕ ਮੈਂਡਰ ਕਲਾਇੰਟ ਦੇ ਏਕੀਕਰਨ ਨਾਲ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਬਣਾਉਣ ਲਈ ਇੱਕ ਯੋਕਟੋ ਵਾਤਾਵਰਣ ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਤ ਕਰਨਾ ਹੈ।