extract-vmlinux: update to check to search "MS-DOS executable"
instead of check if there is a line that ends with "MS-DOS executable",
as on some host OS, there might be other information printed
after "MS-DOS executable".
Like on Debian OS, the output is something like following:
$ cat /etc/issue
Debian GNU/Linux bullseye/sid \n \l
$ file cuttlefish_assembly/vmlinux
cuttlefish_assembly/vmlinux: MS-DOS executable PE32+ executable (EFI application) Aarch64 (stripped to external PDB), for MS Windows
$
Test: boot test manually with launch_cvd command
Signed-off-by: Yongqin Liu <[email protected]>
Change-Id: I0e6d761271f4182d8efa45a1851e4a3bea013952
diff --git a/scripts/extract-vmlinux b/scripts/extract-vmlinux
index 1f90139..7724f38 100755
--- a/scripts/extract-vmlinux
+++ b/scripts/extract-vmlinux
@@ -18,7 +18,11 @@
readelf -h $1 > /dev/null 2>&1
if [ $? -ne 0 ]; then
# On ARM64, the kernel might be a PE file instead
- file $1 | grep -q "MS-DOS executable$" || return 1
+ # and output of file command might be something like following:
+ # $ file cuttlefish_assembly/vmlinux
+ # cuttlefish_assembly/vmlinux: MS-DOS executable PE32+ executable (EFI application) Aarch64 (stripped to external PDB), for MS Windows
+ # $
+ file $1 | grep -q "MS-DOS executable" || return 1
fi
cat $1