标签: buildroot

如何从uImage中提取文件?

Buildroot 正在为它们应该运行的嵌入式设备生成图像。这工作得很好。在这些图像中,包含 rootfs。

由于一些研究,我想查看生成的文件(例如,应用了 Buildroot 设置的不同压缩模式,现在应检查它们是否正确完成),但我在网络中找不到有用的东西。

据我所知,uImage 和 zImage 之间的区别只是一个小标题,因此 u-boot 能够读取该二进制文件。但是我既不能打开 uImage,也不能打开 zImage。

谁能给我一个关于如何在主机上解压缩那些 (u/z) 图像的提示?

embedded compression images u-boot buildroot

29
推荐指数
3
解决办法
6万
查看次数

对于嵌入式设置,使用只读根文件系统是一个好主意吗?

我的任务是在嵌入式设备上将 Linux 作为操作系统运行。

目标具有 x86 处理器和 8 GB CompactFlash 设备用于存储。

我已经设法使用 buildroot 创建内核映像和交叉编译工具。我已将 CF 设备分区为一个小的 FAT 分区,其中包含内核映像以及syslinux引导配置和一个ext3文件系统,我已将 buildroot 生成的根文件系统解压缩到其中。

syslinux通过将根目录设置为我的 buildroot 文件系统所在的 CF ext3 分区,系统启动成功。

我的问题集中在面对立即(和频繁)断电时对稳健性的需求,因为断电后设备成功启动至关重要。我读过将根文件系统挂载为只读是确保数据完整性的一种方式。这是我继续的明智方式吗?

我还阅读了有关将根文件系统加载到 RAM 中以实现相同目的的可能性,但目前还不知道如何执行此操作。

是否有实现这一目标的首选方法,如果有,我继续前进的最佳方法是什么?

embedded readonly root-filesystem ram buildroot

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

如何在我自己的 Linux Buildroot 系统上安装 X11?

我已经使用buildrootbusybox开发了我自己的小型 linux 文件系统。我使用linux-2.6.38.8内核根据需要为目标系统(X86)配置和交叉编译。现在文件系统已经构建,但它只有busybox shell,不支持GUI。它没有任何包管理器也是。现在我想在它上面启用 GUI。我检查了/etc但没有任何x11目录或x11.conf文件。它也不支持startx

How can I install x11(XFree86 or Xorg) on my system Explicitly.

I also want to install a package-manager for my system.
Run Code Online (Sandbox Code Playgroud)

如何做到这一点?

linux x11 package-management linux-kernel buildroot

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

如何解决“通过本地选择取消身份验证”?

我使用Buildroot构建了一个嵌入式 Linux ,但在与 AP 保持连接时遇到了一些麻烦。无法多次获取 IP 地址。

我使用 wpa_supplicant 使用 WPA2-PSK 连接到我的 AP。它可以在 AP 模式下与其他 AP 一起使用,例如我的智能手机。

当我使用时,iwconfig wlan0我看到我与我的 AP 相关联

wlan0     IEEE 802.11bgn  ESSID:"ZyXEL_B3B5"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 90:EF:68:D3:B3:B5   
          Bit Rate=58.5 Mb/s   Tx-Power=20 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=53/70  Signal level=-57 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1   Missed beacon:0
Run Code Online (Sandbox Code Playgroud)

但我无法获得 IP 地址 ifup wlan0

udhcpc (v1.22.1) started …
Run Code Online (Sandbox Code Playgroud)

wifi dhcp busybox buildroot wlan

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

在 /etc/fstab 中列出 rootfs 的目的是什么?

在 BuildRoot 2015.08.1 /etc/fstab 中包含以下行。

/dev/root / ext2 rw,noauto 0 1
Run Code Online (Sandbox Code Playgroud)

在我加密的 Ubuntu 笔记本电脑上,/etc/fstab 包含以下行。

/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)

问题:在 /etc/fstab 中列出 rootfs 的目的是什么?

不是答案:

  • 内核从 root= 参数或在 initramfs 中以只读方式挂载 rootfs。所以 /etc/fstab 无助于以只读方式挂载 rootfs。

  • init 进程重新挂载 rootfs 读写。这是在 BuildRoot 中的 /etc/inittab 和 Ubuntu 中的 /etc/rcS.d/S06checkroot.sh 中完成的。所以 /etc/fstab 无助于重新挂载 rootfs 读写。

背景:我正在构建一个带有花哨的 initramfs 的嵌入式系统。它在网络上和本地寻找不同的 rootfs 候选者,直到找到合适的候选者。它负责检查文件系统并在调用 switch_root 之前以读写方式重新挂载它。

额外问题:不在 /etc/fstab 中列出 rootfs 会有什么影响?

如果没有就太棒了。我不想为每个 rootfs 维护不同的 /etc/fstab。但是,为什么 BuildRoot 和 Ubuntu 会保留它呢?

