searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

定制镜像(中)

2025-02-07 09:35:41
2
0

本文详细介绍了如何定制UOS桌面操作系统,包括全盘安装时EFI、boot和根分区的大小定制,关闭系统自动更新,预装字体和软件,设置默认壁纸,跳过安装成功提示页面,以及在文件管理器中隐藏分区的操作步骤。

一、分区策略

1)全盘安装,EFI、boot和根分区的大小定制

可以在oem/settings.ini配置文件中进行配置

# 设置boot分区大小,以MiB为单位
partition_default_boot_space = 1536

# 设置EFI分区大小,以MiB为单位
partition_default_efi_space = 300

# 设置根分区大小
partition_full_disk_root_partition_usage = 30Gib

2)全盘安装,多个分区大小定制

可以在oem/full_disk_policy.json进行如下设置,具体的需求可以根据实际情况进行调整
主意:
filesystem:指定分区所用的文件系统,除了Linux原生的文件系统,也支持ntfs。
mountPoint:分区挂载点,可自行新增分区,指定其挂载位置,或调整默认分区的挂载位置。
label:可指定分区的卷标,支持中文显示(系统盘卷标目前是写死的,不支持修改)。
usage:分区大小,如果在此处指定了具体的大小,就不需要在oem/settings.ini里面进行重复设置。如果设置为100%,则表示使用硬盘全部剩余空间来创建分区。usage为100%的分区只能有一个。
alignStart:指定是否从硬盘开始位置开始分区,一般保持默认即可。

[ {
        "filesystem": "ext4",
        "mountPoint": "/boot",
        "label": "Boot",
        "usage": "1536Mib",
        "alignStart": true,
        "device": "",
        "platform": [ "loongson" , "x86", "arm"]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/boot",
        "label": "Boot",
        "usage": "3072Mib",
        "alignStart": true,
        "device": "",
        "platform": [ "sw" ]
    },
    {
        "filesystem": "linux-swap",
        "mountPoint": "swap",
        "label": "SWAP",
        "usage": "swap-size",
        "alignStart": false,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "recovery",
        "mountPoint": "/recovery",
        "label": "Backup",
        "usage": "backup-size",
        "alignStart": false,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/",
        "label": "Roota",
        "usage": "root-size",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "",
        "label": "Rootb",
        "usage": "root-size",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/data",
        "label": "_dde_data",
        "usage": "100%",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    }
]

二、关闭系统自动更新

创建oem/hooks/in_chroot/99_disable_autoupdate.job文件,内容:

#!/bin/bash
mkdir -p /var/lib/lastore
if [ -d /var/lib/lastore ];then
	cp ${OEM_DIR}/config.json /var/lib/lastore/
fi

同时需要在oem目录放config.json配置文件

{"Version":"0.1","AutoCheckUpdates":false,"DisableUpdateMetadata":false,"AutoDownloadUpdates":false,"AutoClean":false,"MirrorSource":"default","UpdateNotify":false,"CheckInterval":604800000000000,"CleanInterval":604800000000000,"CleanIntervalCacheOverLimit":86400000000000,"AppstoreRegion":"","LastCheckTime":"2020-09-04T13:16:23.794140531+08:00","LastCleanTime":"2020-09-04T21:25:17.32844793+08:00","LastCheckCacheSizeTime":"2020-09-04T21:25:17.32858307+08:00","Repository":"desktop","MirrorsUrl":"http://packages.deepin.com/mirrors/community.json"}

三、预装字体

如果需要将系统集成到系统中,首先将字体文件放到oem目录,然后创建oem/hooks/in_chroot/99_install_fonts.job文件

