我想要创建自己的操作系统,所以我用archiso创建了一个发行版映像。太酷了!
我创建了一个python文件,它有助于我的发行版的自动安装。
还有一部分将文件传输到chroot,然后再安装GRUB。它可以工作,但是在重新启动之后,已经安装的系统显示为"Arch“。
在我用Python创建的安装文件中,我使用行os.system("COMMAND LINUX")
执行Linux命令。
是否有任何命令或文件需要更改为将Arch重命名为我的发行版名称?在安装GRUB之后,将其放入安装自动化文件中,以便在人员重新启动之后,它已经显示为"My“。
PS:不要告诉我更改/boot/grub/grub.cfg的菜单条目,因为它会自动重写。
发布于 2022-04-12 16:09:58
你知道/boot/grub/grub.cfg
是如何产生的吗?
/etc/grub.d/
中有一个脚本集合,这些脚本由grub2-mkconfig
执行以创建grub.cfg
文件。通常,名为10_linux
的脚本将负责为当前发行版创建实际的启动菜单项。如果安装了两个或多个操作系统,30_os-prober
可能是为其他操作系统创建菜单项的脚本。
至少在Debian中,10_linux
从在/etc/default/grub
中设置的变量GRUB_DISTRIBUTOR
中获取发行版的名称。但是即使在那里,值也是间接设置的,使用命令lsb_release -i -s
。
因此,您只需更改GRUB_DISTRIBUTOR
变量在/etc/default/grub
中的设置方式,以快速更改GRUB中可见的发行版的名称。
但是,您可能还需要检查实际的/usr/bin/lsb_release
命令(假设Arch也有这个命令)。原来这是一个Python脚本。如果更改此脚本获取发行版名称的方式以使其输出结果"My“,则会自动更改GRUB中可见的名称,但由于lsb_release
命令可以在多个地方使用,因此更改脚本可能允许您同时将"My”的名称获取到许多其他位置,而不仅仅是GRUB菜单。
但是,如果包管理系统也使用lsb_release
命令提供的信息,那么更改操作系统名称可能会使Arch的软件包更难在您的自定义发行版中使用。如果您只希望您的发行版是“预定制版本的Arch",您可能不想这样做。
https://unix.stackexchange.com/questions/698864
复制相似问题