sysupgrade.bin 及分区结构 您所在的位置:网站首页 手机系统分区修改工具 sysupgrade.bin 及分区结构

sysupgrade.bin 及分区结构

2023-03-27 13:57| 来源: 网络整理| 查看: 265

http://www.mamicode.com/info-detail-842416.html

1. make menuconfig 后编译没有生成openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin ,究其原因是因为image超出了flash定义的大小,实际的flash是8M的,编译703N的时候没有修改配置编译成4M的了 ,修改下面两个文件(trunk 版本)

1. 

vi tools/firmware-utils/src/mktplinkfw.c

.id = "TL-WR703Nv1",.hw_id = HWID_TL_WR703N_V1,.hw_rev = 1,.layout_id = "4Mlzma",//将4Mlza改为8Mlzma保存即可。

 

2.

vi target/linux/ar71xx/image/Makefile

define Device/tl-wr703n-v1$(Device/tplink-8mlzma)  //将4mIzma 修改为8mIzmaBOARDNAME := TL-WR703NDEVICE_PROFILE := TLWR703TPLINK_HWID := 0x07030101CONSOLE := ttyATH0,115200endef

 

系统结构

在上一章我们已经完成了刷机工作,这个时候系统进行了首次启动,并且格式化了它的"可写"分区。那么在设备里分区到底是怎么样进行的呢?我们首先需要知道:不同的处理器下OpenWRT分区是略微有所区别,不是所有的分区都完全相同的。在路由器的FLASH上,内核中所使用的驱动是MTD设备驱动。

MTD(Memory Technology Devices,内存技术设备)是用于访问内存类设备(ROM、FLASH)的Linux驱动子系统。它的主要目的使FLASH类设备更加容易被访问,为此它在硬件和上层提供了一个抽象的接口,使得在操作系统下我们可以像操作硬盘一样操作这个设备。仔细观察过Linux启动信息的朋友会看到这么一段话:

[ 0.690000] 5 tp-link partitions found on MTD device spi0.0[ 0.700000] Creating 5 MTD partitions on "spi0.0":[ 0.700000] 0x000000000000-0x000000020000 : "u-boot"[ 0.710000] 0x000000020000-0x00000012a290 : "kernel"[ 0.730000] 0x00000012a290-0x0000007f0000 : "rootfs"[ 0.760000] 0x000000300000-0x0000007f0000 : "rootfs_data"[ 0.760000] 0x0000007f0000-0x000000800000 : "art"[ 0.770000] 0x000000020000-0x0000007f0000 : "firmware"

这些信息表示当前系统识别到的FLASH分区。我们可以用电脑中的计算器计算一下,打开计算器,选择科学型、十六进制,输入名为art的分区容量用(800000-7f0000)结果为10000(十六进制),这个时候点击十进制,系统会自动将结果转换为十进制,再除以1024结果为64(K)表示这个分区容量为64k。在openwrt的系统中现在对atheros方案实现了自动查找分区结尾。

上面的几个分区,我来说明下(分区名称、分区容量、分区作用):

"u-boot":128KB,设备初始化程序+引导程序代码本身"kernel" :1MB,存放系统内核的二进制代码,按照x86下的讲法是Raw分区,就是这里只有内核的二进制,不存在文件系统。"rootfs":6.7MB,完整的系统文件包含只读和可写"rootfs_data":4.9MB,在rootfs中的可写部分的位置"art":64KB,EEPROM分区,在Atheros的方案中这个分区保存了无线的硬件参数"firmware":7.9MB,完整的固件位置包含了除"u-boot"和"art"之外全部的内容 0 0 sysupgrade.bin 及分区结构 openwrt无法生成sysupgrade.bin linux磁盘结构及分区 linux磁盘结构及分区 FAT硬盘及分区结构 Openwrt squafs文件系统及sysupgrade升级探究 谈linux磁盘结构及分区 谈linux磁盘结构及分区 谈linux磁盘结构及分区 Ubuntu系统目录结构及分区原则 硬盘存储结构及分区简介 openwrt tftp 烧录openwrt-ramips-mt7628-mt7628-squashfs-sysupgrade.bin wince的bin结构 硬盘结构与分区 GPT分区解析结构 GPT分区结构 UEFI/GPT分区结构 数据库分区及分区优点 bestcoder Round #75(前四) Struts 2.x Java\jdk1.7.0_79\bin\java.exe finished with non-zero exit value 2的错误处理 【翻译自mos文章】怎么检查、启用、禁用 Oracle binary的option? ConcurrentHashMap实现细节 sysupgrade.bin 及分区结构 关于C语言中 字符串常量的问题 Windows 环境变量的两点说明 Tomcat数据源 opewrt 应用注意 线程属性_实时调度 JavaBeans 部分 API学习笔记 视频播放AVPlayer的使用


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有