如何合并内核image文件和根文件系统image文件,并以下烧写至flash。
可能标题写的不很清楚,这样说:
嵌入式开发中,我们一般生成的image文件一般包括:
内核文件,比如vmlinux.lzma.uIma,烧在flash一个区,比如分区2;
跟文件系统,比如rootfs-squashfs,烧在flash一个区,比如分区3;
配置文件,比如configs-ramfs,烧在flash一个区,比如分区4;
平时都是调试哪个区,就重新烧某个区就行了。
如果,最后成产品,给客户,想把所有的这些文件弄成一个image,一次性的烧录进flash,请问:
1. 如何将这些文件合并成一个文件。
2. 如何烧录,是不是只要更改烧录地址和大小就行了吗?
非常感谢。
------解决方案--------------------这样是不行的.
必须分开,当然事在人为,如果偏要这么做,应该也有办法.
load kernel时, 比如是从nand读 nand read addr nandaddr_start len
然后bootm addr 这样启动内核的. 这中间会对 kernel数据进行校验.
根文件系统是在kernel之后的, 由bootloader中传的值进行确定位置, 比如 /dev/mtdblock3
, 如果是一直读怎么分别确定二者的大小. 头从哪里开始. 数据的头如果都错的, 后面就运行不起来了.
image大小是按字节分的, 但是nand是按块来的, 二者混在一起, 很难处理.
------解决方案--------------------内核和根文件系统可以放在同一个镜像里,至于配置文件系统不太了解。