Buildroot 没有 运行 作为 root 并且不想 运行 作为 root
Buildroot doesn’t run as root and doesn’t want to run as root
我有两个问题:
- 我不确定(根据Buildroot手册中的目录描述):
target/ which contains almost the complete root filesystem for the target:everything needed is present except the device files in /dev/ (Buildroot doesn’t run as root and doesn’t want to run as root)
为什么 buildroot 需要成为 root 才能创建 /dev
- 我所知道的是buildroot使用
target
来生成images/rootfs.tar
;它是 tar
或 ... 的简单压缩吗?你能帮我找到生成images/rootfs.tar
的make目标吗?
在使用 NFS 的情况下,为什么我们不能直接使用 target
文件夹作为 rootfs 是什么使得 "untaring" images/rootfs.tar
不同于 target
参考:http://free-electrons.com/~thomas/buildroot/manual/html/ch03.html
I am not sure to undrestand(from the directories description in Buildroot manual):
Buildroot 是一种用于生成内核和根文件系统的工具,它作为普通用户在您的主机系统上执行,无需超级用户权限。
Why buildroot need to be root to create the /dev
Buildroot 不使用超级用户权限。
what i know is that buildroot uses target to generate images/rootfs.tar; is it a simple compression with taror ...?
.tar是没有压缩的普通压缩包。
您可以使用 make menuconfig
过程 configure/specify 压缩(and/or select 文件系统映像)。
could you please help me find the make target that generate images/rootfs.tar?
您没有在 make shell 命令中指定它。
您可以使用 make menuconfig
过程 configure/specify tar and/or 带有可选压缩的 cpio 存档(and/or select 文件系统映像)。
In case of using NFS why can't we use directly the target folder as rootfs
因为不适合做屋顶
文件所有者和组不正确(这可能与 NFS 使用无关)。
文件权限可能不正确(例如 busybox 二进制文件的 setuid)。
/dev 目录没有 target 内核所需的最小设备节点。
取而代之的是所需的最小设备节点(例如console
),target目录在dev[中有普通的文件 =56=]:
buildroot-2015.05/output/target$ ls -l dev
total 4
-rw--w--w- 1 me swdev 0 Sep 15 16:34 console
lrwxrwxrwx 1 me swdev 10 Aug 14 2015 log -> ../tmp/log
drwxrwxr-x 2 me swdev 4096 May 31 2015 pts
$
target 内核在需要设备节点时无法使用这些文件。将尝试使用这些文件进行普通文件传输,而不是通过设备节点执行 I/O。
实际的 dev 目录应该是:
crw--w--w- 1 root root 5, 1 Sep 15 16:34 console
lrwxrwxrwx 1 root root 10 Aug 14 2015 log -> ../tmp/log
drwxr-xr-x 2 root root 4096 May 31 2015 pts
what makes "untaring" images/rootfs.tar different than target
Buildroot 可以巧妙地为设备节点创建条目,并在创建存档(或文件系统映像)时为每个文件名分配适当的所有者和组。
这只是以适当的格式生成二进制数据,这些数据与写入文件的实际存档条目(或 fs 图像)一起插入。
只有当它是 un-archived(或文件系统映像已挂载)时,"data" 才被正确解释为设备节点。
我有两个问题:
- 我不确定(根据Buildroot手册中的目录描述):
target/ which contains almost the complete root filesystem for the target:everything needed is present except the device files in /dev/ (Buildroot doesn’t run as root and doesn’t want to run as root)
为什么 buildroot 需要成为 root 才能创建 /dev
- 我所知道的是buildroot使用
target
来生成images/rootfs.tar
;它是tar
或 ... 的简单压缩吗?你能帮我找到生成images/rootfs.tar
的make目标吗? 在使用 NFS 的情况下,为什么我们不能直接使用target
文件夹作为 rootfs 是什么使得 "untaring"images/rootfs.tar
不同于target
参考:http://free-electrons.com/~thomas/buildroot/manual/html/ch03.html
I am not sure to undrestand(from the directories description in Buildroot manual):
Buildroot 是一种用于生成内核和根文件系统的工具,它作为普通用户在您的主机系统上执行,无需超级用户权限。
Why buildroot need to be root to create the /dev
Buildroot 不使用超级用户权限。
what i know is that buildroot uses target to generate images/rootfs.tar; is it a simple compression with taror ...?
.tar是没有压缩的普通压缩包。
您可以使用 make menuconfig
过程 configure/specify 压缩(and/or select 文件系统映像)。
could you please help me find the make target that generate images/rootfs.tar?
您没有在 make shell 命令中指定它。
您可以使用 make menuconfig
过程 configure/specify tar and/or 带有可选压缩的 cpio 存档(and/or select 文件系统映像)。
In case of using NFS why can't we use directly the target folder as rootfs
因为不适合做屋顶
文件所有者和组不正确(这可能与 NFS 使用无关)。
文件权限可能不正确(例如 busybox 二进制文件的 setuid)。
/dev 目录没有 target 内核所需的最小设备节点。
取而代之的是所需的最小设备节点(例如console
),target目录在dev[中有普通的文件 =56=]:
buildroot-2015.05/output/target$ ls -l dev
total 4
-rw--w--w- 1 me swdev 0 Sep 15 16:34 console
lrwxrwxrwx 1 me swdev 10 Aug 14 2015 log -> ../tmp/log
drwxrwxr-x 2 me swdev 4096 May 31 2015 pts
$
target 内核在需要设备节点时无法使用这些文件。将尝试使用这些文件进行普通文件传输,而不是通过设备节点执行 I/O。
实际的 dev 目录应该是:
crw--w--w- 1 root root 5, 1 Sep 15 16:34 console
lrwxrwxrwx 1 root root 10 Aug 14 2015 log -> ../tmp/log
drwxr-xr-x 2 root root 4096 May 31 2015 pts
what makes "untaring" images/rootfs.tar different than target
Buildroot 可以巧妙地为设备节点创建条目,并在创建存档(或文件系统映像)时为每个文件名分配适当的所有者和组。
这只是以适当的格式生成二进制数据,这些数据与写入文件的实际存档条目(或 fs 图像)一起插入。
只有当它是 un-archived(或文件系统映像已挂载)时,"data" 才被正确解释为设备节点。