Skip to main content
added 1687 characters in body
Source Link
Shane Madden
  • 116.5k
  • 13
  • 187
  • 256

ExtractEdit: clearer steps for booting to the OS within the ISO to somewhere in your TFTP root:

  • Extract the ISO to /tftpboot/quantastore

  • Copy the file preseed/quantastor.seed from the extracted ISO to the web root of an HTTP service running on your PXE server so that it's available at http://172.30.27.5/quantastor.seed

  • Change your pxelinux.cfg/default file to boot directly to the extracted contents of the ISO. Remove the current LABEL QuantaStor and replace with:

     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 

This should get a successful install for the most part, say withinbut the commands that QuantaStor runs at the end of the install will fail since they're looking directly for tftproot/quantastorecdrom, and mimic. From the isolinux/isolinuxquantastor.cfgseed file from the ISO in your PXELINUX config.:

 d-i 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 

ModifyProbably just run that stuff manually after the kernel and initrd to be relative to your TFTP root, andinstall completes the first time around preseed/file should instead be a(removing the preseed/urltarget with a copy of the preseed file from the ISO on an HTTP service. Some additional stuff that) - if it's expectingworking other that that, we can adapt these commands to put their stuff in place without depending on the CD might be missing, so this approach might not be successfulbeing in the drive.

Extract the ISO to somewhere in your TFTP root, say within tftproot/quantastore, and mimic the isolinux/isolinux.cfg file from the ISO in your PXELINUX config.

Modify the kernel and initrd to be relative to your TFTP root, and the preseed/file should instead be a preseed/url with a copy of the preseed file from the ISO on an HTTP service. Some additional stuff that it's expecting on the CD might be missing, so this approach might not be successful.

Edit: clearer steps for booting to the OS within the ISO:

  • Extract the ISO to /tftpboot/quantastore

  • Copy the file preseed/quantastor.seed from the extracted ISO to the web root of an HTTP service running on your PXE server so that it's available at http://172.30.27.5/quantastor.seed

  • Change your pxelinux.cfg/default file to boot directly to the extracted contents of the ISO. Remove the current LABEL QuantaStor and replace with:

     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 

This should get a successful install for the most part, but the commands that QuantaStor runs at the end of the install will fail since they're looking directly for /cdrom. From the quantastor.seed file:

 d-i 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 

Probably just run that stuff manually after the install completes the first time around (removing the /target stuff) - if it's working other that that, we can adapt these commands to put their stuff in place without depending on the CD being in the drive.

Source Link
Shane Madden
  • 116.5k
  • 13
  • 187
  • 256

Altering the append with desired parameters definitely won't help from PXELINUX in this setup, as the boot disk has its own ISOLINUX handling the kernel boot.

Two ways to fix this.

The simpler option: extract the ISO, modify the isolinux/isolinux.cfg file's append line with the needed boot arguments, re-pack the ISO. Have PXELINUX chain to the modified ISO.

The more complex (but possibly better, as it removes the chaining) option: instead of using memdisk to boot into the ISO, directly boot in the same way that the ISO's ISOLINUX would be doing.

Extract the ISO to somewhere in your TFTP root, say within tftproot/quantastore, and mimic the isolinux/isolinux.cfg file from the ISO in your PXELINUX config.

Modify the kernel and initrd to be relative to your TFTP root, and the preseed/file should instead be a preseed/url with a copy of the preseed file from the ISO on an HTTP service. Some additional stuff that it's expecting on the CD might be missing, so this approach might not be successful.