8

我已经成功地从 subversion 存储库克隆了 OpenWRT buildroot,并且我一直在使用它来构建我在 Qemu 上运行的图像。我可以很好地在 Qemu 中运行图像。

现在我尝试为路由器构建一个映像——Linksys WRT54GL——但我在文档中找不到我应该如何选择目标。

这些是正确的选择:

  • 我选择了博通 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

所以我的问题是:

  • 我如何知道在target systemand中选择什么target images

  • 从生成的所有图像中,我如何知道我应该使用哪一张(例如,WRT54GL 不在上面的列表中;如何判断是否可以使用“ openwrt-wrt54g-jffs2.bin”?

  • 我可以使用什么标准来决定我将使用 jffs 还是 squashfs 图像?

谢谢!

4

1 回答 1

11

我如何知道在目标系统和目标图像中选择什么?

Target system您可以从以下中的 Target/Platform 列推断Table of Hardware

http://wiki.openwrt.org/toh/start

Target images取决于构建的预期用途,但在最常见的情况下(即放置在路由器上的图像),您需要squashfsjffs2. 请参阅下面的文件系统链接。


从生成的所有图像中,我如何知道我应该使用哪一张(例如,WRT54GL 不在上面的列表中;如何判断是否可以使用“openwrt-wrt54g-jffs2.bin”?

如果您的路由器未在自定义图像中列出,您可能应该使用通用图像,例如:openwrt-brcm47xx-squashfs.trx


我可以使用什么标准来决定我将使用 jffs 还是 squashfs 图像?

来自http://wiki.openwrt.org/doc/techref/filesystems

壁球FS

+占用尽可能少的空间

+允许为恢复执行一个白痴证明FailSafe,因为不可能写入它

-只读

-浪费空间,因为每次修改其中包含的文件时,实际上都会将其副本复制到第二个(JFFS2)分区

JFFS

+可写,具有日志和磨损均衡

+很酷

-被压缩,所以程序(尤其是 opkg)无法提前知道一个包将占用多少空间

不要误导只读部分

所有的 OpenWrt 固件都包含一个完全可写的根文件系统,它在断电时将保持不变。混淆是由于 squashfs 是一个只读文件系统。所有 OpenWrt 固件还包括一个 jffs2 分区——文件名的 squashfs 部分仅指固件映像中包含的文件系统;附加文件或更改存储在 jffs2 上。

  • squashfs 分区将始终包含固件随附的所有文件;如果不重新刷新,您将无法更改这些。(见#6)
  • jffs2 分区只包含您对文件系统的更改;由于 squashfs 仍然包含原始版本,您可以轻松地将文件恢复到原始状态。

可以通过安装固件的 jffs2 版本来删除 squashfs 分区,但不建议这样做——它会占用更多空间并且缺少上述故障保护功能。

来源:https ://forum.openwrt.org/viewtopic.php?pid=36636#p36636

如果有疑问,请squashfs按照http://wiki.openwrt.org/doc/howto/obtain.firmware.download#filesystem使用

于 2012-06-07T22:46:22.027 回答