问题标签 [rootfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

binary - 从 Buildroot rootfs 运行可执行文件

我一直在使用 QEMU 来测试我正在创建的原型,现在我想在真正的板上进行测试。我正在使用 Buildroot 为开发板创建 rootfs,并将 rootfs 放在我的 SD 卡上后,我将可执行文件放在 /bin 文件夹中。但是,在启动后并尝试运行它时,我收到消息“-sh:可执行文件:未找到”。

我究竟做错了什么?提前致谢。

0 投票
1 回答
1089 浏览

linux - 为什么 connman ipv4 设置默认具有 dhcp

我在我的板上使用 yocto rocko 我在启动时使用 rc.local 设置静态 ip。但一段时间后 ip 被更改。所以我发现以下文件是罪魁祸首

在下面的文件中导致问题:

IPV4.method=dhcp

我将 dhcp 更改为手动,一切正常。

如何在 yocto 构建或内核或文件系统中进行更改,以便在我启动新卡时其值默认为手动

问候

0 投票
1 回答
1795 浏览

linux - 在 buildroot 中使用构建后脚本

我使用 buildroot 来构建我自己的 rootfs 并使用 post-build.sh 来定制它。

具体来说,我在 /opt 中创建了一个文本文件

并运行 make 命令。我检查了即将推出的 rootfs 并且 testfile01.txt 在 /opt 中。一切正常。

然后我将 post-build-sh 的内容更改为

并再次运行 make 命令。

我观察到的行为是第二​​次 make 后两个文件(testfile01 和 testfile02)都存在于 rootfs 中。删除 rootfs 并运行 make 命令也不会改变这种行为。

在 buildroot 手册中写道,在构建后脚本中进行更改后不需要完全重建。

如何改变这种行为?

感谢您的帮助

编辑:buildroot-2018.02.2,Ubuntu 18.04 LTS

0 投票
2 回答
692 浏览

linux-kernel - NFS错误代码-110的确切含义

海社区,

我想通过 NFS 启动目标板的 rootFS,但启动日志总是打印错误“NFS:无法创建 MNT RPC 客户端,状态 =-110”。有人知道这段代码的确切含​​义或我可以在哪里查找吗?

我已经做了:

  • 在内核配置中启用与 NFS、Root-FS 等相关的所有内容
  • 我的防火墙处于非活动状态,iptables 设置为接受输入、输出和转发
  • 在 etc/exports 中导出 nfs 目录,然后保存
  • 检查服务 nfs-kernel-server 是否正在运行
  • 检查 path/to/nfsroot 中的每个文件夹是否具有所有权利(chmod 777)
  • 主机上的 rpcinfo 验证正在运行的 nfs
  • nfs-server 和 client 上的版本相同
  • 安装在目标板上的 nfs 目录(=客户端)
  • ping 服务器以验证以太网连接是否已启动

先感谢您。

0 投票
1 回答
1075 浏览

storage - google chrome os 分区方案

我有一个 2018 年的 samsung chromebook pro,我在上面安装了 crouton。我只使用 crouton 安装了一个 chroot。一切都很顺利,除了我似乎在 rootfs 上没有空间。这是输出sudo df -h

如您所见,我的 rootfs 几乎已满,还有一大堆其他垃圾,这对于 chromeos 来说显然是正常的。我已经阅读了类似的问题,但我的一些困惑仍然没有得到解答。

这是我目前的理解(如果我错了,请纠正我):

  1. chromeos 挂载Downloadsstateful_partition,这意味着 google 用户在下载文件时没有写入 rootfs。
  2. 这意味着 rootfs 实际上只用于内核文件,因此应该很小。
  3. Crouton 将 chroot 安装到stateful_partition,这意味着 chroot 不会占用 rootfs 中的任何分区空间。

悬而未决的问题:

  1. 究竟是/mnt/stateful_partition为了什么?具体来说,为什么它必须在/mnt
  2. 为什么我没有home分区?
  3. 我的磁盘使用情况看起来正常吗?
  4. 奇怪的事情:在 chroot 中,如果我首先释放空间,我只能有wget足够大的文件。这是面包片施加的空间限制吗?或者 chroot 是否以某种方式写入完整的 rootfs?
  5. 这些额外的分区有什么用?我的存储容量是 32GB,但 SD 插槽似乎有 53G * 3 的容量。这只是一个准备接受和安装可变大小 SD 的分区方案吗?

这是sudo df -h来自chroot内部的:

  1. 为什么mmcblk0p1我只有 32GB 可用存储空间时是 53GB?
  2. /dev/root安装在/lib/modules/3.18.... 这似乎是chromeos中的rootfs。为什么烤面包片要使用这个,它是做什么用的?
0 投票
1 回答
4143 浏览

shared-libraries - yocto 项目 - recipe-sysroot 中缺少依赖项

可能所有 yocto 人都知道 yocto rocko 2.4+ 中更改了 sysrootfs 策略。所以我有以下问题:我尝试使用 makefile 为共享库制作配方。配方如下(我不声称它是完整的。我根本无法通过构建阶段):

当它失败时让我惊讶的是:

然后我注意到命令行是:

我查看recipe-sysroot/usr/lib/并发现了一组最小的库,而 libgpiod 不存在。头文件都没有包含在...

有什么建议么?

0 投票
3 回答
2532 浏览

docker - 如何在不启动容器的情况下将 docker 映像导出到 rootfs?

我想将 docker 映像保存为 rootfs 格式(例如由 组成的目录/etc /var ...),就像它所做的docker export那样。也docker save不能满足我的需要,因为它保存了图像的层而不是它们安装在一起的目录。但我不想使用docker export,因为它仅在使用此映像的容器运行时才有效。现在我有一个包含大约 1000 个条目的图像列表,如何在不先在每个图像上启动容器的情况下将每个图像保存到 rootfs?

0 投票
1 回答
1962 浏览

linux-kernel - RootFileSystem 与内核更新

我知道它们是两个不同的东西,但是实际的 Linux 内核和 rootFS 文件系统之间有什么区别,尤其是在内存中的位置和更新方面?

关于分区,为什么内核和 rootFS 几乎总是在不同的分区上?内核代码不会存储在 rootFS 本身中吗?那么它们在内存中的不同分区上如何呢?

现在关于更新,我一直在研究一个声称可以进行完整内核映像更新的 OTA 更新框架。它为 rootFS 使用两个单独的分区。如果更新一个 rootFS 分区出现问题,它可以退回到正常工作的 rootFS 分区,这是有意义的。但是,这实际上是如何更新内核的呢?我不明白。

0 投票
1 回答
1830 浏览

yocto - 为什么我不能将文件从 Yocto 配方复制到 rootFS

我正在开发一个较新版本的 Linux(我们在一个古老的 buildroot 系统上运行 3.14)并尝试添加一个较旧版本的 mplayer 作为解决方法,直到我们的应用程序可以更新以使用更新/替代视频播放器。我添加了一个新配方,并将该配方添加到我的构建中,但我似乎无法获得有效的 do_install。

只是为了获取一些背景信息,我正在运行 Poky 的 Pyro 版本。目标是 i.MX6。

这是我写的原始食谱。

我还尝试了一个精简版本,它只复制了旧的 mplayer 可执行文件。请注意,我没有使用 install ,因为这会提示“QA 问题:已剥离”错误,即使将“INSANE_SKIP_qwt_append = “already-stripped” 添加到我的 local.conf 也无法解决该问题。

在原始配方中,我看到它无法创建链接。将其更改为相对路径(添加 -r)没有任何区别。

在精简版中,我看到以下内容:

我不太担心添加 ldconfig 调用(另一天的另一个问题),但至少希望文件出现在 RootFS 中,或者至少成功创建映像。如果我删除这个配方,我可以构建一个可用的图像,我可以将它刻录到 SD 卡中,所以我很确定这个问题在这个配方中。

我见过这个问题:Bitbake not installed my file in the rootfs image and used it as the basis for build this recipe,但我显然错过了一些东西。

0 投票
1 回答
989 浏览

gcc - 根文件系统的交叉编译软件

我想为 armhf 架构交叉编译软件(libdrm-armada)。我有包含所需共享对象的根文件系统 (~/rootfs)。该文件系统将被刷入 eMMC 并在自定义设备上运行。Libdrm-armada 使用配置脚本来生成 Makefile。当我运行时./configure,它会退出,因为它找不到共享对象。

, --with-sysroot, LD_LIBRARY_PATH, LIBRARY_PATH, LIBS,参数不起作用PKG_CONFIG_LIBDIRLIBDRM_LIBS

./configure --build=x86_64-linux --host=arm-linux\
--prefix=~/test\
LDFLAGS=-L~/rootfs/usr/lib/arm-linux-gnueabihf\
CFLAGS=-I~/ rootfs/usr/include\
CC=~/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

我试图解决的错误在 config.log 中显示为:

我应该如何正确编译软件并将其安装到 ~/rootfs 中?

编辑(感谢 Basile!):
您可以通过查看 git 存储库来调查源代码。

git clone git://git.armlinux.org.uk/~rmk/libdrm-armada.git/;
cd libdrm-armada/;
mkdir m4; 自动重新配置 -f -i;
./configure --build=[.. 等等..]

请注意,配置脚本会生成 Makefile。如果您运行上面的 ./configure 命令,错误将存储在名为 config.log 的文件中。