HOWTO Remotely Install using SystemImager

From SystemImager

Jump to: navigation, search

This provides some initial notes on how to reload a box at a remote location.

Client kernel supports kexec

This procedure has been tested on openSUSE 10.2.

First you need the kexec binary -- install the package which provides it (kexec-tools).

Next, you need the SystemImager (BOEL or UYOK) kernel and initrd.img. Copy them to /tmp (or any directory).

You will also need the append options for your kernel. If you netboot via PXE, then this will be in the file /tftpboot/pxelinux.cfg/default on your imageserver.

Lastly, construct the kexec command, to be executed on your client and your system will automatically kexec the SystemImager kernel and re-image (without reboot!).

Sample kexec command (one line):

  # kexec --force --append="initrd=initrd.img root=/dev/ram MONITOR_SERVER=192.168.0.1 MONITOR_CONSOLE=yes \
  ramdisk_blocksize=1024 SSHD=y" --initrd=/tmp/initrd.img /tmp/kernel

Client kernel does not support kexec

  • This was tested on CentOS 5 using SystemImager 3.8.1.
  • This describes how to use grub. Lilo or other loaders would follow similar procedures.

Forcing Client to Boot

  • Copy either your own kernel+initrd or the BOEL kernel to your boot directory (for example, this uses NFS).
  • On server:
      cp /usr/share/systemimager/boot/i386/standard/* {mountpoint}/xfer
    or 
     cp /usr/share/systemimager/boot/i386/{your kernel}/* {mountpoint}/xfer
  • On client (to be reimaged):
    cp {mountpoint}/xfer/* /boot
    edit /etc/grub.conf
       set default=N to point to your stanza
       create a new grub stanza:
          title Reboot Me
             root (hd0,0)
             kernel /kernel ro root=/dev/ram ramdisk_size=80000 ramdisk_blocksize=1024
             initrd /initrd.img
  • Reboot the client and it should reinstall.
Personal tools