[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: arm64 in grub-mkconfig and grub-file?
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: arm64 in grub-mkconfig and grub-file? |
Date: |
Mon, 23 Dec 2013 05:58:26 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10 |
On 22.12.2013 20:39, Andrey Borzenkov wrote:
> Should not they have explicit arm64 support? I assume, images for arm
> and arm64 are different and not interchangeable?
>
Like attached?
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
diff --git a/grub-core/commands/file.c b/grub-core/commands/file.c
index 2723609..42d62d4 100644
--- a/grub-core/commands/file.c
+++ b/grub-core/commands/file.c
@@ -48,6 +48,8 @@ static const struct grub_arg_option options[] = {
N_("Check if FILE can be used as x86 multiboot2 kernel"), 0, 0},
{"is-arm-linux", 0, 0,
N_("Check if FILE is ARM Linux"), 0, 0},
+ {"is-arm64-linux", 0, 0,
+ N_("Check if FILE is ARM64 Linux"), 0, 0},
{"is-ia64-linux", 0, 0,
N_("Check if FILE is IA64 Linux"), 0, 0},
{"is-mips-linux", 0, 0,
@@ -107,6 +109,7 @@ enum
IS_MULTIBOOT,
IS_MULTIBOOT2,
IS_ARM_LINUX,
+ IS_ARM64_LINUX,
IS_IA64_LINUX,
IS_MIPS_LINUX,
IS_MIPSEL_LINUX,
@@ -401,6 +404,21 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char
**args)
}
break;
}
+ case IS_ARM64_LINUX:
+ {
+ grub_uint32_t sig;
+
+ if (grub_file_seek (file, 0x38) == (grub_size_t) -1)
+ break;
+ if (grub_file_read (file, &sig, 4) != 4)
+ break;
+ if (sig == grub_cpu_to_le32_compile_time (0x644d5241))
+ {
+ ret = 1;
+ break;
+ }
+ break;
+ }
case IS_PAE_DOMU ... IS_DOM0:
{
struct grub_xen_file_info xen_inf;
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index 02a455e..44f2d1d 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -273,7 +273,8 @@ for i in "${grub_mkconfig_dir}"/* ; do
*/\#*\#) ;;
*)
if grub_file_is_not_garbage "$i" && test -x "$i" ; then
- for platform in x86 i386-xen-pae x86_64-xen mips mipsel sparc64
powerpc ia64 arm; do
+ for platform in x86 i386-xen-pae x86_64-xen mips mipsel sparc64
powerpc ia64 arm arm64; do
+
GRUB_PLATFORM=$platform
export GRUB_PLATFORM
buf="$($i)"
signature.asc
Description: OpenPGP digital signature