我正在尝试将自己的程序添加到使用Buildroot创建的小型Linux中.到目前为止我做了什么:
我在'buildroot/package /'中创建了一个名为'HelloWorld'的新目录.在'buildroot/package/HelloWorld'里面我有一个:Config.in,HelloWorld.mk和HelloWorld目录. Config.in认为:
config BR2_PACKAGE_HELLOWORLD
bool "helloworld"
default y
help
Hello world component.
Run Code Online (Sandbox Code Playgroud)HelloWorld.mk认为:
HELLOWORLD_VERSION:= 1.0.0
HELLOWORLD_SITE:= /home/userpc/Downloads/helloworld/
HELLOWORLD_SITE_METHOD:=local
HELLOWORLD_INSTALL_TARGET:=YES
define HELLOWORLD_BUILD_CMDS
$(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
endef
define HELLOWORLD_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin
endef
define HELLOWORLD_PERMISSIONS
/bin/helloworld f 4755 0 0 - - - - -
endef
$(eval $(generic-package))
Run Code Online (Sandbox Code Playgroud)
(灵感来源)HelloWorld目录包含:main.c和Makefile:
main.c:
#include <stdio.h>
int main()
{
printf("\nMain entry.\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Makefile文件:
CC=gcc
CFLAGS=-I.
all: *.c
$(CC) -Os -Wall *.c -o helloworld …Run Code Online (Sandbox Code Playgroud) 我正在使用alix 2d13开发基于linux的设备.
我开发了一个脚本,负责创建映像文件,创建分区,安装引导加载程序(syslinux),内核和initrd,并注意将根文件系统文件放入正确的分区.
配置文件位于tmpfs文件系统上,并在系统启动时由读取驻留在自己分区上的XML文件的软件创建.
我正在寻找一种更新文件系统的方法,我考虑过两种解决方案:
每个解决方案都有自己的优势: - 文件系统映像将允许我删除任何未使用的文件但需要大量时间,它会快速杀死紧凑型闪存; - 存档较小,需要较少的更新时间,但我会在短时间内对根文件系统产生问题.
另一种解决方案可能是放置文件列表并将前/后更新脚本放入tar存档中,因此任何不驻留在文件列表中的文件都将被删除.
你怎么看?
我正在尝试为x86目标构建一个rootfs,这很简单.但是我无法弄清楚我如何配置buildroot生成的内核.第一次运行时出现了menuconfig,但从那时起缓存了.config,我无法看到在哪里更改它.
~650MB的内核模块对嵌入式目标没有好处:P
有没有一种简单的方法在buildroot中配置内核?像uclibc-menuconfig目标这样的东西是完美的.
我正在使用 QTwidgets 构建一个 QT 应用程序,以在 RaspberyPi3 中运行,并在使用 buildroot 构建的 SD 卡内有一个图像。我想支持图表是因为它们基于 QtWidgets 并且支持小部件。
我的问题是,当我将 Charts 集成到我的项目中并在计算机中运行该项目时,没有问题,但是当我尝试将其部署到 Raspberry 时,文件和库不包含在内,并且会出现错误。
在我的 .pro 文件中,我有: QT += 图表
但这会产生以下错误:
错误:QT 中的未知模块:图表
但是,如果我删除它,就会出现一些错误,说找不到库:
QtCharts/QChartGlobal:没有这样的文件或目录
我认为我的问题只是没有向项目提供树莓 SD 卡中库或插件的目录。谁能帮我?如果需要更多信息,请询问我会尽快回答。
我正在制作嵌入式Linux系统,我想将" bluez "软件包(和蓝牙实用程序)添加到Buildroot环境的软件包中.
不幸的是,tar球似乎不可用,但源代码可以从Git存储库获得,但我不确定如何在.mk文件中包含它.
我可以这样做,如果是这样的话怎么样?
我工作的公司开发的产品需要我们使用的嵌入式Linux,就像许多其他的Buildroot一样.
无论如何,我想使用Git将项目置于源代码控制之下,因为它是我们公司所有其他项目的源代码控制工具.问题是我不知道应该在源代码管理中保留哪些文件(因为保持整个buildroot目录似乎过度使用).
我是一名计算机工程师学生,我的新项目遇到问题:
我的Raspberry pi已经用了1个月了,我无法找到解决我的主要问题的解决方案:一个简单的Linux发行版,具有真正快速启动和开发带图形界面的应用程序的可能性
我项目的主要进展是:
我只需要指示我需要做些什么才能使其正常工作.如果我得到一个简单的用户界面,开始时间不到10秒,我可以认为我的项目完成了.
我认为RPi-BuildRoot是一个很棒的工具,我找不到它的方法......
谢谢!抱歉英语不好;)
我搞砸了目标fs中的一些文件.所以我想重新组装它.但不是全部重建.
make clean只删除所有输出,+构建目录.应该使用什么命令通过输出/构建/结构递归地删除目标目录和所有相关的.stamp_some_step文件,强制buildroot根据当前配置重新组装文件系统,但不能一次又一次地重建所有库和二进制文件?
我正在开发一个嵌入式系统,它使用buildroot作为构建内核和根文件系统的工具.我想对这个内核源代码树应用一些补丁,有人能告诉我buildroot如何应用补丁吗?
编辑:当我尝试使用具有任何挂载点的单独分区时,会发生这种情况,而不仅仅是/var.
我正在使用Buildroot来构建嵌入式Linux系统.我正在尝试为/ var使用单独的分区,但这适用于任何挂载点.我的init系统是systemd,udev用于设备管理.我把我的fstab编辑为:
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / ext2 rw,noauto 0 1
/dev/mmcblk0p4 /var ext2 defaults 0 2
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /run tmpfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
一旦系统启动,我收到一条消息" Expecting device dev-mmcblk0p4.device ... ",最后接着是:
" 等待设备dev-mmcblk0p4.device超时. "
" / var的依赖失败 "
" 本地文件系统的依赖性失败. "
如果我使用/var2 …