小编Mic*_*ael的帖子

Yocto 添加自定义 UBoot 环境变量

我正在尝试通过 Yocto 构建过程添加两个新的 u-boot 环境变量。

我的文件u-boot-imx_2021.04.bbappend包含

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += " file://uboot.patch"
Run Code Online (Sandbox Code Playgroud)

我的文件uboot.patch包含

--- a/configs/mx6ull_14x14_evk_emmc_defconfig   2023-02-23 10:49:03.969189476 -0600
+++ a/configs/mx6ull_14x14_evk_emmc_defconfig   2023-02-23 10:50:06.401233950 -0600
@@ -91,3 +91,14 @@
 CONFIG_FASTBOOT_BUF_SIZE=0x40000000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_EFI_PARTITION=y
+
+CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
+CONFIG_ENV_OFFSET_REDUND=0xE2000
+CONFIG_BOOTCOUNT_BOOTLIMIT=3
+CONFIG_SYS_MALLOC_F_LEN=0xF000
+CONFIG_CMD_SAVEENV=y
+CONFIG_CMD_LOADENV=y
+
+CONFIG_SWUPDATE_BOOTCMD="setenv bootargs console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext4 rw;load mmc 1:3 0x83000000 /swupdate-image-imx6ull14x14evk.ext4.gz.u-boot;load mmc 1 0x82a00000 imx6ull-14x14-evk.dtb;load mmc 1 0x80800000 zImage;load mmc 1 0x83000000 300000 100000;setenv root /dev/ram0;setenv rootfstype ext4;setenv fw_env_config /etc/fw_env.config;bootz 0x80800000 0x83000000 0x82a00000;"
+CONFIG_SWUPDATE_KERNEL=0
+
Run Code Online (Sandbox Code Playgroud)

该补丁已应用,例如我可以看到CONFIG_SYS_REDUNDAND_ENVIRONMENT,并且 …

embedded-linux u-boot yocto

3
推荐指数
1
解决办法
1767
查看次数

Busybox Bitbake 配置不保存

我正在尝试将 devmem 添加到我的 yocto 图像中。我这样做我运行命令

bitbake -c menuconfig busybox
Run Code Online (Sandbox Code Playgroud)

我转到“杂项实用程序”并在 devmem 菜单中放置一个 *。退出并保存配置然后执行

bitbake busybox
Run Code Online (Sandbox Code Playgroud)

其次是

bitbake core-image-full-cmdline
Run Code Online (Sandbox Code Playgroud)

当我启动设备时,该devmem程序不存在,当我重新运行menuconfigbusybox 时,该devmem选项不再被选中!我可以做什么来解决这个问题?

embedded-linux busybox bitbake yocto

1
推荐指数
1
解决办法
2275
查看次数

Yocto 系统配置

我正在尝试在启动时启动服务,但是我在构建时遇到问题。\n这是我的自定义层中的树结构

\n
michael@michael-VirtualBox:~/Documents/simple_daemon/sources/meta-simpledaemon$ tree\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 conf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 layer.conf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 COPYING.MIT\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 recipes-example\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 example\n    \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 example_0.1.bb\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 simpledaemon\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 files\n        \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 simpledaemon.service\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 simpledaemon_git.bb\n
Run Code Online (Sandbox Code Playgroud)\n

在我的 local.conf 中,我在末尾添加了以下内容:

\n
IMAGE_INSTALL_append = " bbexample "\nIMAGE_INSTALL_append = " simpledaemon "\nIMAGE_INSTALL_append = " packagegroup-core-ssh-openssh "\nIMAGE_INSTALL_append = " openssh-sftp-server "\n\n\nDISTRO_FEATURES_append = " systemd"\nVIRTUAL-RUNTIME_init_manager = " systemd"\nDISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\nVIRTUAL-RUNTIME_initscripts = ""\n
Run Code Online (Sandbox Code Playgroud)\n

我的.bb文件如下:

\n
# Recipe created by recipetool\n# This is the basis of a recipe and may need further editing in order …
Run Code Online (Sandbox Code Playgroud)

systemd bitbake yocto nxp-microcontroller

0
推荐指数
1
解决办法
3272
查看次数

Bitbake 将空文件夹添加到根目录

我想在/home/root我的 bitbake 构建过程中创建一个文件夹。我尝试了两种不同的方法,但都失败了。

第一个给出了一个巨大的错误,我无法滚动到顶部

do_install_append () {
   install -d ${D}/root/smg_logs
}
Run Code Online (Sandbox Code Playgroud)

第二个将构建并运行,但我没有看到创建的文件夹。

create_dirs() {
    mkdir -p root/smg_logs
}

ROOTFS_POSTPROCESS_COMMAND += "create_dirs ; "
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用前一个和以下

create_dirs() {
    install -d ${D}/home/root/smg_logs
    mkdir -p /home/root/smg_logs
}

ROOTFS_POSTPROCESS_COMMAND += "create_dirs ; "
Run Code Online (Sandbox Code Playgroud)

这允许我的设备启动,但它似乎覆盖了一些重要的代码。

编辑:与下面答案中的链接类似,我尝试了以下操作。

do_install_append () {
   install -d ${D}/root/smg_logs
}
FILES_${PN} += "/root/smg_logs"
Run Code Online (Sandbox Code Playgroud)

embedded-linux bitbake yocto

0
推荐指数
1
解决办法
364
查看次数