blob: b8c2002207566add77ec89a347baf2a336a44a29 [file] [log] [blame]
DESCRIPTION = "A minimal xen image"
INITRD_IMAGE = "core-image-minimal-initramfs"
IMAGE_INSTALL += " \
packagegroup-core-boot \
packagegroup-core-ssh-openssh \
${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \
kernel-module-xen-blkback \
kernel-module-xen-gntalloc \
kernel-module-xen-gntdev \
kernel-module-xen-netback \
${@bb.utils.contains('MACHINE_FEATURES', 'pci', 'kernel-module-xen-pciback', '', d)} \
kernel-module-xen-wdt \
xen-base \
qemu \
"
LICENSE = "MIT"
inherit core-image
do_check_xen_state() {
if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' yes', 'no', d)}" = "no" ]; then
die "DISTRO_FEATURES does not contain 'xen'"
fi
}
addtask check_xen_state before do_rootfs
syslinux_iso_populate_append() {
install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${ISODIR}${ISOLINUXDIR}
install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${ISODIR}${ISOLINUXDIR}
}
syslinux_hddimg_populate_append() {
install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${HDDDIR}${SYSLINUXDIR}
install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${HDDDIR}${SYSLINUXDIR}
}
grubefi_populate_append() {
install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}${EFIDIR}/xen.gz
}
populate_append() {
install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}/xen.gz
}
SYSLINUX_XEN_ARGS ?= "loglvl=all guest_loglvl=all console=com1,vga com1=115200,8n1"
SYSLINUX_KERNEL_ARGS ?= "ramdisk_size=32768 root=/dev/ram0 rw console=hvc0 earlyprintk=xen console=tty0 panic=10 LABEL=boot debugshell=5"
build_syslinux_cfg () {
echo "ALLOWOPTIONS 1" > ${SYSLINUXCFG}
echo "DEFAULT boot" >> ${SYSLINUXCFG}
echo "TIMEOUT 10" >> ${SYSLINUXCFG}
echo "PROMPT 1" >> ${SYSLINUXCFG}
echo "LABEL boot" >> ${SYSLINUXCFG}
echo " KERNEL mboot.c32" >> ${SYSLINUXCFG}
echo " APPEND /xen.gz ${SYSLINUX_XEN_ARGS} --- /vmlinuz ${SYSLINUX_KERNEL_ARGS} --- /initrd" >> ${SYSLINUXCFG}
}