aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-03-20 08:30:16 +1300
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-03-25 11:07:22 +0100
commited10008babeb6750555f26fd8fbb4572489d635c (patch)
tree7e71fae32db00e4eb18a5f959f9cce2713d79ec3 /scripts
parent1d32eee4faedc11d98a342c92aa7d139d9b204cc (diff)
downloadu-boot-ed10008babeb6750555f26fd8fbb4572489d635c.zip
u-boot-ed10008babeb6750555f26fd8fbb4572489d635c.tar.gz
u-boot-ed10008babeb6750555f26fd8fbb4572489d635c.tar.bz2
efI: Allow packaging a kernel in the debugging script
Add an option to package a kernel into the debugging script used for EFI. The name of the kernel must be added to the script. By default it is assumed that the kernel is built in the /tmp/kernel directory. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-efi.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/scripts/build-efi.sh b/scripts/build-efi.sh
index 46c2880..6b7df2e 100755
--- a/scripts/build-efi.sh
+++ b/scripts/build-efi.sh
@@ -18,12 +18,15 @@
# OVMF-pure-efi.x64.fd at
# https://drive.google.com/file/d/1c39YI9QtpByGQ4V0UNNQtGqttEzS-eFV/view?usp=sharing
+bzimage_fname=/tmp/kernel/arch/x86/boot/bzImage
+
set -e
usage() {
echo "Usage: $0 [-a | -p] [other opts]" 1>&2
echo 1>&2
echo " -a - Package up the app" 1>&2
+ echo " -k - Add a kernel" 1>&2
echo " -o - Use old EFI app build (before 32/64 split)" 1>&2
echo " -p - Package up the payload" 1>&2
echo " -P - Create a partition table" 1>&2
@@ -52,11 +55,14 @@ serial=
# before the 32/64 split of the app
old=
+# package up a kernel as well
+kernel=
+
# Set ubdir to the build directory where you build U-Boot out-of-tree
# We avoid in-tree build because it gets confusing trying different builds
ubdir=/tmp/b/
-while getopts "aopPrsw" opt; do
+while getopts "akopPrsw" opt; do
case "${opt}" in
a)
type=app
@@ -64,6 +70,9 @@ while getopts "aopPrsw" opt; do
p)
type=payload
;;
+ k)
+ kernel=1
+ ;;
r)
run=1
;;
@@ -124,6 +133,9 @@ EOF
# Copy files into the filesystem
copy_files() {
sudo cp $TMP/* $MNT
+ if [[ -n "${kernel}" ]]; then
+ sudo cp ${bzimage_fname} $MNT/vmlinuz
+ fi
}
# Create a filesystem on a raw device and copy in the files