Documentations > Developer Documentations > OSCAR infrastructure
SystemConfigurator
Kernel Specification
A new feature has been introduced into systemconfigurator for OSCAR, the configuration of virtual environments using virtualization solutions such as Xen. All previous kernel configuration are still supported, for more details about default systemconfigurator capabilities, please read the systemconfigurator documentation: [http://sisuite.org/systemconfig/man/systemconfig.conf.html]
For the support of Hypervisor, a new HOSTOS
directive has been created which allows to specify that kernel has to be used by the host OS within a virtual environment. The PATH
directive is used to specify the Hypervisor and INITRD
is used to specify the initrd file for the host OS. Note that currently only Grub is supported
Example
Here an example of /etc/systemconfig/systemconfigurator.conf
file that setups a virtual environment:
# systemconfig.conf written by systeminstaller.
CONFIGBOOT = YES
CONFIGRD = YES
[BOOT]
ROOTDEV = /dev/hda6
BOOTDEV = /dev/hda
DEFAULTBOOT = Xen
[KERNEL0]
PATH = /boot/vmlinuz-2.6.8-3-686-smp
LABEL = 2.6.8-3-686-smp
[KERNEL1]
PATH = /boot/xen.gz
LABEL = Xen
APPEND = dom0_mem=131072
HOSTOS = /boot/vmlinuz-2.6.8-3-686-smp
INITRD = /boot/initrd.img-2.6.8-3-686-smp
This configuration file will generate the following GRUB configuration file:
###################################################
# This file is generated by System Configurator. #
###################################################
# The number of seconds to wait before booting.
timeout 5
# The default kernel image to boot.
default 1
# The splash image (this line will be empty if nothing was found)
# kernel0
title 2.6.8-3-686-smp_(hd0,0)
root (hd0,0)
kernel /vmlinuz-2.6.8-3-686-smp ro root=/dev/hda6
initrd /sc-initrd-2.6.8-3-686-smp.gz
# kernel1
title Xen_(hd0,0)
root (hd0,0)
kernel /xen.gz dom0_mem=131072
module /vmlinuz-2.6.8-3-686-smp root=/dev/hda6 ro console=tty0
module /initrd.img-2.6.8-3-686-smp
Building Process
Systemconfigurator SVN repository is hosted at [http://svn.systemimager.org].
In order to compile Systemconfigurator, you need to execute perl Makefile.PL && make
. Note that the building system for Systemconfigurator is based on ExtUtils::MakeMaker
. Therefore if you want to update the Makefile.PL, be sure you use the correct macros. For instance, do not make a direct reference to /usr/bin/pod2man
, use the pod2man
subroutine of the ExtUtils::MakeMaker
Perl package. Another example, if you want to implement a new installation rule in the Makefile.PL
file, be sure you use the variables that have DEST as prefix in order to avoid any issue during the building process.
Build .deb Packages
to create .deb packages, just check out sources, generate the Makefile (perl Makefile.PL
) and execute make deb
. Created packages are in /tmp/scdeb/
.
Build RPM Packages
We should use make rpm
.