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

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

    关注

    113

    文章

    1640

    浏览量

    104752
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发实例:【自定义Emitter】

    使用[Emitter]实现事件的订阅和发布,使用[自定义弹窗]设置广告信息。
    的头像 发表于 04-14 11:37 623次阅读
    HarmonyOS开发实例:【<b class='flag-5'>自定义</b>Emitter】

    博途用户自定义库的使用

    博途官方提供了很多库,比如:基本函数库、通信库、安全库、驱动库等等,用户可以使用库中的函数/函数块来完成具体的控制任务。除了官方的库,我们也可以创建自己的库(用户自定义库)。比如,把项目
    的头像 发表于 12-25 10:08 291次阅读
    博途用户<b class='flag-5'>自定义</b>库的使用

    怎样为显示器创建自定义分辨率呢?

    您可以为大多数显示器创建自定义分辨率和刷新率。这可以解决可能不使用标准 Windows 分辨率的显示器,或更正可能导致显示器兼容性问题的无效显示器 EDID。
    的头像 发表于 11-16 09:41 1753次阅读
    <b class='flag-5'>怎样</b>为显示器<b class='flag-5'>创建</b><b class='flag-5'>自定义</b>分辨率呢?

    Android端自定义铃声 MobPush对安卓端自定义铃声的教程

    如何为APP推送设置独特的通知铃声呢?本次带来的是MobPush对安卓端自定义铃声的教程,快来看看吧~
    的头像 发表于 10-21 15:34 820次阅读
    Android端<b class='flag-5'>自定义</b>铃声 MobPush对安卓端<b class='flag-5'>自定义</b>铃声的教程

    OpenHarmony自定义组件介绍

    一、创建自定义组件 在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。在进行 UI 界面开发时,通常不是简单的将系统组件进行组合使用,
    发表于 09-25 15:36

    Vivado设计套件用户指南:创建和打包自定义IP

    电子发烧友网站提供《Vivado设计套件用户指南:创建和打包自定义IP.pdf》资料免费下载
    发表于 09-13 14:54 0次下载
    Vivado设计套件用户指南:<b class='flag-5'>创建</b>和打包<b class='flag-5'>自定义</b>IP

    Vivado Design Suite用户指南:创建和打包自定义IP

    电子发烧友网站提供《Vivado Design Suite用户指南:创建和打包自定义IP.pdf》资料免费下载
    发表于 09-13 11:34 0次下载
    Vivado Design Suite用户指南:<b class='flag-5'>创建</b>和打包<b class='flag-5'>自定义</b>IP

    labview超快自定义控件制作和普通自定义控件制作

    labview超快自定义控件制作和普通自定义控件制作
    发表于 08-21 10:32 5次下载

    教程 2:添加特征-自定义配置文件创建

    教程 2:添加特征 - 自定义配置文件创建
    发表于 07-06 18:50 0次下载
    教程 2:添加特征-<b class='flag-5'>自定义</b>配置文件<b class='flag-5'>创建</b>

    教程 3:构建自定义配置文件

    教程 3:构建自定义配置文件
    发表于 07-06 18:49 0次下载
    教程 3:构建<b class='flag-5'>自定义</b>配置文件

    教程 2:自定义配置文件示例

    教程 2:自定义配置文件示例
    发表于 07-04 20:50 0次下载
    教程 2:<b class='flag-5'>自定义</b>配置文件示例

    创建自定义Kria KV260加速ML应用程序

    电子发烧友网站提供《创建自定义Kria KV260加速ML应用程序.zip》资料免费下载
    发表于 06-26 10:20 0次下载
    <b class='flag-5'>创建</b><b class='flag-5'>自定义</b>Kria KV260加速ML应用程序

    带计时器的自定义锻炼

    电子发烧友网站提供《带计时器的自定义锻炼.zip》资料免费下载
    发表于 06-16 10:29 0次下载
    带计时器的<b class='flag-5'>自定义</b>锻炼

    labview自定义控件

    labview自定义精美控件
    发表于 05-15 16:46 9次下载

    用于改进应用的自定义逻辑外设

    PIC® 和 AVR® 微控制器 (MCU) 上的自定义逻辑外设是功能强大的工具,可用于创建独立于 CPU 运行的分立逻辑小块。PIC 微控制器具有可配置逻辑单元 (CLC),而 AVR 微控制器
    的头像 发表于 05-06 09:51 620次阅读
    用于改进应用的<b class='flag-5'>自定义</b>逻辑外设