openwrt php 吃内存,941 V2 改Openwrt USB脱机 64M内存 编译uboot 、 固件

占楼备用。这层也占了吧。应该够用了。

已经全部都编译完毕了。安装环境花了1天。

还没有试tp-link 的 uboot 是否是真的屏蔽了USB。我从日志上看应该是没有禁用。晚上回去试下。

编译固件花了整整3天3夜,72小时。 主要时间都花在了,编译交叉编译工具链上了。

此贴用来发编译uboot、固件的方法。

下载 编译uboot需要用到的 TP-LINK GPL 。。。。。。

机器是941 V2.3所以我们要下载的就是 V2版本。

安装固件编译环境中。。。

安装Fedora 14 做为编译环境。

当然你要是不喜欢用 Fedora 也可以用别的。

具体的编译环境的配置,我就不细说了,我一般是缺什么安装什么。

我这只说固件要怎么改才能让USB可以用。

注意:我这用的是最新版的trunk. 如果你的是老代码,可能是不一样的。新版的文件目录改变。

这里写的路径都是相对trunk的路径。

目录 ./build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.10.24/arch/mips/ath79/修改 Kconfig

找到此位置 加入 红色内容

config ATH79_MACH_TL_WR941ND    bool "TP-LINK TL-WR941ND support"

select SOC_AR913X

select ATH79_DEV_DSA

select ATH79_DEV_ETH

select ATH79_DEV_GPIO_BUTTONS

select ATH79_DEV_LEDS_GPIO

select ATH79_DEV_M25P80

+    select ATH79_DEV_USB

select ATH79_DEV_WMAC

修改 mach-tl-wr941nd.c

加入头文件

#include "dev-usb.h"

在函数中加入调用。static void __init tl_wr941nd_setup(void)

{

......

ath79_register_usb();  // 调用USB初始化

}

添加完毕后,就完成了固件中USB的添加。

来一张 插上U盘后的TTL信息的图。

改8M固件

打开./tools/firmware-utils/src/mktplinkfw.c 看看

static struct flash_layout layouts[] = {

{

.id        = "4M",

.fw_max_len    = 0x3c0000,

.kernel_la    = 0x80060000,

.kernel_ep    = 0x80060000,

.rootfs_ofs    = 0x140000,

}, {

.id        = "4Mlzma",

.fw_max_len    = 0x3c0000,

.kernel_la    = 0x80060000,

.kernel_ep    = 0x80060000,

.rootfs_ofs    = 0x100000,

}, {

.id        = "8M",

.fw_max_len    = 0x7c0000,

.kernel_la    = 0x80060000,

.kernel_ep    = 0x80060000,

.rootfs_ofs    = 0x140000,

}, {

.id        = "8Mlzma",

.fw_max_len    = 0x7c0000,

.kernel_la    = 0x80060000,

.kernel_ep    = 0x80060000,

.rootfs_ofs    = 0x100000,

}, {

.id        = "16Mppc",

.fw_max_len    = 0xf80000,

.kernel_la    = 0x00000000,

.kernel_ep    = 0xc0000000,

.rootfs_ofs    = 0x2a0000,

}, {

/* terminating entry */

}

};

看到红色的字了吗,在代码中,已经定义好了4M 8M 16M的分区信息。

所以只要修改下面:

向下翻

{

.id        = "TL-WR941NDv2",

.hw_id        = HWID_TL_WR941ND_V2,

.hw_rev        = 2,

.layout_id    ="8M",

},

./target/linux/ar71xx/image/Makefile, 把941ndv2最后的4M改成了8M或8Mlzma或16M或16Mlzma就可以得到相应的固件

$(eval $(call SingleProfile,TPLINK,64kraw,TLWR941NV2,tl-wr941nd-v2,TL-WR941ND,ttyS0,115200,0x09410002,2,8M))

固件编译就说到这了。

下面研究研究编译带httpd的俗称刷不死的uboot.

待续......

[ 此帖被comeon010在2014-01-09 22:09重新编辑 ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值