Hi,
I tried to build aarch64 image by follow
https://en.opensuse.org/openSUSE:AArch64#Boot-wraper.
1. However seems some steps maybe missed before "Cross-compile *.axf
file", I guess the following
steps should be run under boot-wrapper-aarch64 folder, is my
understanding correct?
$ autoreconf -i
$ ./configure --host=<toolchain-triplet> --with-kernel-dir=<kernel-dir>
<other-options>
2. I used below cmds to compile boot-wrapper-aarch64
1) ./configure --host=aarch64-linux-gnu --with-kernel-dir=<kernel-dir>
--with-dtb=<kernel-dir>/arch/arm64/boot/vexpress-foundation-v8.dtb
Boot wrapper configuration
==========================
Linux kernel build dir: /home/gjiang/linaro-aarch64/
Device tree blob:
/home/gjiang/linaro-aarch64/arch/arm64/boot/vexpress-foundation-v8.dtb
Linux kernel command line: console=ttyAMA0
earlyprintk=pl011,0x1c090000
Embedded initrd: NONE
Use PSCI? no
CPU IDs: 0x0,0x1,0x2,0x3
Use GICv3? no
2) make CROSS_COMPILE=aarch64-linux-gnu- BOOTARGS='"root=/dev/vda2
consolelog=9 rw console=ttyAMA0"' FDT_SRC=vexpress-foundation-v8.dts
IMAGE=linux-system-foundation.axf
gic.S: Assembler messages:
gic.S:26: Error: invalid address at operand 2 -- `ldr x1,='
gic.S:42: Error: invalid address at operand 2 -- `ldr x1,='
make: *** [gic.o] Error 1
But apparently some errs happened due to can't find the addrs for
GIC_DIST_BASE and GIC_CPU_BASE, and I
do following changes to fix it.
diff --git a/arch/arm64/boot/dts/vexpress-foundation-v8.dts
b/arch/arm64/boot/dts/vexp
index 5e566a7..23e8e95 100644
--- a/arch/arm64/boot/dts/vexpress-foundation-v8.dts
+++ b/arch/arm64/boot/dts/vexpress-foundation-v8.dts
@@ -64,7 +64,7 @@
};
gic: interrupt-controller@2c001000 {
- compatible = "arm,cortex-a9-gic";
+ compatible = "arm,cortex-a15-gic";
#interrupt-cells = <3>;
#address-cells = <0>;
interrupt-controller;
3. Unfortunately, the axf can't boot well with foundation model finally.
NR_IRQS:64 nr_irqs:64 0
Kernel panic - not syncing: No interrupt controller found.
Call trace:
[<ffffffc0000874e0>] dump_backtrace+0x0/0x130
[<ffffffc0003b22ec>] dump_stack+0x14/0x1c
[<ffffffc0003b2534>] panic+0xe4/0x204
[<ffffffc0004ccd1c>] init_IRQ+0x2c/0x34
[<ffffffc0004cb634>] start_kernel+0x1b4/0x2e8
Seems the value of gic is not correct in vexpress-foundation-v8.dts,
could someone can help me about it?
Thanks in advance.
Regards,
Guoqing
--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]