IMX6ULL --- SD卡作为启动设备,设置SD卡
参考资料:
IMX_LINUX_USERS_GUIDE.pdf
通过SD卡镜像文件一次性拷贝所有文件到SD卡(Copying the full SD card image)
1、制作SD卡镜像文件
在电脑主机ubuntu系统上制作一个SD卡镜像文件
dd if=/dev/zero of=<image name>.wic bs=1M count=32
2、拷贝文件到SD卡镜像文件
在SD卡镜像文件内创建分区,由于需要两个分区,需要通过loop技术把镜像文件虚拟化为块设备,百度-->linux 创建镜像文件 分区
地址 0x400处(1K)开始存放imx6的uboot,kernel image 和设备树放在第一个分区,格式是FAT,根文件系统放在第二个分区,格式是EXT3/EXT4,如下图:
3、SD卡镜像文件拷贝到SD卡
整个SD卡的内容被SD卡镜像文件占用,如果SD卡镜像是4G,SD卡是8G,那多余的4G无法被使用
sudo dd if=<image name>.wic of=/dev/sdx bs=1M && sync
文件依次直接拷贝到SD卡(Partitioning the SD/MMC card)
在电脑主机ubuntu系统上先对SD卡进行分区,然后拷贝uboot到某个偏移处,kernel image 和设备树拷贝到分区1,根文件系统拷贝到分区2
分区
假如 SD设备是 /dev/sdx,使用如下命令分区
拷贝 uboot
拷贝 uboot 到SD卡中,需要偏移一定地址,对于imx6偏移1k
注:SD卡的前16K是存放分区表,无法使用。
拷贝 kernel image 和设备树
格式化分区1,拷贝 kernel image 和设备树到分区1
SD卡的各个分区都属于块设备,需要先挂载到某个目录下才能拷贝文件
拷贝根文件系统
最后格式化分区2,拷贝根文件系统到分区2