cfe、u-boot、bootloader是一样东西吗?tomato和openwrt路由器保存和写入cfe的方法

2020-07-16
0评论
/
1810阅读
爱搜啊

CFE、u-boot、bootloader是一样东西吗?

ppcboot

      ppcboot最初是作为PowerPC架构处理器设计成的嵌入式目标系统的Bootloader而设计的,现在它的功能已经更加完善,并且加入了对其他架构处理器系统的支持,已经能够用作其他架构处理器系统的Bootloader,比如作为S3C2410目标系统的Bootloader。

RedBoot

       RedBoot是红帽公司发布的一款嵌入式调试引导程序,是一种用于嵌入式系统的独立开放源代码的Bootloader,任何人都可以从网上下载具有红帽eCos公共许可证的RedBoot源代码。虽然RedBoot使用的是源于eCos实时操作系统(RTOS)的软件模块,并且常用于嵌入式Linux系统,但它与这两种操作系统完全无关,RedBoot能够用于任何操作系统或RTOS,甚至没有操作系统也行,因为它本身包含了各种设备的驱动、文件系统、网络协议、内存管理等软件模块,可以自成为一个小型化了的操作系统。RedBoot自带一个GDB“存根进程(stub)”,可提供目标端通信软件,允许用户通过标准GDB协议命令进行远端调试,这样开发人员就能利用RedBoot与运行GNU调试器的主机通过串口或网络连接起来调试设计的嵌入式软件。RedBoot支持多种处理器架构和硬件平台,包括ARM、日立SHx、MIPS、PowerPC、SPARC以及x86等。

u-boot

u-boot是位处理器系统启动的意思,是DENX软件工程公司设计使用GNU license的免费bootloader,适用于各种基于PowerPC、ARM、MIPS以及其他一些架构处理器的嵌入式系统,u-boot主要是为启动Linux设计的。u-boot本身的功能也很完善,包含了各种设备的驱动、文件系统、网络协议、内存管理等软件模块,也可自称为一个小型操作系统。

CFE

      CFE是Common Firmware Environment即通用固件环境的缩写,它是由Broadcom Com公司专门针对其自己生产的MIPS(64)架构处理器开发的一款Bootloader软件,它功能很完备,也包含了各种设备的驱动、文件系统、网络协议、内存管理等软件模块。

Tomato保存cfe直接在web管理界面-系统管理-调试-下载cfe

tomato和openwrt路由器保存和写入cfe的方法

tomato写入cfe

1、将电脑和路由器LAN口相连,网卡地址设置为192.168.1.100,拔下路由器电源,选择CFE文件,点下tftp软件的更新固件按钮,然后插上路由器电源,等刷进去之后,你的路由器会停止启动。(这个时候是不能算是写入了cfe的。)

2、将tftpd32和ddcfe.bin复制到C盘根目录,启动tftpd32.exe,让它最小化。

3、打开浏览器,复制以下地址后回车:(我自己测试必须用这个才能刷的生效。也不知道在ssh下面怎么的刷)

http://192.168.1.1/do.htm?cmd=flash+-noheader+192.168.1.100:cfe.bin+flash1.boot

4、接着浏览器窗口会提示“Command completed”

5、点击“Continue”,回到miniweb升级窗口

6、点击“Restore default NVRAM values”

7、接着浏览器窗口会提示“Command nvram erase completed”

8、然后点重新reboot,如果不能自动重新启动的话,建议等个7-8分钟后手动重新启动。

修改cfe的mac地址方法

修改cfe的地址方法:(用winhex或者ue等16进制修改工具修改)

请在刷入前按照自己路由器标签上的mac进行相应修改,具体要修改的地方是:

et0macaddr=04-8d-38-11-22-** #这个是你的路由器后面贴的地址,一模一样

macaddr=04-8d-38-11-22-** #这个是你的路由器后面贴的地址,一模一样

这里要进行运算:

假设路由器标签上的mac为04-8d-38-11-22-33,

wan_macaddr=04-8d-38-11-22-34:即标签上的mac加1

wan2_macaddr=04-8d-38-11-22-35:再加1,即标签上的mac加2

wl0_hwaddr=04-8d-38-11-22-33:标签上的mac

wl0.1_hwaddr=04-8d-38-11-22-36:标签上的mac加3

以上运算都是16进制的:

如果最后一位是9,加1则为a,且不用进位

如果最后一位为f,加1则为0,并进位

9+1=a

a+1=b

f+1=10

OpenWRT的保存cfe方法(ssh到路由器,shell模式下操作)

1、dd if=/dev/mtd0 of=/tmp/U-Boot.bin                     (备份原始uboot)这个就是CFE了

2、dd if=/dev/mtd4 of=/tmp/art.bin                           (备份原始art)这个就是和无线信号有关系的

请把备份的来的文件用winscp复制到你的备份文件区域

恢复cfe

拷贝备份的2个相关文件到你路由器的tmp目录

cd /tmp
mtd -r write uboot.bin  u-boot

执行后系统会自动重新启动的。

如果无线信号有问题可再次恢复信号的art

cd /tmp
mtd -r write art.bin  u-boot

修改uboot 也就是cfe的mac地址

请使用的winhex打开不死uboot文件,找到0001FC00行的MAC,改成你自己的MAC即可, 务必不要改错了,否则变砖后果自负,这个也不知道是不是固定在这个位置的,请稍微注意下。如果不是的话请自行研究


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2020-07-16发布