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

时间:2012-05-30 10:59:16

标签: 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

所以我的问题是:

  • 如何在target systemtarget images中说出要选择的内容?

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

  • 我可以用什么标准来判断我是否会使用jffs或squashfs图像?

谢谢!

1 个答案:

答案 0 :(得分:11)

  

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

Target system您可以从Table of Hardware

中的目标/平台列进行推断

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

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


  

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

如果您的路由器未在自定义图像中列出,您应该使用通用图像,例如: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