I'm in a tough situation in which I need to perform a remote installation of a QuantaStor (Ubuntu-based - hiss) appliance onto hardware with limited out-of-band access functionality.
The target system is an HP ProLiant DL180 G6 server, which has a fully-licensed Lights-Out LO100i remote KVM. This is a big step down from the ILO3 or ILO4 management processors. The challenge with this hardware is that the LO100i's virtual media functions are not reliable. As Java releases have progressed, this ILO has become less useful. Right now, I cannot get the system to boot via the remote media, even though this function worked well in the past.
So my next step was to attempt to PXE boot this server using the QuantaStor ISO image. Oddly, there are a number of conflicting accounts of how one can PXE boot an ISO image directly without chaining boot loaders, etc. After some experimentation, I found that I could boot an ISO using memdisk
through the PXE server. I control the DNS and DHCP in this environment, so I went the standard route of modifying the /etc/dhcpd.conf
configuration file to reflect:
# 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
For my PXE config, I set /tftpboot/pxelinux.cfg/default
to:
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
Together, these features allowed me to get the system to begin booting the ISO. Unfortunately, the remote KVM's console produced the following garbled video output:
The appliance's installation screen should look like this:
Several reboots and after some basic research, I discovered that the LO100 remote KVM shares this framebuffer symptom with some Supermicro IPMI boards. The workaround is to pass vga16fb.modeset=0
to the boot arguments. This is unique to Ubuntu (sigh).
How can I get this statement into the argument line of the PXE-booted ISO?
Where should I add the statement?
Attempts to do so in the "APPEND" line of the /tftpboot/pxelinux.cfg/default
don't seem to help. The Ubuntu hints suggest adding the line by pressing F6
at the ISO boot screen. My remote KVM is garbled by that point, and I'm not able to add it manually.
Any ideas?
Update:
I extracted the ISO and modified the isolinux.cfg file to change the installer's frame buffer support on the kernel APPEND line. The system boots and the installer appears to work... except I now receive an error about the CDROM. I'm assuming my PXE method is incorrect.
What is the proper way to use an ISO over PXE in this context?