HOWTO Remotely Install using SystemImager
From SystemImager
This provides some initial notes on how to reload a box at a remote location.
[edit]
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
[edit]
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.
[edit]
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.
