linux下SD卡创建分区

一、对SD卡分区

1.将SD卡连接到PC机上,查看其设备名称

输入# dmesg|tail -20

......

[16392.819300] sd 16:0:0:0: [sdb] 31291392 512-byte logical blocks: (16.0 GB/14.9 GiB)
[16392.827038] sd 16:0:0:0: [sdb] Write Protect is off
[16392.827042] sd 16:0:0:0: [sdb] Mode Sense: 03 00 00 00
[16392.827044] sd 16:0:0:0: [sdb] Assuming drive cache: write through
[16392.848523] sd 16:0:0:0: [sdb] Assuming drive cache: write through
[16392.848530]  sdb: sdb1 sdb2
[16392.863252] sd 16:0:0:0: [sdb] Assuming drive cache: write through
[16392.863265] sd 16:0:0:0: [sdb] Attached SCSI removable disk

2.使用fdisk工具进入sdb(设备名)

输入# sudo fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):进入到fdisk模式

3.查看分区

Command (m for help): p

Disk /dev/sdb: 16.0 GB, 16021192704 bytes
255 heads, 63 sectors/track, 1947 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b0e64c8

   Device Boot      Start         End      Blocks   Id  System

如果有分区可以用“Command (m for help): d”删除分区

4.开始分区

Command (m for help): n

Command action
    e   extended
    p   primary partition (1-4)
 p(选择p)

Partition number (1-4): 1(第一个分区)

First cylinder (1-1947, default 1):直接回车
 Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1947, default 1947): +50MB(第一分区大小)

第二个分区

Command (m for help): n

Command action
    e   extended
    p   primary partition (1-4)
 p(选择p)

Partition number (1-4): 2 (第二个分区)

First cylinder (8-1947, default 8):直接回车
 Using default value 8

Last cylinder, +cylinders or +size{K,M,G} (8-1947, default 1947):直接回车(其他都为第二分区)
 Using default value 1947

5.查看分区

Command (m for help): p

Disk /dev/sdb: 16.0 GB, 16021192704 bytes
255 heads, 63 sectors/track, 1947 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b0e64c8

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1           7       56196   83  Linux

/dev/sdb2               8        1947    15583050   83  Linux

6.修改分区类型,将第一分区改成“b W95 FAT32”格式

Command (m for help): t

Partition number (1-4): 1(修改第一分区)

Hex code (type L to list codes): L(查看类型列表)

  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris
  1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-
  2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
  3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
  4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx
  5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data
  6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
  7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility
  8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  'BootIt'
  9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access
  a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O
   W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  'SpeedStor'
  c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
  e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  GPT
  f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
 10  OPUS            55  EZ-Drive        a6  OpenBSD         f0 Linux/PA-RISC b
 11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  'SpeedStor'
 12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  'SpeedStor'
 14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary
 16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS
 17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
 18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
 1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
 1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT
 Hex code (type L to list codes): b(选择W95 FAT32

Changed system type of partition 1 to b (W95 FAT32)

7.再次查看分区

Command (m for help): p

Disk /dev/sdb: 16.0 GB, 16021192704 bytes
255 heads, 63 sectors/track, 1947 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b0e64c8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1           7       56196    b  W95 FAT32
/dev/sdb2               8        1947    15583050   83  Linux

8.保存退出

Command (m for help): w(保存退出)

The partition table has been altered!
 

Calling ioctl() to re-read partition table.
 

WARNING: If you have created or modified any DOS 6.x
 partitions, please see the fdisk manual page for additional
 information.
 Syncing disks.

二、对SD卡每个分区格式化

输入# sudo mkfs.vfat /dev/sdb1
输入# sudo mkfs.ext3 /dev/sdb2

三、将uImage内核和rootfs文件系统拷贝或解压到对应的分区中

四、设置U-Boot启动参数

U-boot # set ramaddr 4000000

U-boot # set kfile uImage

U-boot # set bootcmd 'mmc;fatload mmc 0:1 $(ramaddr) $(kfile); bootm $(ramaddr);'

U-boot # set bootargs console=ttyS0,38400 mem=256M root=/dev/mmcblk0p2 init=/linuxrc rootwait

U-boot # saveenv

注:U盘启动方法相同,只是设备名是sda、sdb等,设置bootargs参数时root=/dev/sda1(或sda2)等等。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Linux 上给 SD 卡分区,需要使用 fdisk 命令。以下是具体步骤: 1. 插入 SD 卡并确定其设备名称,可以使用 dmesg 命令来查看系统日志,例如: ``` $ dmesg | tail [ 567.233906] sd 6:0:0:0: [sdb] 3862528 512-byte logical blocks: (1.97 GB/1.84 GiB) [ 567.234389] sd 6:0:0:0: [sdb] Write Protect is off [ 567.234390] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00 [ 567.234872] sd 6:0:0:0: [sdb] No Caching mode page found [ 567.234874] sd 6:0:0:0: [sdb] Assuming drive cache: write through [ 567.237689] sdb: sdb1 [ 567.239274] sd 6:0:0:0: [sdb] Attached SCSI removable disk ``` 在这个例子中,SD 卡设备名称为 /dev/sdb。 2. 运行 fdisk 命令,并指定 SD 卡设备名称作为参数,例如: ``` $ sudo fdisk /dev/sdb ``` 3. 在 fdisk 命令提示符下,输入 n 来创建一个新分区,然后按照提示输入分区编号、起始扇区和结束扇区。例如,要创建一个起始扇区为 2048、结束扇区为 1023999 的新分区,可以输入以下命令: ``` Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-3862527, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-3862527, default 3862527): 1023999 ``` 4. 使用 w 命令保存并退出 fdisk。例如: ``` Command (m for help): w ``` 现在,SD 卡上就有一个新的分区了。可以使用 mkfs 命令来格式化这个分区,例如: ``` $ sudo mkfs.ext4 /dev/sdb1 ``` 这将创建一个 ext4 文件系统。现在,可以将 SD 卡插入设备并挂载它,然后开始使用它了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值