S3c6410 linux内核移植(11)---用SD卡下载uboot、linux内核和文件系统

1、 移植mtd-utils:

a下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/

b) 交叉编译mtd-utils

i   修改Makefile   CROSS=arm-linux-
ii  make
iii 查看下mtd-utils-1.0.0目录下是否生成了咱们所需要大工具    

(flashcp,nandwrite......等)。有工具生成了,OK,交叉编译成功。
iv 将生成大工具拷贝到文件系统开发板的根文件系统,放在/bin 或/sbin 都行。

2、 sd卡烧录

a) 在安装了 Linux  PC 机上通过 fdisk 给一张空的SD 卡分为 2 个区(如果SD卡中本身已经包含 ,请通过fdisk的“d”命令全部删除),得到如下的分区表:

Command (m for he lp) : p

Di sk /dev/ sdb: 1030 MB, 1030225920 byte s

32 he ads, 62 se c tor s / t rack, 1014 cyl inde r s

Uni t s = cyl inde r s of 1984 * 512 = 1015808 byt e s

Di sk ident i f ie r : 0x6f20736b

Devic eBoot  Sta r t  End  Blocks  Id  Sys tem

/dev/ sdb1 *  1  20  19809   83   Linux

/dev/ sdb2 21  1014  986048  83  Linux

注意第 1 个分区制作的命令为:

Command (m for he lp) : n

Command a c t ion

 ext ended

 primary partit ion (14)

p

Partition numbe r (1-4): 2

Firs t cyinde r (11014, defaul t 21) :

Using defaul t value 21

Last cyl inder, +cyl inde rs or +s ize{K,M,G} (11014,defaul t 1014) : 20M

 2 个分区制作的命令是:

Command (m for he lp) : n

Command action

e  ext ended

p  primary partition (14)

p

Partition numbe r (14): 2

Firs t cyl inde r (211014)defaul t 21) :

Us ing defaul t value 21

La st cyl inder, +cyl inde r s or +s iz e{K,M,G} (211014,de faul t 1014) :

Us ing defaul t value 1014

Command (m for he lp) :

我们还要通过“a”命令标记第 1 个分区:

Command (m for he lp) : a

Pa rtition numbe r (14) : 1

最后要通过“w”命令把建好的分区表写入 SD 卡。

b) 格式化 SD 卡的分区 1 和分区 2

mkfs .vfa t /dev/ sdb1 mkfs. ext3 /dev/ sdb2 fsck.ext3 /dev/ sdb2

c) 通过 moviNAND_Fusing_Tool.exe 烧写 SD  UBOOT  zImage

更新SD卡根文件系统的方法很简单,在PC机器上 mount /dev/sdb2 后,直接通过

cp fa <your rootfs> <sdb2mountpoint>的方式就可以替换根文件系统了。<yourrootfs>是你的根文件系统的目录,<sdb2mountpoint>是你的/dev/sdb2 挂载的目录。特别要注意的是,SD 的设备节点不一定是/dev/sdb,应该视用户电脑的硬盘情况而言,可能是/dev/sdc/dev/sdd 等。

3、 nand烧录

a) 更新NANDUBOOT

先把在电脑上把uboot复制到sd卡根文件系统中;再运行# f lashcp ubootmovi.bin /dev/mtd0

b) 更新NAND分区中的Linux内核

建立fix-image脚本,内容为:

rm arch/arm/boot/zImage-fix;

dd if=arch/arm/boot/zImage of=arch/arm/boot/zImage-fix bs=2048 count=4096 conv=sync;

chmod 755 arch/arm/boot/zImage-fix;

编译内核

注意执行最后一步./fix-image脚本,将编译好的zImage-fix复制到sd卡根文件系统中;运行:# flashcp zImage-f ix  /dev/mtd1

c) 更新NAND分区中的文件系统

 PC 上将做好的新的根文件系统拷贝入 SD 卡的某目录,下面我们以<new_rootfs_dir>指代该目录。

 SD 卡或 NFS 为根文件系统启动系统,运行如下命令擦除dev/mtd2分区:# flash_eraseall /dev/mtd2;然后将 NAND 的该分区 mount /mnt:    # mount /dev/mtdblock2 t yaffs2 /mnt 将新的文件系统拷贝到/mnt

# cp fa <new_rootfs_di r> /mnt;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值