JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC
使用的uboot版本是1.1.6,是打过u-boot-1.1.6_jz2440.patch的;
kernel使用的版本是3.4.2, 也是打过linux-3.4.2_camera_jz2440.patch的;
u-boot-1.1.6编译步骤如下(开发环境ubuntu16.04):
1. 添加环境变量
vim /etc/profile
export PATH=/usr/local/gcc-3.4.5-glibc-2.3.6/bin:$PATH
这里需要注意的是u-boot-1.1.6版本使用gcc-3.4.5版本去编译,如果用gcc-4.3版本去编译的话会报错。
2.使环境变量生效
source /etc/profil
3.编译
make 100ask24x0_config
make
编译完成后生成u-boot.bin。
kernel-3.4.2编译步骤如下(开发环境ubuntu16.04):
1.添加环境变量
这里需要注意的是上面编译u-boot时把交叉编译工具链设为了gcc-3.4.5,kernel-3.4.2版本编译需要用gcc-4.3.2,需要修改环境变量
vim /etc/profile
export PATH=/usr/local/usr/local/arm/4.3.2/bin:$PATH
2.使环境变量生效
source /etc/profile
3.编译
make uImage
编译完成后uImage生成在arch/arm/boot/目录下。
内核启动报错:Verifying Checksum ... Bad Data CRC
Reading data from 0x25f800 -- % complete.reading NAND page at offset 0x260000 failed
Could not read entire image due to bad blocks
bytes read: ERROR
## Booting image at 30007fc0 ...
Image Name: Linux-3.4.
Created: -- :: UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: Bytes = 2.3 MB
Load Address:
Entry Point:
Verifying Checksum ... Bad Data CRC
修改u-boot
查看u-boot-1.1.6/include/configs/100ask24x0.h,第59行:
#define MTDIDS_DEFAULT "nand0=nandflash0"
#define MTDPARTS_DEFAULT "mtdparts=nandflash0:256k@0(bootloader)," \
"128k(params)," \
"2m(kernel)," \
"-(root)"
kernel-3.4.2编译生成的uImage是2.3M, 而u-boot-1.1.6里面设置的是2m,明显分配小了。需要把第59行的2m修改为4m,再次编译u-boot。
修改kernel
查看linux-3.4.2/arch/arm/mach-s3c24xx/common-smdk.c第125行,
[] = {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M,
},
kernel分配的空间也是2M,太小了,修改成4M,即:
.size = SZ_4M,
再次编译kernel。
把u-boot.bin和uImage再次烧录到开发板,在uboot里输入b,成功启动。如下:
NAND read: device offset 0x60000, size 0x400000 Reading data from 0x45f800 -- % complete.
bytes read: OK
## Booting image at 30007fc0 ...
Image Name: Linux-3.4.
Created: -- :: UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: Bytes = 2.3 MB
Load Address:
Entry Point:
Verifying Checksum ... OK
XIP Kernel Image ... OK Starting kernel ...
kernel启动时串口输出乱码的解决方法
输出乱码的原因可能是串口的波特率实际是38400,并没有设置成115200。
在uboot里设置启动参数:
set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,
然后再输入b启动,这时串口输出就正常了。
JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC的更多相关文章
- Linux下Tomcat项目启动报错
Linux下Tomcat项目启动报错 org.springframework.beans.factory.CannotLoadBeanClassException: Error loading cla ...
- Linux安装ElasticSearch启动报错的解决方法
Linux安装ElasticSearch后,ElasticSearch是不能用root用户启动的,以root用户启动会报错Refer to the log for complete error det ...
- linux安装tomcat后启动报错Cannot find ./catalina.sh的解决方法
linux安装tomcat后启动报错: Cannot find ./catalina.shThe file is absent or does not have execute permissionT ...
- Linux下使用JDK11部署Nacos启动报错:Could not find or load main class
Linux下使用JDK11部署Nacos 错误日志 /nacos/jdk-11.0.12/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize ...
- linux查看与修改交换内存配置(解决zabbix-agent启动报错)
问题 zabbix-agent在一台centos6.5上启动报错: cannot allocate shared memory of size 949056: [28] No space left o ...
- Oracle启动报错ORA-03113解决
环境:RHEL6.4 + Oracle 11.2.0.4 步骤摘要:1.启动报错ORA-031132.查看alert日志查找原因3.根据实际情况采取合理的措施,这里我们先增加闪回区大小,把库启动起来4 ...
- Oracle启动报错ORA-27102解决
环境:RHEL5.5 + Oracle 10.2.0.4 此错误一般是因为数据库的初始化参数文件的内存设置不当导致.本例是因为操作系统参数设置问题导致. 当前现象:Oracle启动报错ORA-2710 ...
- weblogic启动报错
重启了一次linux服务器后,weblogic启动莫名报错,查看日志发现说部署的项目有个bean类无法加载, 1.然后手动删除 已经部署的项目,先在 domais/servers/AdminServe ...
- zookeeper启动报错(数据目录权限不对)
zookeeper启动报错日志: 2016-11-16 11:19:43,880 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@ ...
随机推荐
- coding++:MySQL-ERROR:Column 'complaint_settlement_id' in field list is ambiguous
(多表查询出现的问题)列'ID'在字段列表中重复,其实就是两张表有相同的字段,但是使用时表字段的名称前没有加表名,导致指代不明. 如 前面加上表名前缀就没问题了.
- Windows 7系统记录
http://www.winwin7.com/ win7带USB3.0和NVME驱动 http://www.mohuishou.com/ 其中的青苹果家园 支持UEFI+GPT机器 http://ww ...
- 基于MVP模式实现四则运算器
基于MVP模式四则运算器 来到新东家,项目的框架采用的是MVP模式,刚来公司的时候,项目经理给予分配小任务,首先熟悉MVP模式,而后普通的四则运算器的实现使用MVP分层.这里主要回顾当时做任务时候的对 ...
- [POI2014][树形DP]FarmCraft
题目 In a village called Byteville, there are houses connected with N-1 roads. For each pair of houses ...
- ShardingJDBC的基本配置和使用
一.ShardingSphere介绍 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC.Sharding-Proxy和Sharding-S ...
- 面试刷题32:你对tomcat做了哪些性能调优?
背景 java程序员的开发的java应用程序,一般都会选择使用tomcat发布,但是: 如何充分的掌控tomcat,并让它发挥最优性能呢? 这也是面试的热点问题,结合多年的工作实践,我是李福春,今天总 ...
- tensorflow编程学习路线及笔记
话不多说,直接上图! 关于人工智能算法学习思路,欢迎浏览我的另一篇随笔:如果你想开始学习算法,不妨先了解人工智能有哪些方向? 关于python编程学习路线及笔记,欢迎浏览我的另一篇随笔:python编 ...
- 使用Shiro+JWT完成的微信小程序的登录(含讲解)
使用Shiro+JWT完成的微信小程序的登录 源码地址https://github.com/Jirath-Liu/shiro-jwt-wx 微信小程序用户登陆,完整流程可参考下面官方地址,本例中是按此 ...
- 部署并测试动态WSGI站点
部署并测试动态WSGI站点 5.1问题 本例要求为站点webapp0.example.c ...
- 页面DIV弹出层 JS原生脚本
<script type="text/javascript"> /* * 弹出DIV层 */ function showDiv() { ...