| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new config parameter to configure a dom0less VM with static allocation.
DOMU_STATIC_MEM[number]="baseaddr1 size1 ... baseaddrN sizeN"
The parameter specifies the host physical address regions to be statically
allocated to the VM. Each region is defined by its start address and size.
For instance,
DOMU_STATIC_MEM[0]="0x30000000 0x10000000 0x50000000 0x20000000"
indicates that the host memory regions [0x30000000, 0x40000000) and
[0x50000000, 0x70000000) are statically allocated to the first dom0less VM.
Since currently it is not possible for a VM to have a mix of both statically
and non-statically allocated memory regions, when DOMU_STATIC_MEM is specified,
adjust VM's memory size to equal the amount of statically allocated memory.
[stefano: add check for DOMU_MEM != DOMU_STATIC_MEM]
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit b9e2809fce57 introduced support for symlinks when specified in
the config file for one of the binaries, but it breaks if there is a
symlink in one of the parent directories.
This patch fixes the behavior by doing the following:
- get the absolute "real" path of the target file using realpath, not
resolving symlinks for the parameter path (parents still get resolved)
- get the absolute "real" path of the current directory using realpath
This is necessary so that the two paths match in terms of symlinks
resolution.
- strip the base directory from the absolute path.
The result is the target file with a path relative to the current
directory without symlink resolution, but correctly handling the case
where symlinks are presents in the parent directories.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Tested-by: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Skipped symbolic links resolving, since the file
names that we pass via configs are symlinks, but we want the
tool to generate a script with the exact same names that we
pass to it.
Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If BOOT_CMD is specified as "bootm" it requires a uImage to boot.
Automatically generate a $XEN.ub binary using mkimage and specifying the
right loading address.
Also remove "u-boot legacy uImage" from the allowed Xen binary types
because we cannot easily check that the uImage was built with the right
address.
Note that "ARM OpenFirmware" is the type returned by certain versions of
"file" utility for a Xen arm32 binary.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Ayan Kumar Halder <ayankuma@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
With BOOT_CMD, one can specify the boot command used by the imagebuilder.
The valid values are 'booti', 'bootm' and 'bootefi'.
Also, removed EFI option. This is now covered by BOOT_CMD.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For armv7 based platforms, xen binary needs to be converted to uboot legacy image
format. For example
mkimage -A arm -T kernel -C none -a 0x40e00000 -e 0x40e00000 -d xen-4.17-unstable xen.ub
Our uboot-script should be able to recognize these images.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
With certain boards the only way possible to load the boot images, is
from the usb partition which has been formatted with FAT filesystem.
Thus, added support to load images from the usb device with a FAT
partition.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced the new config options :-
DOM0_MEM - To specify the amount of memory (in MB) that is assigned
to Dom0.
DOM0_VCPUS - To specify the count of virtual CPUs for Dom0.
These options are used to set XEN_CMD.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there is any error in compile_merge_partial_dts() and
sanity_check_partial_dts(), it should return 1 to the caller.
The caller will then check the return and call cleanup_and_return_err()
(which terminates the script).
This is to prevent compile_merge_partial_dts() and
sanity_check_partial_dts() terminating the script.
The reason being these functions can get invoked from
disk_image (in the future) which may require some additional
cleanup.
Also, moved cleanup_and_return_err() to uboot-script-gen as the
cleanup is specific to the script.
Ensure that we preseve the directory containing the partial dtbs only
when the dtbs were generated successfully. Else, we delete it.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract some of the functions from uboot-script-gen into common.
This will be sourced by disk_image(in subsequent patch) which will
invoke the functions for generating dtb.
common will have access to all the environment variables defined in
the Imagebuilder config file as described in README.md
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
DOMU_KERNEL[] needs to be defined in the config file. If this is not
defined, then the user has specified an incorrect number for
NUM_DOMUS.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One can specify the repository and the directory holding the partial
device trees via the config option PASSTHROUGH_DTS_REPO. This can be
either a git url or a local directory containing the partial device trees.
Also, the passthrough devices for each DOMU are specified via
DOMU_PASSTHROUGH_PATHS config option.
Imagebuilder will compile the partial device trees. The underlying
assumption is that the name of the partial device tree should
match to the name of the device specified in DOMU_PASSTHROUGH_PATHS.
For example (in case of git repo) :-
PASSTHROUGH_DTS_REPO="git@github.com:Xilinx/xen-passthrough-device-trees.git device-trees-2021.2"
DOMU_PASSTHROUGH_PATHS[0]="/axi/serial@ff010000 /axi/mmc@ff170000"
(This tells imagebuilder to clone the repo and use serial@ff010000.dts
and mmc@ff170000.dts from device-trees-2021.2 folder, to compile and generate
a partial dtb for DOMU[0].
If the files are absent, it will give an error.
Also, if the files mismatching values for #address-cells and #size-cells, it
will give an error.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Add an option 'XEN_PASSTHROUGH_PATHS' to the imagebuilder config file.
It takes a list of device paths (separated by spaces) which needs to be
marked with xen,passthrough.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The default assignment of domU bootargs has been moved from
add_device_tree_kernel() to xen_config(). This is done to mantain
consistency with other DomU defaults.
Reported-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The user can specify the bootargs for domU in the config file as
follows:-
DOMU_CMD[x]="<cmd line params>"
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 <ayankuma@xilinx.com>
[stefano: improve README]
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
| |
Secure boot on uboot expects the last PE image loaded be the signed
image used. Simply move Xen to the bottom of the load order (other than
device trees and bitstreams) and it enables Xen to boot.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to use imagebuilder with baremetal Linux. This allows
baremetal Linux to be booted in the various ways Xen is now (individual
files with a script, fit with a script and fit via a config).
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
For later add Linux support, restructure the code so it's easier to add
various other OSs configurartions.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
| |
Also add [-f] to the help message as it was missing.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Reducing what's needed in the CLI arguments to a minimum to streamline
usage. The current behavior does not change and setting it on the CLI
arguments will overwrite what's in the config file.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Make it so that EFI enablement can be configured in the config file for
uboot-script gen.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Add support for adding a field in the config file and add support in
uboot-script-gen for it.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
There was a problem with delimiters and how it worked for both the uboot
scripts and the edited device trees.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
Also add "multiboot,module" compatible string for dom0 kernel and
ramdisk, so that Xen can detect it and skip loading the xen.cfg file.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Device tree overlaps support in u-boot means that adding overlay support
at boot time is easy. Simply loading the files via tftp/scsi/fit etc
and then applying the overlays before the normal imagebuilder fdt edits
at boot time allows for applying overlays without changing the device
tree files.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
| |
Add support for signing FIT images.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a "fit" option that uses a script rather than a standard FIT format.
This allows traditional imagerbuilder script support to be used with FIT
images. Dom0less and everything else works and is free of the
limitations that the standard FIT format of using configs has.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
This allows the creation of a standard fit image without the use of a
script. This also means that supporting dom0less configs is rather
tricky since it uses bootm and not booti.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Rather than using an uboot script to modify the device tree, allow an
config option to be specified so that a device tree is generated as
well. Making it to see what exactly is given to Xen.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
| |
Also introduce a new DOMU_NOBOOT option to force a domU not to be
started automatically at boot as dom0less guest.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rootfses that should be written to disk as their own partition are
called *_ROOTFS instead of *_RAMDISK.
This change makes the config file clearer and more consistent. However
it changes the current behavior as the Dom0 RAMDISK (not ROOTFS) was
written to disk as its own partition before, and now it is not.
In the case of uboot-script-gen, dom0less guests cannot access disk
partitions yet (missing PV drivers support). Hence, if one or more domU
ROOTFSes are specified, print an error and exit. For dom0, base the
root= parameter generation on the presence of DOM0_ROOTFS.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the -t option, the "sd" was an alias for the "load scsi 0:1" load
command. Change that to a "load mmc 0:1" alias and then add a "scsi"
alias which is "load scsi 0:1". To make sure these aliases and manually
setting the load command works, a parsing the command and setting the
correct partition and devs was also added.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
| |
Add two new config file parameters to configure the amount of memory and
the number of vcpus of dom0less VMs.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Both XEN_CMD and DOM0_CMD are optional settings in the config file that
set Xen's and Dom0's command line arguments. If not set, a default
value will be used. Also, for Dom0's command line arguments, if root
isn't set in it, it will determine the best option based on the load
argument.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
| |
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The -d option for uboot-script-gen was poorly worded. The -d option
isn't a working directory but rather the "root" directory for where
the tftp or other root directory would be in relation to the files. Any
files generated in the created of the boot.src/source files are in /tmp
and are deleted afterwards.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
| |
Some build systems like yocto use absolute paths. Add support for them
so they can be used in the config file.
Signed-off-by: Swagath Gadde <swagath.gadde@xilinx.com>
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
| |
In some distros (like RHEL 6 and 7), file identifies the device tree
blobs (DTBs) as "data". To make imagebuilder work on these older
distros, change it where DTBs are correctly identified as "Device Tree
Blob" or "data".
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
| |
clk_ignore_unused reduces clock related errors and warning on many
platforms. It looks like a safer default to have.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
CC: woods@xilinx.com
CC: izhar.ameer.shaikh@xilinx.com
|
|
|
|
|
|
|
|
|
|
| |
Use stat -L and file -L so that the two tools follow symlinks correctly.
Also fix an error in check_file_type: the error function is called
cleanup_and_return_err, not clean_up_and_err_out.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
|
|
|
|
| |
Introduce a -o command line option for uboot-script-gen to be able to
easily specify the output filename for the uboot script and the uboot
script source.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
| |
To account for configurations with larger rootfses.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|
|
|
|
|
|
|
|
|
| |
The boot script files would still be generated even if the files used
in the config don't exist. This checks to make sure the files exist
and if they don't, it exits and errs out.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some versions of the file command and Xen will output:
xen: Linux kernel ARM boot executable zImage (little-endian)
and executables that file doesn't recognize are simply classified as
"data." So changing "MS-DOS executable" to "executable" and or'ing that
with "data" should increase coverage without making the check useless.
Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
| |
Currently there are tmp files left after the script is run. This keeps
track of the files and deletes them when exiting.
Signed-of-by: Brian Woods <brian.woods@xilinx.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
|
|
|
|
|
| |
There was a mixure of spaces and tabs in the help message of
uboot-script-gen. Fix it to only use tabs like disk_image's help
message.
Signed-off-by: Brian Woods <brian.woods@xilinx.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
|
|
| |
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
|