【问题标题】:How to choose target and other features in OpenWRT buildroot?如何在 OpenWRT buildroot 中选择目标和其他功能?
【发布时间】:2012-06-08 06:46:22
【问题描述】:

我已经成功地从 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 systemtarget images 中选择什么?

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

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

谢谢!

【问题讨论】:

    标签: openwrt


    【解决方案1】:

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

    Target system 您可以从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

    SquashFS

    + 占用尽可能少的空间

    + 允许实现一个白痴证明 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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2021-06-23
      • 2016-02-25
      • 1970-01-01
      • 2020-03-01
      • 2013-05-01
      相关资源
      最近更新 更多