SuperWRT是一基于Linux的无线路由器系统。
在SuperWRT之前已经有好多的第三方路由器系统,其中OpenWRT、DD-WRT、Tomato、RouterOS较为著名。当然还有一些基于它们开发的,或其它的小众系统。
SuperWRT希望走和之前的系统略有不同的路线,主要是下面几点:
SuperWRT为了保证更友好升级特性,及全面的用户体验,开发了定制版本的uboot,SuperWRT系统需要与该uboot配合使用。
定制版本的uboot主要提供了以下特殊功能:
uboot中功能的使用,请参考:uboot使用说明
SuperWRT通过SBI(SuperWRT Board Info)存储设备硬件信息。通过使用SBI,SuperWRT系统及定制的uboot,可以适配不同的设备。
目前SBI通过在线定制uboot的系统,与uboot一起打包下载。
当然,SuperWRT系统也支持将SBI信息绑定在系统中。但目前我们不建议使用该方式,主要是因为,这样SuperWRT系统的版本必须针对该设备进行特殊打包处理,不利于后面的长期维护。
SuperWRT默认使用firmware分区作为系统分区,使用该分区时,可以将linux kernel及rootfs放在一个分区内,在kernel后以8字节对齐方式加入rootfs。
SuperWRT也支持单独的kernel分区和rootfs分区,在升级时,如果发现没有firmware分区,会自动将系统文件拆分到kernel及rootfs分区。
提示:这里主要针对SuperWRT系统特殊的地方进行说明。
首先,通过芯片会运行定制版本的uboot。uboot会进行如下工作:
然后,启动时linux kernel会进行如下工作: