内核4.1.36移植启动成功
kernel    2017-03-02 19:47:46    82    0    0
tianwaifeixian   kernel

 

这里进去的u-boot还是我移植的那个版本呢

执行以下命令:擦出坏块

nand bad​


擦出内核坏块

SMDK2440 # nand scrub.part kernel 
NAND scrub.part: device 0 offset 0x60000, size 0x600000
Warning: scrub option will erase all factory set bad blocks!
 There is no reliable way to recover them.
 Use this command only for testing purposes if you
 are sure of what you are doing!
Really scrub this NAND flash? <y/N>
y
Erasing at 0x640000 -- 100% complete.
OK​

 

SMDK2440 # nand erase.part kernel
NAND erase.part: device 0 offset 0x60000, size 0x600000
Skipping bad block at 0x00100000 
Skipping bad block at 0x00120000 
Skipping bad block at 0x00200000 
Skipping bad block at 0x00220000 
Skipping bad block at 0x00300000 
Skipping bad block at 0x00320000 
Skipping bad block at 0x00400000 
Skipping bad block at 0x00420000 
Skipping bad block at 0x00500000 
Skipping bad block at 0x00520000 
Skipping bad block at 0x00600000 
Skipping bad block at 0x00620000 
Erasing at 0x640000 -- 100% complete.
OK​

擦除root分区坏块​

SMDK2440 # nand scrub.part root
NAND scrub.part: device 0 offset 0x660000, size 0xf9a0000
Warning: scrub option will erase all factory set bad blocks!
 There is no reliable way to recover them.
 Use this command only for testing purposes if you
 are sure of what you are doing!
Really scrub this NAND flash? <y/N>
y
Erasing at 0xffe0000 -- 100% complete.
OK​​
nand bad​


还是出来一大堆 。。。。。。。。。。。。。。。
重新烧写u-boot 现在烧写的这个是韦东山的版本 不过我修改了一下内核的空间 改成6m了

这么做主要是先保证u-boot是没有问题的 在这个基础上测试移植的内核是否可也正常启动

用oflash烧写开始。。。。。。。。。。。。

 

开始在现有u-boot基础上测试新的内核:
首先擦拭原有的:

OpenJTAG> nand erase kernel
NAND erase: device 0 offset 0x60000, size 0x600000
Erasing at 0x640000 -- 100% complete.
OK​​

用dnw下载内核:(nfs在我机器上死活用不了 醉了~)

Enter your selection: k
USB host is connected. Waiting a download.
Now, Downloading [ADDRESS:30000000h,TOTAL:3019770]
RECEIVED FILE SIZE: 3019770 (982KB/S, 3S)
NAND erase: device 0 offset 0x60000, size 0x600000
Erasing at 0x640000 -- 100% complete.
OK​
NAND write: device 0 offset 0x60000, size 0x2e13f0
Writing data at 0x341000 -- 100% complete.
 3019760 bytes written: OK​

b启动

Enter your selection: b
Booting Linux ...
NAND read: device 0 offset 0x60000, size 0x600000
Reading data from 0x65f800 -- 100% complete.
 6291456 bytes read: OK​
 
## Booting image at 30007fc0 ...
 Image Name: Linux-4.1.36
 Created: 2017-02-28 7:56:03 UTC
 Image Type: ARM Linux Kernel Image (uncompressed)
 Data Size: 3019696 Bytes = 2.9 MB
 Load Address: 30108000
 Entry Point: 30108000
 Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
���������������������������������������������������������������​

乱码 我擦~~~
尝试修改机器ID:

OpenJTAG> set machid 16a
OpenJTAG> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
�penJTAG> reset​


失败。。。。。。。。。。。。。。。。。

看一下当前环境变量的启动参数:

OpenJTAG> printenv
bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0
bootdelay=2
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
netmask=255.255.255.0
ipaddr=192.168.0.110
serverip=192.168.0.124
bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
filesize=0
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),6m(kernel),-(root)
machid=16a
stdin=serial
stdout=serial
stderr=serial
partition=nand0,0
mtddevnum=0
mtddevname=bootloader
Environment size: 467/131068 bytes​


果然没有设置波特率
设置一下波特率:

OpenJTAG> set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
OpenJTAG> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
OpenJTAG> reset​


搞定!
到此可也确认移植的内核可也正常启动了
下一个看看移植的u-boot是否正常。。。。。

===============================================================

其他:

nfs命令烧写方法:

nfs 30000000 192.168.0.103:/work/nfs/uImage
nand erase.part kernel
nand write 30000000 kernel
 ​

烧写u-boot坏块问题:http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=753&highlight=%BB%B5%BF%E9

还是从第0块开始烧写。
如果你是用u-boot烧写的,你用 nand write.jffs2 命令烧写,这样可以跳过坏块。
同时,你要看看从NAND拷贝代码到SDRAM的那段代码,如果没有判断坏块则加上判断是一个坏块的话就跳过,直到是一个好块。


上一篇: 搭建leanote

下一篇: make htmldocs 制作内核文档

82 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航