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

转自:  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

8 0 78125000 sda

8 1 75095811 sda1

8 2 1 sda2

8 5 3028221 sda5

8 32 488386584 sdc

8 33 488386552 sdc1

8 16 3921920 sdb

8 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 a new partition]

#p [create a 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 a partition that spans to the

last sector of the medium]

w [ 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 

你可能感兴趣的:(linux,centos,u-boot)