将U-Boot、uImage和rootfs烧入iMX53系统的4GB SD卡

来源:互联网 发布:天圆地方软件 编辑:程序博客网 时间:2024/06/05 20:35
转自: http://bbs.eplat.net/home.php?mod=space&uid=7047&do=blog&id=705

将U-Boot、uImage和rootfs烧入iMX53系统的4GB SD卡

相关操作步骤如下:
首先,准备工作

SD卡插入USB接口的SD卡读卡器,可以将bootloader、内核镜像文件和根文件系统烧写到SD卡上,为了简单化操作,请使用4GBSD卡。

 

首先通过以下命令来确认SD卡是否已经正常挂载到Linux主机下:

cat /proc/partitions

major minor #blocks name

78125000 sda

75095811 sda1

sda2

3028221 sda5

32 488386584 sdc

33 488386552 sdc1

16 3921920 sdb

18 3905535 sdb1

上例中,SD卡上挂载在/dev/sdb


第一步,在文件包里用ext2的格式创建rootfs自己创建的rootfs,则跳过

通过采用文件包里面的文件(L2.6.35_11.09.01_ER_images_MX5X.tar.gz->rootfs.ext2.gz)解压并创建rootfs,其命令如下

mkdir /mnt/rootfs

进入rootfs.ext2.gz文件所在文件夹,执行

gunzip rootfs.ext2.gz

mount -o loop -t ext2 rootfs.ext2 /mnt/rootfs

cp -r /mnt/rootfs .

export ROOTFS_DIR=/tools/rootfs


第二步,下载U-Boot.bin

进入u-boot.bin文件所在文件夹,通过以下命令来将U-Boot镜像文件烧写到SD卡(此操作将会删除分区表信息):

sudo dd if=u-boot.bin of=/dev/sdb bs=512 && sync && sync

 

下面操作为U-Boot镜像文件更新版本(此操作前面的1KB分区表信息将保留):

sudo dd if=u-boot.bin of=/dev/sdb bs=512 seek=2 skip=2 && sync && sync


第三步,下载uImage镜像文件

进入uImage文件所在文件夹,通过以下命令来将内核镜像文件烧写到SD卡:

sudo dd if=uImage of=/dev/sdb bs=512 seek=2048 && sync && sync

以上操作将uImage烧写如SD卡。


第四步,拷贝文件系统rootfs

首先,必须先创立一个分区,如果已经有一个分区,而且其空间够用的话,那么可以跳过以下步骤。

创建一个分区,其命令如下:

sudo fdisk /dev/sdb

其相关参数如下:

#d [repeat this until no partition is reported by the p’ command ]

#n [create new partition]

#p [create primary partition]

#1 [the first partition]

#8192 [starting at offset sector #8192, i.e. 4MB, which leaves enough space

for the kernel, the boot loader and its configuration data]

# 回车[using the default value will create partition that spans to the

last sector of the medium]

this writes the partition table to the medium and fdisk exits]

 

文件系统格式必须为ext3或者ext4,通过以下命令来格式化:
若是已经被挂载,则执行:
sudo umount /dev/sdb1(正常的话,跳过!)

sudo mkfs.ext3 /dev/sdb1

或者

sudo mkfs.ext4 /dev/sdb1

 

复制文件系统到分区(用户:admin)

mkdir /home/admin/mountpoint

sudo mount /dev/sdb1 /home/admin/mountpoint

 

复制后通过以下命令来确定里面的内容:

方法一,将编译后的rootfs烧入SD卡,执行以下:

cd /home/admin/rootfs(rootfs编译后或许在/home/lucid/ltib/ltib/rootfs)

sudo cp rpa [A-z]* /home/admin/mountpoint


方法二,直接将文件rootfs.ext2.gz烧入SD卡,执行以下:

gunzip rootfs.ext2.gz
mount -o loop -t ext2 rootfs.ext2 /mnt/rootfs

cd /mnt/rootfs

sudo cp rpa [A-z]* /home/user/mountpoint


sudo umount /home/admin/mountpoint

 

到此,文件系统已经顺利的烧写入SD卡。


最后,从SD卡运行系统

若是想从SD卡上启动,请按照下面的操作步骤来执行(注意蓝色字体部分,其正确内容必须以主机的实际情况来配置):

1.按下“POWER”键,使控制板上电;

2.确定内核镜像文件是从地址0x100000字节空间开始,且内核文件容量小于0x300000字节,而rootfs位于分区/dev/mmcblk0p1,确定之后,请执行以下命令:

setenv loadaddr 0x10800000
setenv bootargs 'console=ttymxc0,115200'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw ip=dhcp'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; mmc read 0 ${loadaddr} 0x800 0x1900;bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
run bootcmd 

如果使用飞思卡尔自带的 Mfgtools 下载 可以自己通过如下:
cd rootfs
tar -jcf rootfs.tar.bz2 bin boot dev etc home lib mnt opt proc root sbin share sys tmp unit_tests usr var
打包文件系统
0 0
原创粉丝点击