From 99d452ee2e3c2f0abebbaaad32aa5ae1a58da0bd Mon Sep 17 00:00:00 2001 From: Ayan Kumar Halder Date: Fri, 5 Nov 2021 12:20:16 +0000 Subject: Enable the user to override the bootargs for domU The user can specify the bootargs for domU in the config file as follows:- DOMU_CMD[x]="" As an example, DOMU_CMD[0]="console=ttyPS0 earlycon console=ttyPS0,115200 console=ttyAMA0 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0 init=/bin/sh" If the user does not specify this, then the default command line param is:- "console=ttyAMA0" Also, updated the README.md. Signed-off-by: Ayan Kumar Halder [stefano: improve README] Signed-off-by: Stefano Stabellini Reviewed-by: Stefano Stabellini --- README.md | 7 ++++--- scripts/uboot-script-gen | 9 +++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 26ff43a..184ceef 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,11 @@ DT_OVERLAY[0]="host_dt_overlay.dtbo" NUM_DOMUS=2 DOMU_KERNEL[0]="zynqmp-dom1/Image-domU" +DOMU_CMD[0]="console=ttyPS0 earlycon console=ttyPS0,115200 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0 init=/bin/sh" DOMU_RAMDISK[0]="zynqmp-dom1/domU-ramdisk.cpio" DOMU_PASSTHROUGH_DTB[0]="zynqmp-dom1/passthrough-example-part.dtb" DOMU_KERNEL[1]="zynqmp-dom2/Image-domU" +DOMU_CMD[1]="console=ttyAMA0 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0 init=/bin/sh" DOMU_RAMDISK[1]="zynqmp-dom2/domU-ramdisk.cpio" DOMU_MEM[1]=512 DOMU_VCPUS[1]=1 @@ -103,9 +105,8 @@ Where: - DOMU_KERNEL[number] specifies the DomU kernel to use. -- DOMU_CMD[number] specifies the command line arguments for Dom0's Linux - kernel. If "root=" isn't set, imagebuilder will try to determine it. - If not set at all, the default one is used. +- DOMU_CMD[number] specifies the command line arguments for DomU's Linux + kernel. If not set, then "console=ttyAMA0" is used. - DOMU_RAMDISK[number] specifies the DomU ramdisk to use. diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen index e14ee32..6ae767e 100755 --- a/scripts/uboot-script-gen +++ b/scripts/uboot-script-gen @@ -85,11 +85,16 @@ function add_device_tree_kernel() local path=$1 local addr=$2 local size=$3 + local bootargs=$4 + if test -z "$bootargs" + then + bootargs="console=ttyAMA0" + fi dt_mknode "$path" "module$addr" dt_set "$path/module$addr" "compatible" "str_a" "multiboot,kernel multiboot,module" dt_set "$path/module$addr" "reg" "hex" "0x0 $addr 0x0 $(printf "0x%x" $size)" - dt_set "$path/module$addr" "bootargs" "str" "console=ttyAMA0" + dt_set "$path/module$addr" "bootargs" "str" "$bootargs" } @@ -147,7 +152,7 @@ function xen_device_tree_editing() dt_set "/chosen/domU$i" "memory" "int" "0 ${DOMU_MEM[$i]}" dt_set "/chosen/domU$i" "cpus" "int" "${DOMU_VCPUS[$i]}" dt_set "/chosen/domU$i" "vpl011" "hex" "0x1" - add_device_tree_kernel "/chosen/domU$i" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} + add_device_tree_kernel "/chosen/domU$i" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} "${DOMU_CMD[$i]}" if test "${domU_ramdisk_addr[$i]}" then add_device_tree_ramdisk "/chosen/domU$i" ${domU_ramdisk_addr[$i]} ${domU_ramdisk_size[$i]} -- cgit v1.2.3