文档章节

跟 UMU 一起玩 OpenWRT(高级篇1):编译不死 U-Boot

UMU
 UMU
发布于 2014/05/21 16:14
字数 692
阅读 8441
收藏 12

    UMU 2010 年初就玩 OpenWRT/DD-WRT 了,蛋似编译东西还是初学者,本文纯属蛋疼的过程,欢迎批评教育,谢谢……

    首先到 https://github.com/pepe2k/u-boot_mod 看明白作者的说明。这里简单说一下原理:固件(firmware)刷坏,但 U-Boot 没坏,这是半砖,可以用 TTL 线连路由器,通过 U-Boot 的功能刷好 firmware。如果两者都坏了,叫全砖,只能把 Flash 拆下来,用编程器刷好 U-Boot 和 firmware。不死 U-Boot 就是修改了 U-Boot 的实现,使我们可以用 RJ-45 网线来救砖,省去拆机搭 TTL 线的麻烦。

    本质上说,这东西并非真的不死,只要 U-Boot 被刷坏了,还是会死,不过几率不大,因为 OpenWRT 官方发行的 ROM 全都是保护 U-Boot 区域的,根据 UMU 的经验,只有三个情况会不小心或故意刷坏:1、从原厂固件刷不良固件;2、在 DD-WRT 下搞破坏(DD-WRT 没有保护 U-Boot);3、自制固件去掉 U-Boot 写保护后搞破坏……如果您真的这么蛋疼,还是准备编程器吧,只要是软件问题,在编程器面前没有砖的概念。(JTAG 也是救砖神器,但不是每台路由器都有,比如 DIR-505 就没有!)

    由于 UMU 是 Windows 程序员,平时没有安装 Linux 桌面的习惯,蛋似由于做快游项目,买了不少服务器,都是 CentOS,所以第一步就是在 CentOS 上尝试编译,后来,您们懂的,爆出各种 213 码!服务器系统还是不适合开发!

    不得已就在 Hyper-V Server 2012 上安装了 Ubuntu 12.04.1-desktop-i386,本来是想安装 x64 版本的,但又怕这些嵌入式的东西对 x64 可能支持不够好,算了,不要装 13 了。

    接下来是选择编译环境了,按照 UMU 对 OpenWRT 的好感,明显是选择 OpenWrt Toolchain for AR71xx MIPS,然后开始编译,哗哗哗,编译好了……最后编译出来的 bin 却是 64KB+110B,尼玛,这 size 超标了,刷进去不是不死,是立刻死!

    然后终于明白了,作者其实并没有用这个编译过,他是用 Sourcery CodeBench Lite Edition for MIPS GNU/Linux 的,所以……为了节省时间,还是和作者保持一致吧!吐槽一下,这是商业软件,虽然有免费的 Lite 版本,但没搞明白为什么作者不用 OpenWRT 的……

    make dlink_dir505 一下,最后当然就编译出来了,UMU 还小修改了一下 Web 界面,加入了自己的特色,不过要提醒一下,不要加太多,会爆……只有 64KB 的空间!

© 著作权归作者所有

UMU

UMU

粉丝 119
博文 112
码字总数 44043
作品 0
厦门
程序员
私信 提问
加载中

评论(1)

LastRitter
LastRitter
谢谢分享!!!!!!!!!!!!!
跟 UMU 一起玩 OpenWRT(高级篇2):不拆机刷不死 U-Boot

在上一篇《编译 D-Link DIR-505 的不死 U-Boot》介绍了如何编译不死 U-Boot,但是不死 U-Boot 的作者只介绍了用 TTL 线刷方法,UMU 可不想拆机,毕竟拆机感觉并不好…… 第一个思路是刷上 DD...

UMU
2014/05/23
8.7K
3
跟 UMU 一起玩 OpenWRT(入门篇1):硬件选型和刷机

看了《跟hoowa学做智能路由》系列,http://www.leiphone.com/diy-a-smart-router.html,也想写点自己的经验,大家可以先看 hoowa 童鞋的,他已经写得很好了,UMU 的不同观点是硬件的选择而已...

UMU
2014/05/24
10K
4
为pcDuino安装OpenWrt

OpenWrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。OpenWrt支持各种处理器架构,无论是...

酸酸苹果汁
2014/02/18
6.8K
1
Hiwifi 刷 openwrt

参考地址: https://code.google.com/p/openwrt-hiwifi/ 极路由HC6361 OpenWrt固件补丁 (HiWiFi tw150v1) 说明 · OpenWrt官方源码自r40975起(2014/06/02)支持HC6361,本项目只做基于官方版...

老汉-憨憨
2015/01/11
10.8K
2
移植OpenWrt到RT5350

slider >>> Too few posts! (required minimum are 3) (the featured image may be missing) Previous 移植OpenWrt到CuHead Pro WiFi Posted by: zou, baozhu , 三月 13, 2014 CuHead Pro是一......

Pillar_zuo
2014/03/13
23.3K
5

没有更多内容

加载失败,请刷新页面

加载更多

总结:TCP/IP协议

一、介绍 TCP协议属于OSI七层模型中的传输层协议,提供处于网络连接中的两台计算机之间的数据 传输。   在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议...

浮躁的码农
7分钟前
1
0
一言不合就删库跑路?万名贡献者和阿里巴巴开源的二三事

9 月 27 日云栖大会,阿里巴巴宣布贾扬清担任开源技术委员会负责人。 有人问:开源是为了什么? 从个人视角看,可以证明自己的专业能力,获得行业认可; 从企业视角看,可以建立技术影响力,...

大涛学弟
17分钟前
2
0
JAVA编程注意事项(性能篇)

1. 尽量在合适的场合使用单例 使用单例可以缩短加载的时间,提高加载的效率,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生...

你好夜故事
19分钟前
2
0
List 前端 AngularJS JS 对IP排序

数据格式 $scope.dataList=[ {"ip":"192.168.10.10", "port":"8080",...}, { "ip":"192.168.10.12", "port":"8080",... } ,.....] 调用 $scope.ipSortForward($scope.dataList,"ip") 核心代码......

最菜最菜之小菜鸟
19分钟前
2
0
浅析Cassandra LeveledCompactionStrategy

前言 Cassandra是基于LSM架构的分布式数据库。LSM中有一个很重要的过程,就是压缩(Compaction)。默认的压缩策略是SizeTieredCompactionStrategy,今天主要说一下另一种压缩策略LeveledComp...

阿里云官方博客
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部