好的,我正在尝试构建自己的自定义 Live CD,并最终构建一个基于 Debian 的发行版,使用live-build
工具和 squashfs-tools/chroot 来修改映像。我也在玩 LinuxFromScratch,但我现在的问题主要是关于,debian-installer
并且可能是preseeding
,我想知道的是如何强制debian-installer
使用自定义包存储库,例如,Kali-Linux 种子如何” Kali-rolling”或带有自己的存储库的 Ubuntu。我已经镜像了 Debian 8 存储库(包括 udebs 和源代码),并使用创建了我自己的存储库,aptly
然后将镜像中的所有软件包以及我之前测试过的其他软件包导入到我自己的存储库中。现在的问题可能是发行版和组件的命名,因为我选择使用除杰西,并且组件已合并为一个组件,我称之为“宇宙“ 就像 Ubuntu 使用的那样。
我知道预置文件应该放在哪里,并且我已经成功地用一个preseed.cfg
文件修改了安装程序,以跳过 root 之外的新用户的创建(我知道大多数人会建议不要这样做,但安装后创建用户是个人偏好),但是当我尝试在预置文件中添加自定义镜像时,安装程序似乎只是忽略它并询问我是否想使用任意 Debian 镜像。
那么,如何更改安装程序或预置文件,以便它可以在安装过程中使用此自定义发行版/套件和组件?
这是我尝试过的:
d-i passwd/make-user boolean false d-i netcfg/hostname string redebian d-i netcfg/get_nameservers string 8.8.8.8 d-i mirror/protocol string http d-i mirror/http/hostname string xx.xx.xx.xx d-i mirror/http/directory string / d-i mirror/http/proxy string d-i mirror/suite string redebian d-i mirror/udeb/suite string redebian d-i apt-setup/universe boolean true
直接添加存储库没有问题,/etc/apt/sources.list
我只是不知道如何将其添加到安装程序等;即使当我尝试手动选择它时,它也会告诉我这是一个坏镜像,因为它只查找 URL 和目录;它不会询问要使用哪个套件和组件。
答案1
经过一番尝试和错误,最终我调查/var/log/syslog
并看到了一些奇怪的事情,例如安装程序使用“错误”套件/代号向指定镜像发出请求,我想知道它从哪里提取该值,所以我提取了 ISO就像bsdtar
我之前为了放置文件所做的那样preseed.cfg
。我注意到这次有一个隐藏目录,.disk
里面有一些配置文件,安装程序显然必须使用它们来在安装过程中获取一些值。我将这些值更改为所需的值,然后将目录的名称更改dists/jessie
为dists/redebian
,重新创建 , 的符号链接stable
,unstable
因此testing
它们指向redebian
,更改了Release
因此它们国际标准化组织所以它们包含的信息与我的存储库相同,然后最终重新计算了所有 md5sum。
现在debian-installer
正在认可已发布的回购协议作为一个有效的镜子。
我安装之后仍然遇到问题grub
,但我相信我最终会解决这个问题。