如何在OpenWRT buildroot中选择目标和其他功能?

Jay*_*Jay 7 openwrt

我已经从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
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  • 我怎么知道该怎么选择target systemtarget images

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

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

谢谢!

kon*_*niu 11

如何判断目标系统和目标图像中的选择?

Target system您可以从以下目标中的Target/Platform列进行推断Table of Hardware:

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

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


从生成的所有图像中,我如何知道应该使用哪一个(例如,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

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