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@ ...
随机推荐
- Ubuntu系统查看命令命令使用方式
如:[gzip]命令,可执行: (tf) duanyongchun@hc1217:~/pycharm_projects /3DUNet-Pytorch /data$ gzip --help 输出: 由 ...
- OI滚粗记
1) 第一次接触OI是在初一,现在算下都四年了,最开始还是用的Pascal,而现在,Pascal都快被淘汰了.四年的OI生涯让我领会了很多,虽然失去了很多,但是也收获了少,这场名叫OI的生活,我不后悔 ...
- [vijos1782]借教室<线段树>
题目链接:https://vijos.org/p/1782 题意:一个区间1,n.m次操作,每次操作让l,r区间值减去d,当有任何一个值小于0就输出当前是第几个操作 这道题其实是没有什么难度的,是 ...
- Vue 里面对树状数组进行增删改查 的方法
[{"id":"5e4c3b02fc984961a17607c37712eae0", "optLock":0, "parentId ...
- Javascript/Jquery实现日期前一天后一天
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- Spring Boot创建一个HelloWorld项目
目录 Spring Boot 简介 微服务框架 以前使用spring开发web的方式 Spring Boot 启动器介绍 如何创建一个helloword的SpringBoot项目 Spring Boo ...
- Metrics:如何让线上应用更加透明?
1. 上期我们结合<SRE Google 运维解密>,对监控系统进行了一次脉络梳理,知道一旦离开了监控系统,我们就没法辨别一个服务是不是在正常提供服务,就如同线上的服务在随风裸奔. 文章分 ...
- Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)
背景 继之前鼓捣出了Mapi解密插件之后,在团队内已经使用了三年之久,一跃成为团队最爱欢迎的测试工具之一(加个之一,低调谦虚一点). 随着团队推行HttpRunner搞接口自动化:编写和维护Case带 ...
- IDEA初学者实用小技巧
创建Web项目:1.(File-->new project)JavaEnterprise-->Web Application-->Next.2.配置Tomcat服务器:右上角的Edi ...
- Django 配置访问顺序 ->MTV开发模式
框架模式mvc m-->model 数据库 v-->view 视图 c-->controller 控件逻辑 mtv(django) m-->model 数据库 t--> ...