mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-06-01 13:10:04 +00:00
arm-autonomy/xenguest-mkimage: add extra ramdisk support
Some guest images requires a ramdisk, that is built with a custom recipe. This patch adds an option '--xen-ramdisk', for xenguest-mkimage script to cover that. Extra ramdisk support is also added to xenguest-image-extra bbclass, via 'XENGUEST_EXTRA_RAMDISK' variable. Issue-Id: SCM-1276 Change-Id: I8ec74a37c0c96ca83a3489911186f3b3262f80fd Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com> Reviewed-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -12,6 +12,11 @@ inherit xenguest-image
|
||||
# recipes, the last recipe setting it will prevail.
|
||||
XENGUEST_EXTRA_DTB ??= ""
|
||||
|
||||
# Add a ramdisk file for the guest
|
||||
# Only one file should be added, if this is set multiple times or in several
|
||||
# recipes, the last recipe setting it will prevail.
|
||||
XENGUEST_EXTRA_RAMDISK ??= ""
|
||||
|
||||
# Append something to the guest xen configuration
|
||||
# All files here will be merged together in the final xen configuration
|
||||
# This can contain several files or be used in several recipes
|
||||
@@ -49,6 +54,13 @@ do_deploy_append() {
|
||||
call_xenguest_mkimage partial --xen-device-tree=${XENGUEST_EXTRA_DTB}
|
||||
fi
|
||||
|
||||
if [ -n "${XENGUEST_EXTRA_RAMDISK}" ]; then
|
||||
if [ ! -f ${XENGUEST_EXTRA_RAMDISK} ]; then
|
||||
die "xenguest-image: DTB file ${XENGUEST_EXTRA_RAMDISK} does not exist"
|
||||
fi
|
||||
call_xenguest_mkimage partial --xen-ramdisk=${XENGUEST_EXTRA_RAMDISK}
|
||||
fi
|
||||
|
||||
if [ -n "${XENGUEST_EXTRA_XENCONFIG}" ]; then
|
||||
for f in ${XENGUEST_EXTRA_XENCONFIG}; do
|
||||
if [ ! -f $f ]; then
|
||||
|
||||
@@ -99,6 +99,8 @@ For a detailed help on available operations, please use:
|
||||
times to add several command line options.
|
||||
- --xen-device-tree=FILE: add dtb FILE as device tree. This both adding the
|
||||
file to the image and modifying the xen configuration to use it.
|
||||
- --xen-ramdisk=FILE: add ramdisk FILE as guest ramdisk. This both adding the
|
||||
file to the image and modifying the xen configuration to use it.
|
||||
- --init-script=FILE: add guest init script. The script is embedded inside the
|
||||
image file. Several script can be added and the basename of FILE is used to
|
||||
distinguish them (calling the option twice with the same file will update the
|
||||
|
||||
@@ -82,6 +82,9 @@ Xen configuration for the guest
|
||||
--xen-device-tree= disable device tree parameter in xen configuration
|
||||
--xen-device-tree=FILE set guest device tree in xen configuration and add
|
||||
file to xen files
|
||||
--xen-ramdisk= disable ramdisk parameter in xen configuration
|
||||
--xen-ramdisk=FILE set guest ramdisk in xen configuration and add
|
||||
file to xen files
|
||||
--xen-disk= disable disk parameter in xen configuration
|
||||
--xen-disk=DEV set guest disk to device DEV (phy:DEV,xvda,w is set)
|
||||
--xen-append=FILE append FILE content to xen configuration
|
||||
@@ -668,6 +671,20 @@ for arg in "${@}"; do
|
||||
install -m 644 ${optarg} ${IMAGE_TMPDIR}/files/guest.dtb
|
||||
fi
|
||||
;;
|
||||
--xen-ramdisk=*)
|
||||
if [ -z "${optarg}" ]; then
|
||||
xen_config_disable_param "ramdisk"
|
||||
rm -f ${IMAGE_TMPDIR}/files/ramdisk.img
|
||||
else
|
||||
if [ ! -f ${optarg} ]; then
|
||||
echo "Error: invalid ramdisk file ${optarg}"
|
||||
exit 1
|
||||
fi
|
||||
xen_config_set_string "ramdisk" "files/ramdisk.img"
|
||||
mkdir -p ${IMAGE_TMPDIR}/files
|
||||
install -m 644 ${optarg} ${IMAGE_TMPDIR}/files/ramdisk.img
|
||||
fi
|
||||
;;
|
||||
--xen-disk=*)
|
||||
if [ -z "${optarg}" ]; then
|
||||
xen_config_disable_param "disk"
|
||||
|
||||
Reference in New Issue
Block a user