Artix-7でLinuxを動かそうとしています。
u-bootにロードするときのアドレスの指定でいろいろと勘違いしていたのと、FDTのアドレスの指定方法の知識が足りませんでした。
いろいろ試していたら、ついに、U-BootがLinuxのカーネルを読み始めて何か出てきました。
U-Boot> bootm b0000000 b1000000 b2000000
## Booting kernel from Legacy Image at b0000000 ...
Image Name: Linux-3.9.0-dirty
Image Type: MicroBlaze Linux Kernel Image (uncompressed)
Data Size: 4311140 Bytes = 4.1 MiB
Load Address: b5000000
Entry Point: b5000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at b1000000 ...
Image Name:
Image Type: MicroBlaze Linux RAMDisk Image (gzip compressed)
Data Size: 1497475 Bytes = 1.4 MiB
Load Address: b4000000
Entry Point: b4000000
Verifying Checksum ... OK
## Flattened Device Tree blob at b2000000
Booting using the fdt blob at 0xb2000000
Loading Kernel Image ... OK
OK
## Loading init Ramdisk from Legacy Image at b1000000 ...
Image Name:
Image Type: MicroBlaze Linux RAMDisk Image (gzip compressed)
Data Size: 1497475 Bytes = 1.4 MiB
Load Address: b4000000
Entry Point: b4000000
Verifying Checksum ... OK
Early console on uartlite at 0x40600000
bootconsole [earlyser0] enabled
Ramdisk addr 0xb1000040,
FDT at 0xb2000000
Oops: kernel access of bad area, sig: 11
Registers dump: mode=B53DDE94
r1=B0500000, r2=C03DAAE0, r3=BB4FF000, r4=BB4FF000
r5=00001000, r6=00000000, r7=00001000, r8=BB4FF000
r9=00000000, r10=00000003, r11=B5000000, r12=B0000000
r13=40BFCE20, r14=00001000, r15=C02F6E34, r16=00000000
r17=C01BD870, r18=FFFFF003, r19=BB4FF000, r20=00000000
r21=00000000, r22=C03E6C00, r23=C03E6000, r24=B0000000
r25=C0301070, r26=B5000000, r27=00000000, r28=00000000
r29=00100000, r30=00000280, r31=C03E72B0, rPC=C01BD870
msr=00004200, ear=BB4FF000, esr=00000D32, fsr=C0300C94
BUG: failure at arch/microblaze/kernel/irq.c:36/do_IRQ()!
Kernel panic - not syncing: BUG!
BUG: failure at arch/microblaze/kernel/irq.c:36/do_IRQ()!
BUG: spinlock trylock failure on UP on CPU#0, swapper/0
lock: panic_lock.13031+0x0/0x10, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0
Kernel Stack:
Illegal opcode exception in kernel mode.
Oops: opcode exception, sig: 7
Registers dump: mode=B53DD928
r1=00000000, r2=C03DAAE0, r3=00000020, r4=00000000
r5=C03DDB00, r6=00000020, r7=00000020, r8=00000004
r9=C03DDA18, r10=00000083, r11=6B636174, r12=00000015
r13=40BFCE20, r14=00000000, r15=C01BF89C, rkanda16=00000000
r17=C01BF460, r18=00000000, r19=00000020, r20=00000000
r21=00000000, r22=C03DDA18, r23=00000083, r24=00000020
r25=C03DDB00, r26=C030B72C, r27=00000500, r28=00000004
r29=C03DDB00, r30=00000000, r31=C03E72B0, rPC=C01BF460
msr=00004200, ear=C0300CB8, esr=00000000, fsr=00000000
BUG: failure at arch/microblaze/kernel/irq.c:36/do_IRQ()!
どうやら、Illegal opcode exception in kernel modeということから未定義命令か何かを踏んでしまっているようです。
あと少しな気がしてきました。
最近のコメント