我正在尝试创建带有分区的 SD 卡,以便使用该 SD 卡在 ARM A9 处理器上启动 Linux。现在,最初当 SD 卡配备所有分区时,我将其插入 Ubuntu 机器并能够看到 3 个分区(mmcblk0p1 - mmcblk0p3)。我也可以通过 Ubuntu 文件资源管理器看到这些分区。
现在为了重新创建一个新的 SD 卡分区,我使用 Ubuntu 文件资源管理器提供的选项卸载了 SD 卡。后来我使用以下命令sudo fdisk /dev/mmcblk0
创建了三个新分区,如下所示:
o
:创建新的分区表
使用命令n,p
在SD卡中创建3个分区。
Partition 1 : 100M
Type : W95/FAT32(b)
Partition 2 : 1G
Type : Linux(83)
Partition 3 : 1M
Type : Unknown(0x82)
后来,我使用将预加载器和引导加载器映像复制到分区 3 dd
。
内核设备树blob、zImage、u-boot被复制到分区1。
整个文件系统应复制到分区 2。我有一个 tar 文件,debian rootfs
需要复制到分区 2。提取 tar 文件后,我有一个完整的rootfs
文件系统。
所以我现在有两个问题:
如何将整个
rootfs
文件夹复制到分区 2。该命令dd
仅适用于单个文件。如何在 Ubuntu 文件资源管理器中查看这 3 个分区?目前我在 Ubuntu 文件资源管理器中只能看到一个 105MB 的分区。
我已经使用了gnome-disk
实用程序,我可以在 gnome 中看到分区。请参阅 gnome-disk 实用程序屏幕截图:
命令输出fdisk -l
:
Disk /dev/mmcblk0: 3,7 GiB, 3980394496 bytes, 7774208 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe7e58d0a
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 206847 204800 100M b W95 FAT32
/dev/mmcblk0p2 206848 2303999 2097152 1G 83 Linux
/dev/mmcblk0p3 2304000 2306047 2048 1M a2 unknown
输出lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 1,9G 0 disk
└─sdb1 8:17 1 1,9G 0 part /media/find/USB DISK
sda 8:0 0 232,9G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 15,7G 0 part [SWAP]
└─sda1 8:1 0 217,2G 0 part /
mmcblk0 179:0 0 3,7G 0 disk
├─mmcblk0p2 179:2 0 1G 0 part
├─mmcblk0p3 179:3 0 1M 0 part
└─mmcblk0p1 179:1 0 100M 0 part /media/find/2625-2AC3
答案1
您已成功设置分区表,但只有第一个分区中设置了文件系统(这就是 Ubuntu 没有自动挂载其他两个分区的原因)。您可以使用“sudo mkfs.ext4 /dev/mmcblk0p2”为第二个分区创建 ext4 文件系统。此后,Ubuntu 应该会挂载第二个分区(您可能需要重新启动,我不知道自动挂载服务有多智能),然后您可以使用“cp -r”复制文件。