我想创建自己的操作系统,因此我使用 archiso 创建了一个发行版映像。它太酷了!
我创建了一个 python 文件,有助于自动安装我的发行版。
还有一部分将文件传输到 chroot,然后安装 GRUB。它可以工作,但重新启动后并且已安装的系统显示为“Arch Linux”。
在我用Python制作的安装文件中,我使用该行os.system("COMMAND LINUX")
来执行Linux命令
我需要更改任何命令或文件才能将 Arch Linux 重命名为我的发行版名称吗?安装GRUB后将其放入安装自动化文件中,以便在重新启动它后已经出现“我的操作系统”
PS:不要告诉我更改 /boot/grub/grub.cfg 的菜单项,因为它会自动覆盖。
答案1
你知道/boot/grub/grub.cfg
是如何生成的吗?
有一组脚本,在/etc/grub.d/
其中执行以grub2-mkconfig
创建grub.cfg
文件。通常,指定的脚本10_linux
将负责为当前发行版创建实际的启动菜单项。如果您安装了两个或更多操作系统,则30_os-prober
可能是为其他操作系统创建菜单项的脚本。
至少在 Debian 中,从中设置的10_linux
变量获取发行版的名称。但即使在那里,该值也是使用命令间接设置的。GRUB_DISTRIBUTOR
/etc/default/grub
lsb_release -i -s
因此,您只需更改GRUB_DISTRIBUTOR
变量的设置方式即可/etc/default/grub
快速更改 GRUB 中可见的发行版名称。
但您可能还想检查实际的/usr/bin/lsb_release
命令(假设 Arch 也有)。原来这是一个Python脚本。如果您更改此脚本获取发行版名称的方式以使其输出结果“My OS”,这将自动更改 GRUB 中可见的名称,但由于该lsb_release
命令可以在多个位置使用,因此更改脚本可能允许您可以立即在许多其他地方获取“My OS”名称,而不仅仅是进入 GRUB 菜单。
但是,如果包管理系统也使用该命令提供的信息lsb_release
,则更改操作系统名称可能会使您在自定义发行版中使用 Arch 的软件包变得更加困难。如果您只是希望您的发行版成为“Arch 的预定制版本”,您可能不希望这样。