我正在尝试通过 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,并且 …
我正在尝试将 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选项不再被选中!我可以做什么来解决这个问题?
我正在尝试在启动时启动服务,但是我在构建时遇到问题。\n这是我的自定义层中的树结构
\nmichael@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\nRun Code Online (Sandbox Code Playgroud)\n在我的 local.conf 中,我在末尾添加了以下内容:
\nIMAGE_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 = ""\nRun Code Online (Sandbox Code Playgroud)\n我的.bb文件如下:
# 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) 我想在/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)