如何通过PXE将内核parameter passing给Ubuntu类OS安装程序ISO?

我处于一种艰难的境地,在这种情况下,我需要在带有有限带外访问function的硬件上执行QuantaStor (Ubuntu-based- hiss )设备的远程安装。

目标系统是HP ProLiant DL180 G6服务器 ,它具有完全授权的Lights-Out LO100i远程KVM。 这是从ILO3或ILO4pipe理处理器向下迈出的一大步。 这个硬件的挑战是LO100i的虚拟媒体function不可靠 。 随着Java发布的进展,这个国际劳工组织变得不那么有用了。 现在, 即使这个function在过去运行良好 ,我也无法让系统通过远程媒体启动。

所以我的下一步是尝试使用QuantaStor ISO镜像来PXE启动这个服务器。 奇怪的是,有一些相互矛盾的说明, 我们可以直接从PXE引导ISO镜像,而不需要链接引导装载程序等。经过一番实验,我发现我可以通过PXE服务器使用memdisk启动ISO。 我在这个环境中控制DNS和DHCP,所以我去了修改/etc/dhcpd.confconfiguration文件的标准path来反映:

 # Begin temporary PXE boot allow booting; allow bootp; option option-128 code 128 = string; option option-129 code 129 = text; next-server 172.30.27.5; filename "/pxelinux.0"; # End temporary PXE boot 

对于我的PXEconfiguration,我将/tftpboot/pxelinux.cfg/default设置为:

 default menu.c32 prompt 0 timeout 300 ONTIMEOUT local MENU TITLE PXE Menu LABEL QuantaStor MENU LABEL QuantaStor KERNEL memdisk APPEND iso initrd=images/osn_quantastor_v3.8.2.5441.iso raw 

这些function一起使我能够让系统开始启动ISO。 不幸的是,远程KVM控制台产生了如下的乱码video输出:

在这里输入图像说明

设备的安装屏幕如下所示:

在这里输入图像说明

几次重启后,经过一些基础研究,我发现LO100远程KVM与一些Supermicro IPMI板 共享这种帧缓冲症状 。 解决方法是将vga16fb.modeset=0传递给引导参数。 这是Ubuntu( 叹气 )独一无二的。

我怎样才能得到这个声明到PXE引导ISO的参数行?

我应该在哪里添加声明?

尝试在/tftpboot/pxelinux.cfg/default的“APPEND”行中这样做似乎没有帮助。 Ubuntu的提示build议通过在ISO引导屏幕按F6添加行。 我的远程KVM由于这一点而出现乱码,我无法手动添加它。

有任何想法吗?


更新:

我提取了ISO并修改了isolinux.cfg文件以更改内核APPEND行上的安装程序的帧缓冲区支持。 系统启动,安装程序似乎工作…除了我现在收到关于CDROM的错误。 我假设我的PXE方法是不正确的。

在这种情况下使用ISO over PXE的正确方法是什么?

在这里输入图像说明

因为引导磁盘有自己的ISOLINUX来处理内核启动,所以在这个设置中,用所需的参数改变append肯定不会对PXELINUX有所帮助。

两种方法来解决这个问题。

更简单的选项:提取ISO,使用所需的引导参数修改isolinux/isolinux.cfg文件的append行,重新打包ISO。 有PXELINUX链到修改的ISO。

更复杂的(但可能更好,因为它消除了链接)选项:而不是使用memdisk引导到ISO,直接引导与ISO的ISOLINUX将做的相同的方式。

编辑:更明确的步骤启动到ISO内的操作系统:

  • 将ISO解压到/tftpboot/quantastore
  • 将提取的ISO中的preseed/quantastor.seed文件复制到在PXE服务器上运行的HTTP服务的Web根目录,以便在http://172.30.27.5/quantastor.seed
  • pxelinux.cfg/default文件更改为直接引导至ISO的提取内容。 移除目前的LABEL QuantaStor并replace为:

     LABEL QuantaStor menu label QuantaStor kernel quantastor/install/vmlinuz append preseed/url=http://172.30.27.5/quantastor.seed locale=en_US.UTF-8 keyboard-configuration/layoutcode=us initrd=quantastor/install/initrd.gz ramdisk_size=16384 nodmraid acpi=off root=/dev/ram vga16fb.modeset=0 rw quiet 

这应该大部分得到成功的安装,但QuantaStor在安装结束时运行的命令将会失败,因为它们直接寻找/cdrom 。 从quantastor.seed文件中:

  di preseed/late_command string mkdir -p /target/lib/plymouth/themes/quantastor; \ chroot /target echo "creating package dirs, setting up splash screens" >> /var/log/qs_install.log; \ mkdir /target/qs-pkgs; \ mkdir -p /target/qs-pkgs/drivers; \ mkdir -p /target/opt/osnexus/quantastor/raid-tools; \ cp /cdrom/finisher/raid-tools/* /target/opt/osnexus/quantastor/raid-tools; \ cp /cdrom/finisher/deb/*.deb /target/qs-pkgs; \ cp /cdrom/finisher/qs_preseed.sh /target/qs-pkgs; \ cp /cdrom/finisher/drivers/* /target/qs-pkgs/drivers; \ cp /cdrom/finisher/splash/* /target/lib/plymouth/themes/quantastor; \ cp /cdrom/finisher/osnexus.gpg /target/qs-pkgs; \ cp /cdrom/finisher/osnexus.list /target/etc/apt/sources.list.d/osnexus.list; \ cp /cdrom/finisher/rc.local /target/etc/rc.local; \ cp /cdrom/finisher/qs_runonce.sh /target/etc/qs_runonce.sh; \ chroot /target /qs-pkgs/qs_preseed.sh 

可能只是在第一次安装完成后手动运行这些东西(删除/target ) – 如果其他工作正常,我们可以调整这些命令,使其不依赖于驱动器中的CD。

input它“盲”?

出现(乱码)语言select后立即点击Enter ,因为它会很快超时。

然后点击F6Esc键入vga16fb.modeset=0 ,然后按Enter键

你可能没有必要在F6之后打Esc