- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经从 subversion 存储库成功克隆了 OpenWRT buildroot,并且我一直在使用它来构建在 Qemu 上运行的镜像。我可以在 Qemu 中运行图像。
现在我尝试为路由器(Linksys WRT54GL)构建一个镜像,但我在文档中找不到应该如何选择目标。
我猜这些是正确的选项:
我选择了 Broadcom BCM947xx/953xx
在“目标图像”中,我选择了jffs2和squashfs
然后,编译完成后,进入目录bin/brcm47xx
,发现了大量的图片:
openwrt-brcm47xx-jffs2-128k.trx
openwrt-brcm47xx-jffs2-64k.trx
openwrt-brcm47xx-squashfs.trx
.
.
.
openwrt-wrt54g3g-em-jffs2.bin
openwrt-wrt54g3g-em-squashfs.bin
openwrt-wrt54g3g-jffs2.bin
openwrt-wrt54g3g-squashfs.bin
openwrt-wrt54g3gv2-vf-jffs2.bin
openwrt-wrt54g3gv2-vf-jffs2.noheader.bin
openwrt-wrt54g3gv2-vf-squashfs.bin
openwrt-wrt54g3gv2-vf-squashfs.noheader.bin
openwrt-wrt54g-jffs2.bin
openwrt-wrt54gs-jffs2.bin
openwrt-wrt54g-squashfs.bin
openwrt-wrt54gs-squashfs.bin
openwrt-wrt54gs_v4-jffs2.bin
openwrt-wrt54gs_v4-squashfs.bin
openwrt-wrt610n_v1-jffs2.bin
openwrt-wrt610n_v1-squashfs.bin
openwrt-wrtsl54gs-jffs2.bin
openwrt-wrtsl54gs-squashfs.bin
所以我的问题是:
如何判断在目标系统
和目标图像
中选择什么?
从生成的所有图像中,我如何知道应该使用哪一个(例如,WRT54GL 不在上面的列表中;如何判断是否可以使用“openwrt-wrt54g- jffs2.bin
”?
我可以根据什么标准来决定使用 jffs 还是 squashfs 图像?
谢谢!
最佳答案
How do I tell what to choose in target system and target images?
目标系统
您可以从硬件表
中的目标/平台列推断:
http://wiki.openwrt.org/toh/start
目标镜像
取决于构建的预期用途,但在大多数常见情况下(即放置在路由器上的镜像),您需要 squashfs
或 jffs2
。请参阅下面的文件系统链接。
From all the images generated, how do I know which one I should use (for example, the WRT54GL is not in the list above; how to tell if it's OK to use "openwrt-wrt54g-jffs2.bin"?
如果您的路由器未在自定义镜像中列出,您可能应该使用通用镜像,例如:openwrt-brcm47xx-squashfs.trx
What criteria can I use to decide if I'll use a jffs or a squashfs image?
来自http://wiki.openwrt.org/doc/techref/filesystems :
SquashFS
+
taking up as little space as possible
+
allowing the implementation of an idiot proof FailSafe for recovery, since it is not possible to write to it
-
read only
-
waste space, since each time a file contained on it is modified, actually a copy of it is being copied to the second (JFFS2) partition
JFFS
+
is writable, has journaling and wear leveling
+
is cool
-
is compressed, so a program (opkg in particularly) cannot know in advance how much space a package will occupy
不要被只读部分误导
All of the OpenWrt firmwares include a fully writable root filesystem that will remain intact across a power outage. The confusion is due to the fact that squashfs is a readonly filesystem; all OpenWrt firmwares also include a jffs2 partition -- the squashfs part of the filename refers only to the filesystem included in the firmware image; additional files or changes are stored on jffs2.
- The squashfs partition will always contain all of the files exactly as they came with the firmware; you cannot change these without reflashing. (see #6)
- The jffs2 partition contains only your changes to the filesystem; since squashfs still contains the original version, you can easily revert files back to their original state.
It is possible to remove the squashfs partition by installing the jffs2 version of the firmware, but this isn't recommended -- it uses more space and lacks the above failsafe features.
来源:https://forum.openwrt.org/viewtopic.php?pid=36636#p36636
如果有疑问,请按照 http://wiki.openwrt.org/doc/howto/obtain.firmware.download#filesystem 使用 squashfs
关于openwrt - OpenWRT buildroot中如何选择目标和其他功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814919/
我是 Buildroot 的新手。我有 P2041RDB NXP 板的 Linux 内核源代码,那么我应该把它放在哪里以及如何在配置中设置这个位置? 最佳答案 目前无法从 Buildroot 配置中设
Buildroot 中是否有某种方法可以更改使用“uname -a”命令显示的内核版本字符串?例如: # uname -a Linux buildroot 5.1.0 #1 PREEMPT Wed N
我继承的一个项目使用了一个非常旧版本的 buildroot,但我想将其更改为使用仅在以后的 buildroot 版本中添加的功能。 是否有一种直接的方法可以更新 buildroot 设置以使用更高版本
我正在实现一个 buildroot 包 foo,它不能与特定的其他包 bar 一起包含。我试图通过编写 depends on 来定义相互排斥的包- 相应 Config.in 中的声明-文件。 在 fo
是否有一个中心位置记录了 buildroot 的配置和 defconfig 文件中使用的所有 BR2 选项? 目前,我正在寻找自定义 buildroot 目标设备树的方法。我偶然发现了选项 BR2_L
Buildroot 是一种可用于为嵌入式系统板构建 Linux 镜像的工具。 Buildroot 带有一组预定义的 Python 包,我可以从它的菜单中选择。 此外,Buildroot 添加了一个漂亮
我试过: git checkout 2018.05 make qemu_x86_64_defconfig make BR2_JLEVEL="$(nproc)" "$(pwd)/output/image
Buildroot 提供了一种将 sqlite 添加到我的构建配置中的方法,但我看不到任何地方表明 sqlite 库是否具有多线程支持。如何判断Builtroot包含的sqlite库版本是否支持多线程
我试过: git checkout 2018.05 make qemu_x86_64_defconfig make BR2_JLEVEL="$(nproc)" "$(pwd)/output/image
Buildroot 提供了一种将 sqlite 添加到我的构建配置中的方法,但我看不到任何地方表明 sqlite 库是否具有多线程支持。如何判断Builtroot包含的sqlite库版本是否支持多线程
我将 Buildroot 用作子模块,并且我想通过自己的一些修改来重用现有的树内定义配置。 我只想将修改后的选项存储在配置片段中,就像我可以使用 BR2_LINUX_KERNEL_CONFIG_FRA
我已将 BR2_JLEVEL 设置为 2 ;不确定这个选项在 buildroot 中如何工作?有人可以详细说明它在 buildroot 中的工作方式,因为我没有看到我的构建时间有所改进。 最佳答案 B
我们已将 bash 添加到我们的 buildroot 配置中,现在希望将其设为 root 用户的默认 shell。我不希望将 passwd 文件添加到我们的覆盖中,所以有没有办法通过 buildroo
是否可以在 buildroot 的外部树(由 BR2_EXTERNAL 变量指定的树)中有一个主机包?我知道我可以实现这样的包,如果存在任何依赖它的包,它将被构建。但是如果没有板包依赖呢?例如,当我们
是否可以在 buildroot 的外部树(由 BR2_EXTERNAL 变量指定的树)中有一个主机包?我知道我可以实现这样的包,如果存在任何依赖它的包,它将被构建。但是如果没有板包依赖呢?例如,当我们
我正在尝试向 buildroot 添加一个包,但我没有取得太大的成功。我要添加的包是 autotools名为 scew 的包裹.我遵循了有关添加包的 buildroot 指南,尽管在 make men
我正在使用 buildroot 和 arm 的 linaro 2016.11。我实际上正在为 i.MX6 处理器构建最新的 Linux 内核。到目前为止一切顺利。 我已经用 设置了 buildroot
buildroot 支持从 git repo 下载包。但是我的 git repo 包含子模块。 如何命令 buildroot 下载带有子模块的包? 最佳答案 自~ July 2016您可以为包启用子模
我想知道是否可以在分区表中添加更多分区,以及如何添加。我已经测试过更改 genimage.cfg 但似乎 support/scripts/genimage.sh 没有创建它。 提前谢谢你。 最佳答案
我目前有一个 buildroot 配置,输出一个 U-Boot 包装的根文件系统。该过程的一部分覆盖来自外部目录的文件,其中包含网络接口(interface)、profile.d 脚本和一些自定义可执
我是一名优秀的程序员,十分优秀!