标签: buildroot

如何将我自己的软件添加到Buildroot Linux软件包?

我正在尝试将自己的程序添加到使用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)

linux qt makefile uclinux buildroot

17
推荐指数
2
解决办法
2万
查看次数

基于Linux的固件,如何实现更新的好方法?

我正在使用alix 2d13开发基于linux的设备.

我开发了一个脚本,负责创建映像文件,创建分区,安装引导加载程序(syslinux),内核和initrd,并注意将根文件系统文件放入正确的分区.

配置文件位于tmpfs文件系统上,并在系统启动时由读取驻留在自己分区上的XML文件的软件创建.

我正在寻找一种更新文件系统的方法,我考虑过两种解决方案:

  • 固件更新是一个压缩文件,可以包含内核,initrd和/或rootfs分区,这样,在重启时,initrd会注意将rootfs映像dd到正确的分区;
  • 固件更新是一个压缩文件,可以包含两个tar存档,一个用于启动,另一个用于根文件系统.

每个解决方案都有自己的优势: - 文件系统映像将允许我删除任何未使用的文件但需要大量时间,它会快速杀死紧凑型闪存; - 存档较小,需要较少的更新时间,但我会在短时间内对根文件系统产生问题.

另一种解决方案可能是放置文件列表并将前/后更新脚本放入tar存档中,因此任何不驻留在文件列表中的文件都将被删除.

你怎么看?

linux firmware buildroot

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

如何在Buildroot中配置Linux内核?

我正在尝试为x86目标构建一个rootfs,这很简单.但是我无法弄清楚我如何配置buildroot生成的内核.第一次运行时出现了menuconfig,但从那时起缓存了.config,我无法看到在哪里更改它.

~650MB的内核模块对嵌入式目标没有好处:P

有没有一种简单的方法在buildroot中配置内核?像uclibc-menuconfig目标这样的东西是完美的.

linux embedded kernel buildroot

13
推荐指数
2
解决办法
3万
查看次数

项目错误:QT 中的未知模块:图表

我正在使用 QTwidgets 构建一个 QT 应用程序,以在 RaspberyPi3 中运行,并在使用 buildroot 构建的 SD 卡内有一个图像。我想支持图表是因为它们基于 QtWidgets 并且支持小部件。

我的问题是,当我将 Charts 集成到我的项目中并在计算机中运行该项目时,没有问题,但是当我尝试将其部署到 Raspberry 时,文件和库不包含在内,并且会出现错误。

在我的 .pro 文件中,我有: QT += 图表

但这会产生以下错误:

错误:QT 中的未知模块:图表

但是,如果我删除它,就会出现一些错误,说找不到库:

QtCharts/QChartGlobal:没有这样的文件或目录

我认为我的问题只是没有向项目提供树莓 SD 卡中库或插件的目录。谁能帮我?如果需要更多信息,请询问我会尽快回答。

charts qt widget buildroot raspberry-pi3

11
推荐指数
1
解决办法
2万
查看次数

如何在Git存储库中添加一个可用于Buildroot的程序包?

我正在制作嵌入式Linux系统,我想将" bluez "软件包(和蓝牙实用程序)添加到Buildroot环境的软件包中.

不幸的是,tar球似乎不可用,但源代码可以从Git存储库获得,但我不确定如何在.mk文件中包含它.

我可以这样做,如果是这样的话怎么样?

git embedded bluetooth embedded-linux buildroot

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

如何在源代码管理下获得buildroot项目

我工作的公司开发的产品需要我们使用的嵌入式Linux,就像许多其他的Buildroot一样.

无论如何,我想使用Git将项目置于源代码控制之下,因为它是我们公司所有其他项目的源代码控制工具.问题是我不知道应该在源代码管理中保留哪些文件(因为保持整个buildroot目录似乎过度使用).

git buildroot

9
推荐指数
3
解决办法
2540
查看次数

具有快速启动功能的Raspberry Pi嵌入式编程

我是一名计算机工程师学生,我的新项目遇到问题:

  • 显示汽车信息等的小屏幕.一个reeeeeally简单的版本一个车载电脑的.

我的Raspberry pi已经用了1个月了,我无法找到解决我的主要问题的解决方案:一个简单的Linux发行版,具有真正快速启动和开发带图形界面的应用程序的可能性

我项目的主要进展是:

  • 我试过Arch Linux一段时间了.但是20秒的启动速度还不够快.我无法正常运行任何图形界面
  • 我试过Gamaral的RPi-Buildroot.这是一个非常好的buildroot版本,专为raspberry pi设计.3秒的启动真是太神奇了.但除了使用它的"交叉编译" 的" Hello,World " 之外,我无法获得任何其他功能.(Github上的RPi-BuildRoot链接)

我只需要指示我需要做些什么才能使其正常工作.如果我得到一个简单的用户界面,开始时间不到10秒,我可以认为我的项目完成了.

我认为RPi-BuildRoot是一个很棒的工具,我找不到它的方法......

谢谢!抱歉英语不好;)

linux linux-kernel embedded-linux buildroot raspberry-pi

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

如何清理buildroot中的目标

我搞砸了目标fs中的一些文件.所以我想重新组装它.但不是全部重建.

make clean只删除所有输出,+构建目录.应该使用什么命令通过输出/构建/结构递归地删除目标目录和所有相关的.stamp_some_step文件,强制buildroot根据当前配置重新组装文件系统,但不能一次又一次地重建所有库和二进制文件?

linux makefile buildroot

9
推荐指数
2
解决办法
7098
查看次数

如何在Buildroot中将补丁应用到包中?

我正在开发一个嵌入式系统,它使用buildroot作为构建内核和根文件系统的工具.我想对这个内核源代码树应用一些补丁,有人能告诉我buildroot如何应用补丁吗?

embedded linux-kernel buildroot

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

启动期间自动挂载单独分区时systemd/udev依赖性失败

编辑:当我尝试使用具有任何挂载点的单独分区时,会发生这种情况,而不仅仅是/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 …

linux udev buildroot systemd

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