作者归档:六月和饭

openwrt的8m固件attitude_adjustment和trunck版源码修改

这个方法适用与2012年冬季之后的attitude_adjustment和trunck版的openwrt。

我这里是参考了一下之由在csdn上的一篇文章

==========================================================
trunk/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,
}, {
/* terminating entry */
}
};

static struct board_info boards[] = {
{
.id = "TL-MR3020v1",
.hw_id = HWID_TL_MR3020_V1,
.hw_rev = 1,
.layout_id = "4Mlzma",
}, {
.id = "TL-MR3220v1",
.hw_id = HWID_TL_MR3220_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-MR3420v1",
.hw_id = HWID_TL_MR3420_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WA701Nv1",
.hw_id = HWID_TL_WA701N_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WA901NDv1",
.hw_id = HWID_TL_WA901ND_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WA901NDv2",
.hw_id = HWID_TL_WA901ND_V2,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR741NDv1",
.hw_id = HWID_TL_WR741ND_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR741NDv4",
.hw_id = HWID_TL_WR741ND_V4,
.hw_rev = 1,
.layout_id = "4Mlzma",
}, {
.id = "TL-WR740Nv1",
.hw_id = HWID_TL_WR740N_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR740Nv3",
.hw_id = HWID_TL_WR740N_V3,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR743NDv1",
.hw_id = HWID_TL_WR743ND_V1,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR841Nv1.5",
.hw_id = HWID_TL_WR841N_V1_5,
.hw_rev = 2,
.layout_id = "4M",
}, {
.id = "TL-WR841NDv3",
.hw_id = HWID_TL_WR841ND_V3,
.hw_rev = 3,
.layout_id = "4M",
}, {
.id = "TL-WR841NDv5",
.hw_id = HWID_TL_WR841ND_V5,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR841NDv7",
.hw_id = HWID_TL_WR841ND_V7,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR941NDv2",
.hw_id = HWID_TL_WR941ND_V2,
.hw_rev = 2,
.layout_id = "4M",
}, {
.id = "TL-WR941NDv4",
.hw_id = HWID_TL_WR941ND_V4,
.hw_rev = 1,
.layout_id = "4M",
}, {
.id = "TL-WR1043NDv1",
.hw_id = HWID_TL_WR1043ND_V1,
.hw_rev = 1,
.layout_id = "8M",
}, {
.id = "TL-WR2543Nv1",
.hw_id = HWID_TL_WR2543N_V1,
.hw_rev = 1,
.layout_id = "8Mlzma",
}, {
.id = "TL-WR703Nv1",
.hw_id = HWID_TL_WR703N_V1,
.hw_rev = 1,
.layout_id = "4Mlzma",//-->8Mlzma
}, {
/* terminating entry */
}
};

新版只用改fw的大小,分区表会自动认,不用像老版自己定义每个分区大小了。

比如8m flash就是把相应的.layout_id改了就可以了。

==========================================================

然后在打开./target/linux/ar71xx/image/Makefile

找到相应设备所在行,把4m改为8m,这里一定要把所有的相应型号设备的所有硬件设备的所在行都改了,比如编译wr941n就要把wr941 v2 v3 v4所在行都改了

 

$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV2,tl-wr941nd-v2,TL-WR941ND,ttyS0,115200,0x09410002,2,8M))
$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV3,tl-wr941nd-v3,TL-WR941ND,ttyS0,115200,0x09410002,2,8M))
$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV4,tl-wr941nd-v4,TL-WR741ND,ttyS0,115200,0x09410004,1,8M))

这样可以避免image too big的问题。

 

搬家到freehostia

今天我把我的博客六月和饭搬到了freehostia的主机上了,现在记录一下。

我的博客也是从几月前开通到现在不过经历了几个月,但是由于我总是对当前环境的不满所以现在已经是第3个主机了,前两次分别是我笔记本上的虚拟机和同学暂时不用的小主机,但是由于它们都不能常开机,而且校园网又很不稳定,所以最终我决定把博客搬到国外靠谱点的主机上。 继续阅读

什么是martian source记录

前段时间我我想把一个小主机放到一个路由器上做为这个博客的主机,但是我无论怎么设置都没能让外网也能访问我的主机,我把域名对应到路由器上,把路由器的80端口对应到小主机的ip上,我修改了很多次防火墙设置,按照网上的资料让selinux放行http服务,在两天的空闲时间做过诸多尝试,但均以失败告终,我想不明白为什么同样的设置在虚拟机下可以用,但在实体主机上却不能用,最后我通过观察系统的log发现了有个martian source的记录,这条记录上有一个外网ip和本机的ip,后来经过我测试,发现每当我从外网访问我的博客时,主机上都会有几条这种记录,于是我就查了下,具体在这个网页上找到了snowjay的解释。解释如下: 继续阅读

MySQL数据库备份和还原的常用命令

备份MySQL数据库的命令

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份 继续阅读

博客正式开通了!

大约是在2009年吧,那个时候我还是高二,那是我就知道了有Oray(花生壳就是他家的)这种可以免费申请二级域名并提供相应动态解析服务的域名提供商,那时我有点就想要自己的网站,但无奈自己那时对网站内部完全不了解,而且也没多少的需求。

大约是在2011年的上半年我在大一暑假时比较无聊的时候看了《鸟哥的Linux私房菜》,之后对用Linux的相关应用有了了解。

同时在2011年暑假的前段时间和朋友一起做android应用(《非诚勿扰》(又名《天生一对》)大家可以去移动的应用商店下载),那个时候经常去网上查各种技术相关的资料,看到了许多高手都拥有自己的独立博客,发布自己在学习时的感悟,我觉得这样很好,然后又在左岸的博客上说我们应该要有RSS订阅来学习知识和获得信息,要有博客来总结自己的学习,工作和生活。

然后到了冬天,我时间变得很多的时候,我建立了我自己的博客——JunEFan。