升级pb44方案内核---第二章(内核压缩与文件系统)
2017-01-23 16:02
344 查看
一、内核压缩
我们的内核使用的是gz格式镜像,项目中采用的lzma格式镜像并分布解压的方法。我使用pb47方案的工具链编译发现内核的lzma镜像在最终的bin中地址发生了偏移,导致redboot无法正确读取的内核的地址,lzma解压失败,无法启动内核。该问题弄了好久,后面突然发现使用pb44的工具链编译出来的内核的lzma镜像在最终的bin中地址是正确的,可用之前套用我们原来项目中一整套内核解压的方案,所以该问题就算结束了。内核解压方案和openwrt里面实现是类似的,具体实现就不方便给出了。
二、文件系统
2.6.15内核的squashfs文件系统版本是3.4;对应的宿主机工具可用创建大端的文件系统;而2.6.31内核的squashfs文件系统版本是4.0,不能创建大端的文件系统,只有小端格式;而7161又是个大端片子。本打算修改squashfs-tools使其支持大端文件系统制作,后面通过对比发现不好修改,所以想了下,内核自己应该能够识别小端的文件系统,故修改文件系统头识别函数,转换下就可以了。
我们的内核使用的是gz格式镜像,项目中采用的lzma格式镜像并分布解压的方法。我使用pb47方案的工具链编译发现内核的lzma镜像在最终的bin中地址发生了偏移,导致redboot无法正确读取的内核的地址,lzma解压失败,无法启动内核。该问题弄了好久,后面突然发现使用pb44的工具链编译出来的内核的lzma镜像在最终的bin中地址是正确的,可用之前套用我们原来项目中一整套内核解压的方案,所以该问题就算结束了。内核解压方案和openwrt里面实现是类似的,具体实现就不方便给出了。
二、文件系统
2.6.15内核的squashfs文件系统版本是3.4;对应的宿主机工具可用创建大端的文件系统;而2.6.31内核的squashfs文件系统版本是4.0,不能创建大端的文件系统,只有小端格式;而7161又是个大端片子。本打算修改squashfs-tools使其支持大端文件系统制作,后面通过对比发现不好修改,所以想了下,内核自己应该能够识别小端的文件系统,故修改文件系统头识别函数,转换下就可以了。
相关文章推荐
- mac+intellij 搭建测试工程遇到的问题记录
- TRUNCATE DELETE DROP的比较
- RichEdit读取rtf格式
- 生于斯,归于斯
- Android Gson 解析泛型报错
- elk源码安装
- Codeforces Round #388 (Div. 2)B Parallelogram is Back
- 单例模式之传递Context参数
- Java计算某天任意天数后是哪一天
- 聚合数据全国天气预报API--ajax 通过城市名取数据
- android动态背景色圆形头像
- Spring Boot WAR包运行原理分析
- maven详解之坐标与依赖
- TCP三次握手/四次挥手详解
- Android相机Camera基础知识
- 字符集
- 父子组件通信
- openwrt移植到pb44---第一章(遗留问题)
- 第十五节 Case Class与模式匹配(二)
- 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。