剧透:我试过了,它似乎有效,但我对隐藏的后果持谨慎态度。

ubuntu fstab root-filesystem buildroot

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

如何在Buildroot BusyBox init中不输入root用户名或密码自动登录?

如果我做:

git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
make BR2_JLEVEL=2
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
Run Code Online (Sandbox Code Playgroud)

我必须先输入rootQEMU,然后才能使用 shell。

如何配置 buildroot 跳过它并直接登录?

在 Ubuntu 16.04 上测试。

busybox buildroot busybox-init

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

如何设置CPU频率。在 Linux 中?

我正在使用这个 ARM9 SAM9G25 嵌入式系统,打开时只在线几秒钟,因为我想加快整个过程,所以我想检查 CPU 频率,并将其设置为最大。速度。

Linux 2.6.39 内核在此处使用 Buildroot 2013.10 生成。当最终围绕它进行谷歌搜索时总是会导致“CPU频率缩放”选项,但这不是我想要的。我相信 CPU 必须有某种静态值,例如:内核告诉 1 GHz CPU 以最大值运行。100 兆赫。

任何人都可以指出我正确的方向吗?感谢您的支持。

linux cpu embedded cpu-frequency buildroot

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

编译 buildroot 时出错

我更新了版本“2014.08”(稳定版)的 buildroot 并更新了我的项目的内核版本(3.12.26),当 buildroot 尝试构建linux-headers-3.12.26包时,出现以下错误:

/output/host/usr/arm-buildroot-linux-gnueabi/sysroot 2.6;然后退出1;fi 内核头文件选择不正确:预期为 2.6.x,得到 3.12.x”

我该如何解决?我必须更改脚本check-kernel-headers.sh吗?

kernel cross-compilation buildroot

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

如何将 autotools 包添加到 Buildroot?

我正在尝试向 buildroot 添加一个包,但我没有取得太大的成功。我要添加的包是一个名为 scew 的 autotools 包。我遵循了关于添加包的 buildroot 指南,虽然在make menuconfig运行时列出了包,但当我运行时make,最终的rootfs.tar.

我还复制了另一个.mk用于安装的简单文件which,并相应地更改了变量名称和 URL。这是我的副本scew.mk

SCEW_VERSION = 1.1.3
SCEW_SITE = http://savannah.nongnu.org/download/scew/
SCEW_LICENSE = GPLv3
SCEW_LICENSE_FILES = COPYING

$(eval $(autotools-package))
Run Code Online (Sandbox Code Playgroud)

在我有的同一个目录中Config.in,它看起来像:

config BR2_PACKAGE_SCEW
   bool "scew"
   help
   google scew
Run Code Online (Sandbox Code Playgroud)

我还将以下几行添加到package/Config.in

menu "My Packages"

 menu "Packages I Wrote"
 source "package/MyPackages/packagesIWrote/hello/Config.in"
 source "package/MyPackages/packagesIWrote/helloworld/Config.in"
 endmenu

 menu "External Packages"
 source "package/MyPackages/external-packages/scew/Config.in"
 endmenu

endmenu
Run Code Online (Sandbox Code Playgroud)

这部分似乎有效,因为包已列出并可被选择。hello 和 helloworld 包是从本网站(用法语编写)获取的添加包指南的副本:添加 Hello Wolrd

hello world 包也不起作用。我很乐意接受任何建议,因为似乎我只是在这个问题上绕圈子,我看不出我做错了什么。

compiling embedded buildroot

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

在使用 buildroot 构建的嵌入式 linux 上启动后 sshd 没有启动?

我已经使用树莓派的 buildroot 的默认配置完成了最小安装。我还从 menuconfig 中选择了 openssh 和 openssl:

Package Selection for the target  --->
    [*] Networking  --->
        [*]   openssh
    [*] Library -->
        Crypto -->
            -*-   openssl
            [*]      openssl binary
            [ ]      openssl additional engines
Run Code Online (Sandbox Code Playgroud)

我将 Pi 分配给了192.168.0.14,但无法通过 ssh 连接到它。nmap 显示 Pi 的所有端口都已关闭,有时根本不显示 Pi,我觉得这很奇怪——每当 nmap 扫描它时,LINK LED 就会闪烁,所以我猜它连接得很好。

我通常使用update-rc.d或管理启动服务systemctl,但是我只能通过 ssh 连接到 Pi - 我没有 HDMI 或串行端口。我不确定如何手动设置。/etc/init.d/S50sshd存在于 Pi 中,所以它应该在启动后启动 ssh,不是吗?

相关配置文件:/etc/ssh/sshd_config, /etc/init.d/S50sshd.

我在 SD 卡中找不到任何相关日志。

编辑:

根据 X Tian 从评论中提出的建议,我能够获得日志。唯一记录的是/var/log/messages …

embedded busybox init.d raspberry-pi buildroot

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