#!/bin/bash
if [ -d /usr/share/fonts ];then
mkdir /usr/share/fonts/oem
cp ${OEM_DIR}/*.{ttf,ttc,otf} /usr/share/fonts/oem/
cd /usr/share/fonts/oem
mkfontscale
mkfontdir
fc-cache
fi

四、预装软件

如果需要将第三方软件继承到系统,创建oem/deb目录,将需要集成的deb包和依赖放到这个目录中。
1、所有deb包都必须带有UOS签名且必须满足依赖关系,否则将会安装失败或安装后无法使用。
2、deb包将按照包文件名的字母顺序依次安装,如果需要调整安装顺序,直接修改文件名,如添加数字前缀即可。

五、默认壁纸

先将oem.jpg壁纸文件放到oem目录,然后创建oem/hooks/in_chroot/99_set_background.job文件,进行以下配置

#!/bin/bash
if [ -d /usr/share/wallpapers ];then
    install -Dm644 ${OEM_DIR}/background.jpg /usr/share/wallpapers/oem/background.jpg
ln -sf /usr/share/wallpapers/oem/background.jpg /etc/alternatives/deepin-default-background
fi

六、跳过安装成功提示页面

如需跳过安装完成后的提示页面,希望自动重启,可以创建oem/hooks/after_chroot/99_after_finish.job文件

#!/bin/bash

sync && sleep 5 && sync && sleep 5
echo 'b' > /proc/sysrq-trigger

七、在文件管理器中隐藏分区

如果需要在文件管理器中隐藏某些分区,可以创建oem/hooks/in_chroot/99_hide_part.job文件,并进行如下配置:

#!/bin/bash
if [ -d /lib/udev/rules.d ];then
  install -D -m644 ${OEM_DIR}/99-hidepart.rules /lib/udev/rules.d/
fi

同时在oem目录中创建99-hidepart.rules文件,进行以下设置

KERNEL=="sdb1",ENV{UDISKS_IGNORE}="1"

其中sdb1需替换为具体需要隐藏的分区名。

0条评论
作者已关闭评论
李****堃
44文章数
7粉丝数
李****堃
44 文章 | 7 粉丝
原创

定制镜像(中)

2025-02-07 09:35:41
2
0

本文详细介绍了如何定制UOS桌面操作系统,包括全盘安装时EFI、boot和根分区的大小定制,关闭系统自动更新,预装字体和软件,设置默认壁纸,跳过安装成功提示页面,以及在文件管理器中隐藏分区的操作步骤。

一、分区策略

1)全盘安装,EFI、boot和根分区的大小定制

可以在oem/settings.ini配置文件中进行配置

# 设置boot分区大小,以MiB为单位
partition_default_boot_space = 1536

# 设置EFI分区大小,以MiB为单位
partition_default_efi_space = 300

# 设置根分区大小
partition_full_disk_root_partition_usage = 30Gib

2)全盘安装,多个分区大小定制

可以在oem/full_disk_policy.json进行如下设置,具体的需求可以根据实际情况进行调整
主意:
filesystem:指定分区所用的文件系统,除了Linux原生的文件系统,也支持ntfs。
mountPoint:分区挂载点,可自行新增分区,指定其挂载位置,或调整默认分区的挂载位置。
label:可指定分区的卷标,支持中文显示(系统盘卷标目前是写死的,不支持修改)。
usage:分区大小,如果在此处指定了具体的大小,就不需要在oem/settings.ini里面进行重复设置。如果设置为100%,则表示使用硬盘全部剩余空间来创建分区。usage为100%的分区只能有一个。
alignStart:指定是否从硬盘开始位置开始分区,一般保持默认即可。

[ {
        "filesystem": "ext4",
        "mountPoint": "/boot",
        "label": "Boot",
        "usage": "1536Mib",
        "alignStart": true,
        "device": "",
        "platform": [ "loongson" , "x86", "arm"]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/boot",
        "label": "Boot",
        "usage": "3072Mib",
        "alignStart": true,
        "device": "",
        "platform": [ "sw" ]
    },
    {
        "filesystem": "linux-swap",
        "mountPoint": "swap",
        "label": "SWAP",
        "usage": "swap-size",
        "alignStart": false,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "recovery",
        "mountPoint": "/recovery",
        "label": "Backup",
        "usage": "backup-size",
        "alignStart": false,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/",
        "label": "Roota",
        "usage": "root-size",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "",
        "label": "Rootb",
        "usage": "root-size",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    },
    {
        "filesystem": "ext4",
        "mountPoint": "/data",
        "label": "_dde_data",
        "usage": "100%",
        "alignStart": true,
        "device": "",
        "platform": [ "x86", "sw", "loongson", "arm" ]
    }
]

二、关闭系统自动更新

创建oem/hooks/in_chroot/99_disable_autoupdate.job文件,内容:

#!/bin/bash
mkdir -p /var/lib/lastore
if [ -d /var/lib/lastore ];then
	cp ${OEM_DIR}/config.json /var/lib/lastore/
fi

同时需要在oem目录放config.json配置文件

{"Version":"0.1","AutoCheckUpdates":false,"DisableUpdateMetadata":false,"AutoDownloadUpdates":false,"AutoClean":false,"MirrorSource":"default","UpdateNotify":false,"CheckInterval":604800000000000,"CleanInterval":604800000000000,"CleanIntervalCacheOverLimit":86400000000000,"AppstoreRegion":"","LastCheckTime":"2020-09-04T13:16:23.794140531+08:00","LastCleanTime":"2020-09-04T21:25:17.32844793+08:00","LastCheckCacheSizeTime":"2020-09-04T21:25:17.32858307+08:00","Repository":"desktop","MirrorsUrl":"http://packages.deepin.com/mirrors/community.json"}

三、预装字体

如果需要将系统集成到系统中,首先将字体文件放到oem目录,然后创建oem/hooks/in_chroot/99_install_fonts.job文件

#!/bin/bash
if [ -d /usr/share/fonts ];then
mkdir /usr/share/fonts/oem
cp ${OEM_DIR}/*.{ttf,ttc,otf} /usr/share/fonts/oem/
cd /usr/share/fonts/oem
mkfontscale
mkfontdir
fc-cache
fi

四、预装软件

如果需要将第三方软件继承到系统,创建oem/deb目录,将需要集成的deb包和依赖放到这个目录中。
1、所有deb包都必须带有UOS签名且必须满足依赖关系,否则将会安装失败或安装后无法使用。
2、deb包将按照包文件名的字母顺序依次安装,如果需要调整安装顺序,直接修改文件名,如添加数字前缀即可。

五、默认壁纸

先将oem.jpg壁纸文件放到oem目录,然后创建oem/hooks/in_chroot/99_set_background.job文件,进行以下配置

#!/bin/bash
if [ -d /usr/share/wallpapers ];then
    install -Dm644 ${OEM_DIR}/background.jpg /usr/share/wallpapers/oem/background.jpg
ln -sf /usr/share/wallpapers/oem/background.jpg /etc/alternatives/deepin-default-background
fi

六、跳过安装成功提示页面

如需跳过安装完成后的提示页面,希望自动重启,可以创建oem/hooks/after_chroot/99_after_finish.job文件

#!/bin/bash

sync && sleep 5 && sync && sleep 5
echo 'b' > /proc/sysrq-trigger

七、在文件管理器中隐藏分区

如果需要在文件管理器中隐藏某些分区,可以创建oem/hooks/in_chroot/99_hide_part.job文件,并进行如下配置:

#!/bin/bash
if [ -d /lib/udev/rules.d ];then
  install -D -m644 ${OEM_DIR}/99-hidepart.rules /lib/udev/rules.d/
fi

同时在oem目录中创建99-hidepart.rules文件,进行以下设置

KERNEL=="sdb1",ENV{UDISKS_IGNORE}="1"

其中sdb1需替换为具体需要隐藏的分区名。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
2
0