LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 732|回复: 0

生成带设备信息的uboot

[复制链接]
发表于 2024-1-5 17:53:45 | 显示全部楼层 |阅读模式
在SuperWRT的官方网站,提供了在线生成带设备信息uboot的工具。该工具根据用户提供的信息,生成带有SBI(SuperWRT Board Info)信息的uboot。
通过该工具生成的uboot,可以升级或启动SuperWRT通用的固件。实现原理如下:
(芯片的uboot + 设备的SBI)=》由在线工具生成     + 通用的SuperWRT固件
访问该网页需要有SuperWRT社区用户,如果之前你还没有登录,页面会先进行跳转。

选择对应的芯片
首先要做的是选择正确的芯片,对应不同的芯片,使用的固件及填写的SBI信息会有所区别,请确认选择无误后,再进行后续操作。
建议:如果你不知道设备的硬件信息,可以参考这个教程如何分析和适配设备
建议:如果你对配置有疑问,可以参考一些配示例:SBI配置示例

填写通用信息
设备型号请尽量简洁清楚,请使用英文,不要填写带有“-”字符的型号。下面提供常用设备厂家名称的建议:
[td]
厂家
缩写
TP-Link(普联)TP
Mercury(水星)Mercury
Fast(迅捷)Fast
D-Link(友捷)DL
Tenda(腾达)Tenda
Netgear(网件)Netgear
NetCore(磊科)Netcore
PHICOMM(斐讯)Phi
Asus(华硕)Asus
XiaoMi(小米)Mi
ZTE(中兴)ZTE

作者邮箱会自动使用用户在社区注册用的邮箱。
设备型号和作者邮箱及当前日期会按:“设备型号/作者邮箱/日期”的格式最终填入生成的SBI头中,最后组成的信息不要超过64个字符。
Boot参数替代可以设置bootloader的参数,该区域请按照如下格式填写:
name="value";name2="value2"
下面是部分参数的含义:
[td]
参数
功能
说明
bootargs传给kernel的启动参数字段内使用“name=value name2=value”的格式。
如:“console=ttyS0,115200 mtdparts=spi0.0:112k(uboot),16k(SBI),4k(CAL),28k(config),1888k(firmware)“,
是wr886n参启动参数,
console表示调试用的串口设备及波特率设置;
rootfstype表示rootfs的文件系统格式;
init表示启动使用到文件;
mtdparts表示flash的分区,
其中,系统bootloader会默认启动firmware分区位置,
一个要保证存在config分区以可以保存配置,
除SBI和CAL大写外,其它分区默认使用全小写,不要以“_”开头。
bootcmd启动参数默认为“bootm firmware kernel uImage”,表示按顺序查找并启动firmware kernel uImage分区
bootdelay启动等待时间在此时间内可以打断uboot启动,进行uboot命令行。默认为2
ipaddr默认IP地址默认为192.168.17.1
serverip默认服务器IP地址默认为192.168.17.10

这里,还要介绍一下SuperWRT的分区建议:
  • 对于支持4k擦除功能的Flash(winband和GD的Flash都是支持的),uboot的大小为0x1c000,然后是0x1000或0x4000大小的SBI分区,用于保存sbi(SuperWRT Board Info)。
  • 不支持4k擦除功能的Flash,uboot的大小为0x20000,直接将SBI包含在内。
  • 至少存在一个config分区,用于存放配置,分区大小不小于0x6000。
  • 一个firmware分区,分区大小不小于0x1d8000。
  • 原来设备的校准信息用CAL分区名,如果校准信息不是连续在一个区域内(如MAC地址写在了Flash前面,校准信息写在了Flash后面),可以用CAL2的分区,依次类推。
如果不填写分区参数,将根据Flash大小使用缺省分区。缺省的分区请参考:SuperWRT分区说明
Bootloader密码设置后,进入bootloader的串口命令行及使用恢复系统网页,都需要输入该密码。该密码仅可设置一次,设置后不可更改或删除。如留空表示不设置密码,可在bootloader刷入系统后,使用setpwd命令设置密码。

芯片相关参数
该部分参数与您所选的芯片型号相关。不同芯片型号,该部分参数会有不同。

ar934x/qca953x/qca955x/qca956x参数
以太网配置
内存的Switch芯片有5个Poart,其中一个Port可以与其它4个Port独立出来,作为WAN口。默认的独立Port使用Port4,可以通过将Port0作为WAN口(默认为Port4)选项,将其更改为Port0。
一般每个Switch的Port都会对应一个状态的LED灯,通过Px LED Pin可以配置LED连接的不同GPIO引脚。
注意:在这里配置LED后,就无需再通过GPIO功能来配置Switch的Port灯了。

WLAN配置
Atheros芯片都需要有一个校准信息,用于纠正由于器件差异带来的射频偏差。通过这个信息,设备的WLAN才可以正常工作。ath9k系列的校准信息一般以“0x0202”开头。
校准信息地址:这里填写校准信息在Flash中的地址。对于Atheros的参考设计来说,一般将Flash最后一个0x10000作为校准分区,每个Radio的校准信息位于0x1000+i*0x4000的位置。
mac信息地址:指出一个6字节MAC地址的位置。设备所有的接口都会使用该MAC地址,包括以太网口。

常见问题
  • 我设备中使用的外置的PHY,定制的Boot网络不能用。
    • 可以在启动时,看有没有如下打印:Phy(0x004dd072) addr is: 0。这个信息表示,PHY地址配错了,应该使用提示中的地址,这里是0。
    • 可以使用该PHY地址,再次进行配置。
  • 我的设备总是自动进入网页模式,无法启动系统。
    • 可能是复位键的GPIO配错了。可以在定制时,可以先去掉复位键的GPIO试一下。



您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表