我查看了好多地方,看到了类似的设置和问题,但似乎都不适合我。我使用以下命令创建自定义 ISO:
/usr/bin/livecd-creator --config=/usr/share/livecd-tools/test.ks --fslabel=TestAppliance --cache=/var/cache/live
这很有效,它创建了包含我想要的所有软件包和配置的 ISO。我的问题是我希望安装过程无人值守。但是,每次我启动 CD 时,它都会要求输入所有信息,例如键盘、时区、root 密码等。这些是我在软件包部分之前的 kickstart 脚本中的基本设置。
cdrom
install
autopart
autostep
xconfig --startxonboot
rootpw testpassword
lang en_US.UTF-8
keyboard us
timezone --utc America/New_York
auth --useshadow --enablemd5
selinux --disabled
services --enabled=iptables,rsyslog,sshd,ntpd,NetworkManager,network --disabled=sendmail,cups,firstboot,ip6tables
clearpart --all
因此,经过一番寻找,我被告知我需要修改我的 isolinux.cfg 文件以执行“ks=http://XXXX/location/to/test.ks“或”ks=cdrom:/test.ks“。我尝试了这两种方法,但仍然迫使我完成安装过程。当我跟踪服务器上的 apache 日志时,我发现 ISO 从未尝试获取该文件。以下是我在 isolinux.cfg 文件上尝试的确切语法。
label http
menu label HTTP
kernel vmlinuz0
append initrd=initrd0.img ks=http://192.168.56.101/files/test.ks ksdevice=eth0
label localks
menu label LocalKS
kernel vmlinuz0
append initrd=initrd0.img ks=cdrom:/test.ks
label install0
menu label Install
kernel vmlinuz0
append initrd=initrd0.img root=live:CDLABEL=PerimeterAppliance rootfstype=auto ro liveimg liveinst noswap rd_NO_LUKS rd_NO_MD rd_NO_DM
menu default
EOF_boot_menu
前两个命令给我一个“dracut: fatal: no or empty root=”错误,直到我给它一个 root= 选项,然后它就完全跳过了 kickstart。最后一个是我的默认选项,运行良好,但需要大量用户输入。任何帮助都将不胜感激。
答案1
正如问题评论所述,livecd-creator 实际上是用于不同的目的。
对于可启动 ISO,有两种途径可供选择:
- 制作网络书籍 iso 并提供网络安装树中的所有软件,这是最常见的。
- 创建包含 kickstart 和安装树的自定义滚动 ISO。
有很多文章对第一种做法进行了评论,因为它相当常见,而且有很多好处。以下是一些:
- https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-putkickstartthere.html#s2-kickstart2-boot-media
- http://mikent.wordpress.com/2012/04/12/how-to-create-a-kickstart-iso-boot-disk-for-redhat/
第二种方法主要适用于没有网络可用安装树的情况。以下是执行第 2 种方法的方法:
- 确保您的 kickstart 在安装源中设置为“cdrom”
- 安装 mkisofs(这将为您提供 mkisofs 或 genisoimage,下面的 mkisofs 命令应该可以同时适用于两者)
- 下载 ISO
安装 ISO
mount -o loop /path/to/iso /mnt/point
将 ISO 的整个目录结构复制到新文件夹。
mkdir -p /path/to/new/isosource cp -pr /mnt/point/* /path/to/new/isosource/
将你的 kickstart 放在新文件夹中
cp /path/to/my/ks.cfg /path/to/new/isosource/
移动到包含新文件夹的文件夹
cd /path/to/new
确保 isolinux 目录可写
chmod u+w isosource/isolinux/*
在 isosource/isolinux/isolinux.cfg 中为“安装”条目添加 ks 条目,方法是更改
append initrd=initrd.img
到:
append initrd=initrd.img ks=cdrom:/ks.cfg
制作 ISO
mkisofs -o file.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T isosource/
答案2
你把这件事弄得太复杂了。只需使用原版 ISO 并在命令行中使用 ks 选项启动它即可。见下文。
http://fedoraproject.org/wiki/Anaconda/Kickstart#How_Do_You_Perform_a_Kickstart_Installation.3F