0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2020-01-28 17:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤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

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

    关注

    122

    文章

    2082

    浏览量

    110756
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 217次阅读
    使用Python/MyHDL<b class='flag-5'>创建</b><b class='flag-5'>自定义</b>FPGA IP

    MCUXpresso SDK创建自定义清单

    by standardizing SDK configurations. 本指南将介绍创建和使用自定义清单来定制 MCUXpresso SDK 设置的过程,确保您的开发环境针对性能和可维护性进行优化
    发表于 04-07 07:11

    极海APM32F427如何实现自定义USB HID设备与PC进行通信

    最近需要使用到 APM32F427 枚举成Custom HID设备进行用户自定义通信,但是官方的例程只有提供的HID枚举为鼠标或者键盘类型的设备。这里记录一下,怎么使用Geehy官方的USB中间件,实现自定义的USB HID设备进行用户通信。
    的头像 发表于 03-30 09:30 2763次阅读
    极海APM32F427如何实现<b class='flag-5'>自定义</b>USB HID设备与PC进行通信

    无图形界面模式下自定义检查工具的应用

    此前文章已介绍 ANSA 中的自定义检查工具。本文将探讨该功能在无图形界面(No-GUI)模式下的应用,旨在满足标准化工作流程的需求,适用于需要高度自动化的前处理场景。通过集成自定义检查,用户可实现工作流程的高效自动化运行。
    的头像 发表于 11-30 14:13 775次阅读
    无图形界面模式下<b class='flag-5'>自定义</b>检查工具的应用

    采用汇编指示符来使用自定义指令

    具体实现 1、采用.word .half .dword等汇编指示符直接插入自定义指令,这种方法需要自己指定寄存器。其中.word为插入一个字的数据即32位,.half为插入半字即16位
    发表于 10-28 06:02

    搭建并优化树莓《我的世界》服务器:全面指南!

    远低于传统台式机或服务器,因此全天候运行更节能、成本更低。环保:能耗降低也意味着环境足迹更小。服务器完全掌控:可完全控制服务器环境,支持自定义配置和设置。《我的世
    的头像 发表于 08-11 16:08 1765次阅读
    搭建并优化<b class='flag-5'>树莓</b><b class='flag-5'>派</b>《我的世界》服务器:全面指南!

    树莓5上开启YOLO姿态估计识别之旅!

    AIHat+上|如何编写自定义Python代码YOLO姿态估计在树莓AIHat+上|编写自定义Python代码今天是第二部分:树莓
    的头像 发表于 07-18 15:31 2753次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上开启YOLO姿态估计识别之旅!

    树莓5上使用YOLO进行物体和动物识别-入门指南

    AIHat+上|如何编写自定义Python代码YOLO姿态估计在树莓AIHat+上|编写自定义Python代码今天是第一部分:在树莓
    的头像 发表于 07-17 17:16 2301次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上使用YOLO进行物体和动物识别-入门指南

    大彩讲堂:VisualTFT软件如何自定义圆形进度条

    VisualTFT软件如何自定义圆形进度条
    的头像 发表于 07-07 17:10 1906次阅读
    大彩讲堂:VisualTFT软件如何<b class='flag-5'>自定义</b>圆形进度条

    如何将你手中的树莓变身为强大路由器?

    用作DIY路由器具有多种优势,包括可定制化、成本节约和学习机会:可定制性:基于树莓的路由器可让您完全掌控软件和配置。您可以根据特定需求定制路由器,例如设置自定义
    的头像 发表于 07-07 16:30 3589次阅读
    如何将你手中的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>变身为强大路由器?

    树莓默认密码指南:新设置、更改方法及安全建议!

    树莓如今已不再设有“默认”密码,从较新版本的树莓操作系统(从2022年的树莓操作系统Bul
    的头像 发表于 07-04 15:27 4998次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>默认密码指南:新设置、更改方法及安全建议!

    完整指南:如何使用树莓5、Hailo AI Hat、YOLO、Docker进行自定义数据集训练?

    今天,我将展示如何使用令人印象深刻的HailoAIHat在树莓5上训练、编译和部署自定义模型。注意:文章内的链接可能需要科学上网。HailoAIHat根据你的设置,在树莓
    的头像 发表于 06-28 08:23 4848次阅读
    完整指南:如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5、Hailo AI Hat、YOLO、Docker进行<b class='flag-5'>自定义</b>数据集训练?

    KiCad 中的自定义规则(KiCon 演讲)

    “  Seth Hillbrand 在 KiCon US 2025 上为大家介绍了 KiCad 的规则系统,并详细讲解了自定义规则的设计与实例。  ”   演讲主要围绕 加强 KiCad 中的自定义
    的头像 发表于 06-16 11:17 2556次阅读
    KiCad 中的<b class='flag-5'>自定义</b>规则(KiCon 演讲)

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是
    的头像 发表于 06-13 16:39 1541次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    HarmonyOS应用自定义键盘解决方案

    自定义键盘是一种替换系统默认键盘的解决方案,可实现键盘个性化交互。允许用户结合业务需求与操作习惯,对按键布局进行可视化重构、设置多功能组合键位,使输入更加便捷和舒适。在安全防护层面,自定义键盘可以
    的头像 发表于 06-05 14:19 2605次阅读