| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One should copy the device tree to a temporary file and then make any
change (so as to enable merging of multiple device trees).
In this case, the change is to remove the marker (/dts-v1/;) from all
the device trees except the first one to be merged. DTC expects the
marker to be present only once.
Also, i, j, tmpdts and file should be set to local. This will avoid
name collision.
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>
|
|
|
|
|
|
|
|
|
|
|
| |
Yocto generates *.cpio images. Thus, it can be a valid type of rootfs
image.
Also, when an invalid rootfs image is detected, the script should exit
immediately
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>
|
|
|
|
|
|
|
|
|
|
| |
"petalinux-boot --qemu" when used with a sd image, expects the image to
be of size which is power of 2. Thus, one needs to provide an option to
disk_image to create images aligned to the next power of two.
Signed-off-by: Ayan Kumar Halder <ayankuma@xilinx.com>
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>
|
|
|
|
|
|
|
|
|
|
| |
Copy the device tree overlays to the boot partition so that
they can be located and applied directly while booting.
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.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: Víctor Mayoral Vilches <v.mayoralv@gmail.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>
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces several changes that allow the use of disk_image
for the generation of non-Xen (e.g. plain vanilla kernel-based) raw
images.
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.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: Victor Mayoral Vilches <v.mayoralv@gmail.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>
|
|
|
|
|
|
|
|
|
|
|
| |
Add NUM_BOOT_AUX_FILE and BOOT_AUX_FILE[n] so that the user can add a
number of files to the first partition with disk_image. This is useful
for firmware files etc.
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Brian Woods <brian.woods@gmail.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>
|
|
|
|
|
|
|
|
| |
added to each partition.
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A heuristic was used in the previous implementation for simplicity (*2)
but when using bigger file systems size overflows.
This patch uncompresses the archive in an auxiliary folder and
calculates its total size in bytes instead.
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
disk_image generates xl config files to start DomUs from Dom0. The files
are added to dom0 rootfs partition under /etc/xen for your convenience.
They refer to kernels and ramdisks stored on the first partition. It is
recommended to mount the first partition under /boot in Dom0 to use
them.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
| |
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
| |
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@xilinx.com>
|
|
|
|
|
|
| |
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.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>
|
|
|
|
|
|
|
|
|
|
| |
Initially ImageBuilder was meant to be mainly invoked from a container
but in practice ImageBuilder's scripts have been called directly.
Remove the old documentation and Dockerfile.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Brian Woods <brian.woods@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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|