免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1065 | 回复: 0
打印 上一主题 下一主题

buildroot玩法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-29 18:18 |只看该作者 |倒序浏览

openwrt 包结构
如果要修改文件
系统
中的etc/rc.d/rcS文件
那么要按照一下步骤进行
最终的文件系统位置:
build_mips/root/etc/rc.d/rcS
实际的修改位置
/package/base-files/default/etc/rc.d/rcS
修改后重新编译前要把下面的目录删除
rm -fr build_mips/linux-2.6-ar91xx/base-files
重新编译:
make
重新配置kernel并编译
修改kernel的配置文件,位于:
ap81-openwrt/target/linux/ar91xx-2.6/config
然后将下面的目录删除
rm build_mips/linux-2.6-ar91xx/ -fr
重新编译
固件升级方法:
cat
/home/user/ap81-openwrt/bin/uImage /home/user/ap81-openwrt/bin/pad.img
| head -c 2031616 > /home/user/ap81-openwrt/bin/linux.pad
cat
/home/user/ap81-openwrt/bin/info.pad
/home/user/ap81-openwrt/bin/linux.pad
/home/user/ap81-openwrt/bin/root.burn >
/home/user/ap81-openwrt/bin/WN802Tv2-no-crc.img
/home/user/ap81-openwrt/staging_dir_mips/../tools/appendsum
/home/river/ap81-openwrt/bin/WN802Tv2-no-crc.img
/home/user/ap81-openwrt/bin/WN802Tv2-V1.0.1_1.0.3"".img
firmware.img结构
-------------------
device:
version: 128byte
region:
-------------------
kernel(uboot format)
pad
--------------------
rootfs
pad
checksum
/ # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00400000 00010000 "rootfs"
mtd3: 00010000 00010000 "user-config"
mtd4: 001f0000 00010000 "uImage"
mtd5: 001b0000 00010000 "ART"
在升级前uhttp中的函数会先检查升级文件的合法性,首先检查checksum 然后检查device标志:
device标志在include/image.mk中的MODULE_NAME中定义。
升级函数采用mtd的方法把一个含有kernel和rootfs的文件写到对应的mtd块中
#define UPG_IMAGE_OFFSET 128
lseek(img_fd, UPG_IMAGE_OFFSET, SEEK_CUR);
sleep(5); /* wait for some seconds ... */
mtd_write(img_fd, len, UPG_MTD_LINUX);
mtd_write(img_fd, len, UPG_MTD_ROOTFS);
首先去掉头部信息。
然后将kernel写到/dev/mtd/4中,这块的大小是1f0000,故制作img的时候要pad head -c 2031616
这样的话kernel写完后 文件指针就指向rootfs的首地址,这样就能保证升级成功。
checksum采用perl脚本appendsum填在最后一个字节
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/83623/showart_1353786.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP