[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [ImageBuilder] [PATCH 1/2] uboot-script-gen: Skip dom0 instead of exiting if DOM0_KERNEL is not set
On Sun, 19 Jun 2022, Xenia Ragiadakou wrote: > When the parameter DOM0_KERNEL is not specified and NUM_DOMUS is not 0, > instead of failing the script, just skip any dom0 specific setup. > This way the script can be used to boot XEN in dom0less mode. > > Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > scripts/uboot-script-gen | 60 ++++++++++++++++++++++++++++------------ > 1 file changed, 43 insertions(+), 17 deletions(-) > > diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen > index 455b4c0..bdc8a6b 100755 > --- a/scripts/uboot-script-gen > +++ b/scripts/uboot-script-gen > @@ -168,10 +168,15 @@ function xen_device_tree_editing() > dt_set "/chosen" "#address-cells" "hex" "0x2" > dt_set "/chosen" "#size-cells" "hex" "0x2" > dt_set "/chosen" "xen,xen-bootargs" "str" "$XEN_CMD" > - dt_mknode "/chosen" "dom0" > - dt_set "/chosen/dom0" "compatible" "str_a" "xen,linux-zimage > xen,multiboot-module multiboot,module" > - dt_set "/chosen/dom0" "reg" "hex" "0x0 $dom0_kernel_addr 0x0 $(printf > "0x%x" $dom0_kernel_size)" > - dt_set "/chosen" "xen,dom0-bootargs" "str" "$DOM0_CMD" > + > + if test "$DOM0_KERNEL" > + then > + dt_mknode "/chosen" "dom0" > + dt_set "/chosen/dom0" "compatible" "str_a" "xen,linux-zimage > xen,multiboot-module multiboot,module" > + dt_set "/chosen/dom0" "reg" "hex" "0x0 $dom0_kernel_addr 0x0 > $(printf "0x%x" $dom0_kernel_size)" > + dt_set "/chosen" "xen,dom0-bootargs" "str" "$DOM0_CMD" > + fi > + > if test "$DOM0_RAMDISK" && test $ramdisk_addr != "-" > then > dt_mknode "/chosen" "dom0-ramdisk" > @@ -203,7 +208,10 @@ function xen_device_tree_editing() > add_device_tree_static_mem "/chosen/domU$i" > "${DOMU_STATIC_MEM[$i]}" > fi > dt_set "/chosen/domU$i" "vpl011" "hex" "0x1" > - dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled" > + if test "$DOM0_KERNEL" > + then > + dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled" > + fi > > if test "${DOMU_COLORS[$i]}" > then > @@ -433,6 +441,19 @@ function xen_config() > DOM0_CMD="$DOM0_CMD root=$root_dev" > fi > fi > + if test -z "$DOM0_KERNEL" > + then > + if test "$NUM_DOMUS" -eq "0" > + then > + echo "Neither dom0 or domUs are specified, exiting." > + exit 1 > + fi > + echo "Dom0 kernel is not specified, continue with dom0less setup." > + unset DOM0_RAMDISK > + # Remove dom0 specific parameters from the XEN command line. > + local params=($XEN_CMD) > + XEN_CMD="${params[@]/dom0*/}" > + fi > i=0 > while test $i -lt $NUM_DOMUS > do > @@ -490,11 +511,13 @@ generate_uboot_images() > > xen_file_loading() > { > - check_compressed_file_type $DOM0_KERNEL "executable" > - dom0_kernel_addr=$memaddr > - load_file $DOM0_KERNEL "dom0_linux" > - dom0_kernel_size=$filesize > - > + if test "$DOM0_KERNEL" > + then > + check_compressed_file_type $DOM0_KERNEL "executable" > + dom0_kernel_addr=$memaddr > + load_file $DOM0_KERNEL "dom0_linux" > + dom0_kernel_size=$filesize > + fi > if test "$DOM0_RAMDISK" > then > check_compressed_file_type $DOM0_RAMDISK "cpio archive" > @@ -597,14 +620,16 @@ bitstream_load_and_config() > > create_its_file_xen() > { > - if test "$ramdisk_addr" != "-" > + if test "$DOM0_KERNEL" > then > - load_files="\"dom0_linux\", \"dom0_ramdisk\"" > - else > - load_files="\"dom0_linux\"" > - fi > - # xen below > - cat >> "$its_file" <<- EOF > + if test "$ramdisk_addr" != "-" > + then > + load_files="\"dom0_linux\", \"dom0_ramdisk\"" > + else > + load_files="\"dom0_linux\"" > + fi > + # xen below > + cat >> "$its_file" <<- EOF > dom0_linux { > description = "dom0 linux kernel binary"; > data = /incbin/("$DOM0_KERNEL"); > @@ -616,6 +641,7 @@ create_its_file_xen() > $fit_algo > }; > EOF > + fi > # domUs > i=0 > while test $i -lt $NUM_DOMUS > -- > 2.34.1 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |