Linux内核---19.S3C6410制作SD卡上的Linux文件系统

本文详细介绍OKC6410从SD卡启动的过程,包括SD卡分区、内核配置与加载、文件系统拷贝等关键步骤,并提供具体操作指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OKC6410使用---6SD启动详细分析  
http://blog.chinaunix.net/uid-26009923-id-3331236.html
上一篇文章分析了6410从SD卡启动的过程,及如何将编译好的u-boot.bin写到SD卡的相应位置上,使它支持从SD卡启动.

一.分区
用fdisk将SD卡分为两个区
  1. sun@ubuntu:/work/6410/uboot/uboot1.1.6$ sudo fdisk -/dev/sdb

  2. Disk /dev/sdb: 7948 MB, 7948206080 bytes
  3. 245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
  4. Units = sectors of 1 * 512 = 512 bytes
  5. Sector size (logical/physical): 512 bytes / 512 bytes
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes
  7. Disk identifier: 0xbecdcb33

  8.    Device Boot Start End Blocks Id System
  9. /dev/sdb1 2048 43007 20480 83 Linux
  10. /dev/sdb2 43008 15523839 7740416 83 Linux
    分区         类型       大小
 /
dev / sdb1    vfat      20M
/dev/sdb2    ext3      剩余的

二.内核
2.1 内核
a. 编译内核生成zImage
b. 挂载SD卡的vfat分区,并将zImage拷贝过去
    mount  /dev/sdb1 /tmp/vfat
    cp   zImage /tmp/vfat
c. 在u-boot的include/configs/smdk6410.h中设置boot_cmd  
  1. #define CONFIG_BOOTCOMMAND "fatload mmc 0:1 50008000 zImage; bootm 50008000"
从SD卡的vfat分区读取zImage到内存的0x50008000, 然后从0x50008000处启动

三. 文件系统
3.1 将文件系统拷贝到sd卡的ext3分区
a. 挂载SD卡的ext3分区,并将解压后的FileSystem-Yaffs2.tar.gz拷贝过去
    mount  /dev/sdb1 /tmp/ext3
    tar xf FileSystem-Yaffs2.tar.gz
   sun@ubuntu:/work/6410/FileSystem-Yaffs2$ cp -arf ./* /tmp/ext3
b. 设置kernel的启动参数
在u-boot的include/configs/smdk6410.h中设置启动参数
  1. #define CONFIG_BOOTARGS "root=/dev/mmcblk0p2 rootfstype=ext3 console=ttySAC0,115200 init=/linuxrc rootwait=5"
注意: root=/dev/mmcblk0p2是SD卡的第二个分区,如果是其它分区,要修改此处

从SD卡中引导,进入SD的u-boot,然后读取SD卡中第一个分区中的内核,内核用的是SD卡中的文件系统,呵呵,这样一张独立的SD卡就完成了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值