怎样创建自定义缩小的树莓派映像

电子说

1.2w人已加入

描述

步骤1:准备工作

树莓派

树莓派

树莓派

树莓派

树莓派

首先,关闭Raspberry,拔下电源插头,然后取出sd卡。

下一步,将在Linux-PC(或Linux Live System)上进行。

请不要在后续步骤中使用Raspberry Pi!我尝试了几次,但始终失败。

启动您的Linux机器,启动控制台窗口,然后用

sudo gparted

启动gparted,然后将其插入sd卡读取器(当然还有sd卡)并刷新gparted设备列表(CTRL + R)。

在右上角的下拉菜单中选择您的sd卡。记下设备路径以供以后使用(例如/dev/sdd)。在接下来的步骤中,我们将缩小主数据分区。这将为我们节省很多时间进行下一步。因此

右键单击列表中可用的ext4分区

选择“调整大小/移动”

在“调整大小/移动”窗口中,将分区拖放调整为所需的尺寸,或仅手动输入新尺寸。在我的情况下,它的4096MiB

Hit调整大小/移动和“应用所有操作”按钮

gParted现在将调整分区的大小。

有关其他步骤,请注意分区的具体数据:

右键单击列表中的分区sdd1,然后单击“信息”

注意大小,第一个扇区,最后一个扇区和总计扇区

重复分区sdd2的步骤

例如:

/dev/sdd1

Size: 63.00MiB

First sector: 8192

Last sector: 137215

Total sectors: 129024

/dev/sdd2

Size: 4.00 GiB

First sector: 137216

Last sector: 8525823

Total sectors: 8388608

现在您已经调整了大小分区以及后续步骤的一些重要值。

步骤2:保存数据

树莓派

树莓派

在此步骤中,我们将创建完整的备份sd卡。

等一下,您说我们想创建一个较小的卡!?

这是正确的,但是在我们可以缩小备份之前,我们需要一个可以缩小的备份。

因此,打开一个新的控制台窗口,然后键入:

su root

(如果尚未创建,请输入root密码。 ,输入“ sudo passwd”并设置一个root密码)

(su没有‘root’也可以)

如果要在外部设备上创建备份,则必须先安装它。如果您使用Linux live系统,并且想在内部(Windows)硬盘上进行备份,则也必须将其安装。

首先创建一个安装点:

mkdir -p /mnt/backup

使用gParted获取备份目标设备名称:

使用CTRL + R刷新

通过设备下拉列表确定硬盘驱动器菜单,您在第1步中使用了已知的大小。选择它并记下所需分区的设备路径(例如/dev/ sda1 )。

安装您的备份硬盘驱动器:

mount /dev/sda1 /mnt/backup

现在可以在/mnt/backup中访问您的备份空间。

让我们开始并进行备份

dd if=/dev/sdd of=/mnt/backup/rpi.img bs=1M

此命令将整个SD卡复制到我们的备份硬盘驱动器,并创建一个与SD卡一样大的图像文件。

请耐心等待,该过程可能需要很长时间!喝咖啡或喝点啤酒,也许是两个。..

步骤3:创建自定义图片

树莓派

树莓派

最后,我们可以开始创建自定义映像。

为此,我们创建一个具有与备份映像相同的属性但大小不同的映像磁盘。

记住奇怪的地方数字,例如您应该注意的部门?现在我们需要它们!

只需确保使用fdisk工具来获取创建的备份映像的特定数据:

fdisk -l -u=cylinders /mnt/backup/rpi.img

输出应如下所示:

Disk /mnt/backup/rpi.img: 58.2 GiB, 62537072640 bytes, 122142720 sectors

255heads, 63 sectors/track, 。.. cylinders, 。..

Units = sectors of 1 * 512 bytes = 512 bytes

以此类推。..

对于下一步,我们需要(对于每个sd卡,它们都应相同,但是以确保查找!):

heads = 255

sectors/track = 63

单位= 512字节

现在我们必须做一些数学运算。不要惊慌,这很简单。

heads * sectors/track * Units =每圆柱字节数

255 * 63 * 512 = 8225280 =》注意此值很重要!

映像的结构如下:

4 MB用于主引导记录(mbr)的未分配空间

63MB fat32引导分区

4096MB(用于数据分区)

总和该空间,您将获得 4163MB

有了这些信息,我们就可以计算出所需的柱面数。

它只是(图像大小(以字节为单位)/(每个柱面的字节数)=)圆柱

图像大小为4163 MB,要将其转换为字节,我们将该术语乘以1024两次。

4163 * 1024 * 1024 = 4365221888 =》 4365221888字节

(以字节为单位的图像大小)/(每个圆柱体的字节数)=圆柱体

4365221888/8225280 = 530,71 =》 531圆柱体

现在通过以下方式创建空白图像:

dd if=/dev/zero of=/mnt/backup/5gb.img bs=8225280 count=531

结果是一个全新的空白图像w大小为4163MB

步骤4:步骤:创建分区

树莓派

创建的映像中没有分区或其他任何内容它。因此,让我们创建一些分区。..是的!

fdisk -u -C531 -S63 -H255 /mnt/backup/5gb.img

现在,工具fdisk创建了一个新的引导表,并要求您采取进一步的措施。现在,您需要从gparted中获取的扇区数据。

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):1

Using default value 1

First sector (2048-6425999, default 2048): 8192

Last sector, +sectors or +size{K,M,G} (8192-6425999, default 6425999): 137215

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): c

Changed system type of partition 1 to c (W95 FAT32 (LBA))

You‘ve just created the first boot partition. Now the data partition:

Command (m for help): n

Partition type:

p primary (1 primary, 0 extended, 3 free)

e extended

Select (default p): p

Partition number (1-4, default 2):2

Using default value 2

First sector (2048-6425999, default 2048): 137216

Last sector, +sectors or +size{K,M,G} (122880-6425999, default 6425999): 8525823

Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): 83

只需忽略默认扇区大小,并使用从gParted中获取的扇区大小即可!

现在输入“ w”,按Enter键就完成了!

Command (m for help): w

The partition table has been altered!

WARNING: If you have created or modified any DOS 6.x

partitions, please see the fdisk manual page for additional information.

Syncing disks

步骤5:复制数据

树莓派

树莓派

树莓派

现在我们来谈谈,您可以在其中将数据传输到空白映像。

只需从引导分区到新的引导分区,使用以下命令:

dd if=/mnt/backup/rpi.img of=/mnt/backup/5gb.img bs=512 count=129024 skip=8192 seek=8192

说明:

我们跳过映像上的前4MB(mbr!),然后从第一个分区开始的8192块开始,然后复制下一个129024扇区,并在分区的最后一个扇区(137215)停止。

我们再次执行相同的操作,但对第二个分区:

dd if=/mnt/backup/rpi.img of=/mnt/backup/5gb.img bs=512 count=8388608 skip=137216 seek=137216

计数=》总扇区

跳过并查找=》第一扇区

完成!现在,您将获得一个新的4.4 GiB映像,您可以将其用于所有sd卡》 4GiB。

将其复制到sd卡上,就像其他所有Pi和启动映像一样

在此说明中,我使用了64GiB SD卡。我已经在16 GiB,8GiB和32GiB卡上测试了新的自定义图像。一切都很好。首次启动时,运行“ sudo raspi-config”并调整文件系统的大小。

随意使用此说明,进行更改或出售。我不在乎:D

受此How-To:german指令的启发

责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分