通过对pack的解析,知道了boot.img是kernel的打包镜像,在实际开发过程中,通常采用USB(dnw-Samsung,fastboot),TFTP下载boot,kernel,是调试中常用的方式
一、系统分区
1、查看系统分区
当系统启动时,会在终端输出的 “fastboot partitions” 信息,可以看到总共划分了6个部分,当读秒时,进入uboot,输入print查看当前环境变量,可以看到目前系统配置的MMC参数。在目标平台,系统进入Linux后,可以通过fdisk -l查看详细的配置信息,fdisk -l可以看到隐藏的uboot部分的分配。
uboot#
print
linux#
fdisk -l
二、修改kernel源码,以便验证功能
1、查找Linux输出信息
在Booting Linux on physical后添加一条输出,验证boot.img成功下载到目标平台
1)、查找Booting Linux on physical位置
grep 'Booting Linux on physical' * -r
打开 arch/arm/kernel/setup.c文件
dragonboard/linux-3.4$
2、添加kernel打印输出,编译
1)、修改源码
为了标示与原有kernel有区分,在kernel启动时添加打印,修改源码。
dragonboard/linux-3.4$
vi arch/arm/kernel/setup.c
添加自己的输出信息Booting Linux my test hello linux
printk(KERN_INFO "Booting Linux my test hello linux\n");
2)、重新编译
dragonboard$
执行
./build.sh
3)、将boot.img传输到Win10中
将linux-3.4/output/目录下的boot.img传输到Win10中,编译好的boot.img文件刷写
三、进入uboot模式,刷写kernel
1、在读秒时,按下空格,进入uboot模式,输入fastboot
fastboot
2、在Win10中进入要下载的目录,烧写boot.img到MMC中
1)、win +R cmd 进入Win10终端界面,输入下面命令(进入相应目录),刷写
F:
回车
cd \A33_learn\a33_img
回车
fastboot.exe erase boot
fastboot.exe flash boot boot.img