Linux-m68k Archive mirror
 help / color / mirror / Atom feed
From: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org>
To: linux-m68k@lists.linux-m68k.org
Cc: geert@linux-m68k.org, gerg@linux-m68k.org
Subject: Kernel Image Format Issue - Coldfire mcf54418 CPU Failing to Boot
Date: Tue, 14 May 2024 21:11:28 +0200	[thread overview]
Message-ID: <68ec857f-a559-4f71-87ba-425b4ee7c9c7@yoseli.org> (raw)

Hello,

I have been on this for a long time now, and I think it is time to ask 
for some help as the answer might be "easy" :-).

I'm trying to boot an upstream Linux kernel (version 6.1.83 from CIP) on 
a custom board which already runs an old one (3.0.12).

I'm encountering an issue where the CPU fails to boot with an 
"Unexpected exception" error when u-boot calls bootm.

-> bootm
## Booting kernel from Legacy Image at 41000000 ...
    Image Name:   Linux-6.1.83-cip18-rt10
    Created:      2024-04-17   5:42:32 UTC
    Image Type:   M68K Linux Kernel Image (uncompressed)
    Data Size:    5684872 Bytes =  5.4 MB
    Load Address: 40001000
    Entry Point:  40001000
    Checksum:  6bc7660a
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK


*** Unexpected exception ***
Vector Number: 5  Format: 04  Fault Status: 0

PC: 40001002    SR: 00002700    SP: 4fd5fcdc
D0: 00000000    D1: 00000003    D2: 4fdfa71c    D3: 00000000
D4: 00000000    D5: 00000001    D6: 00000000    D7: 00000001
A0: 00000000    A1: 4fd71494    A2: 40001000    A3: 4fdfa690
A4: 4fd91b30    A5: 4fdf3600    A6: 4fd5fd64

*** Please Reset Board! ***

I tried to use different Load and Entry adress but this is not having 
any effect.

Sadly, I can't use the (very) old toolchain to build my kernel, and I 
can't build the old kernel with the toolchain I generated. It has been 
done with buildroot and I can provide some information if this is relevant.
To summarize:
- It has MMU enabled
- The cpu is passed with -mcpu=54418
- The architecture is passed with -march=isac

As the u-boot version I have can't be updated (at least not easily) I 
need to provide a uImage, so I call mkimage for this when the vmlinux 
file is generated.

I've compared the kernel image format with an older working kernel 
image, and it seems the issue is related to the kernel image format.

```
$> hexdump -C uImage-3.0.12 |head
00000000  27 05 19 56 c6 4d 40 59  62 ac 6a be 00 2f a2 00 
|'..V.M@Yb.j../..|
00000010  40 02 00 00 40 02 00 00  74 e8 ca f4 05 0c 02 00 
|@...@...t.......|
00000020  4c 69 6e 75 78 2d 33 2e  30 2e 31 32 2d 72 74 33 
|Linux-3.0.12-rt3|
00000030  33 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
|3...............|
00000040  60 08 42 49 56 1a 00 00  00 00 4e f9 40 30 20 00 
|`.BIV.....N.@0 .|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
|................|
*
00001040  4e f9 40 30 20 00 4e 56  00 00 9f fc 00 00 00 04  |N.@0 
.NV........|
00001050  48 d7 00 01 20 2f 00 0c  4e 7b 00 03 4c d7 00 01  |H... 
/..N{..L...|
00001060  df fc 00 00 00 04 4e 5e  4e 75 00 00 4e 75 4e 75 
|......N^Nu..NuNu|
```

```
hexdump -C output/images/uImage |head
00000000  27 05 19 56 ab 1d 06 74  66 1f 61 48 00 56 be 88 
|'..V...tf.aH.V..|
00000010  40 00 10 00 40 00 10 00  6b c7 66 0a 05 0c 02 00 
|@...@...k.f.....|
00000020  4c 69 6e 75 78 2d 36 2e  31 2e 38 33 2d 63 69 70 
|Linux-6.1.83-cip|
00000030  31 38 2d 72 74 31 30 00  00 00 00 00 00 00 00 00 
|18-rt10.........|
00000040  7f 45 4c 46 01 02 01 00  00 00 00 00 00 00 00 00 
|.ELF............|
00000050  00 02 00 04 00 00 00 01  40 00 20 00 00 00 00 34  |........@. 
....4|
00000060  00 56 bb b8 00 00 00 26  00 34 00 20 00 04 00 28  |.V.....&.4. 
...(|
00000070  00 12 00 11 00 00 00 01  00 00 00 00 40 00 00 00 
|............@...|
00000080  40 00 00 00 00 39 d3 d0  00 39 d3 d0 00 00 00 05 
|@....9...9......|
00000090  00 00 20 00 00 00 00 01  00 39 e0 00 40 39 e0 00  |.. 
......9..@9..|
```

I am a bit surprised by the information at offset 0x40. My kernel is an 
ELF file, but the old one is a BIV file I don't even know what it can be 
-_- !

I'm happy to provide any additional information or details that might be 
helpful in resolving this issue.

Thanks in advance for any help !
JM


             reply	other threads:[~2024-05-14 19:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-14 19:11 Jean-Michel Hautbois [this message]
2024-05-14 20:16 ` Kernel Image Format Issue - Coldfire mcf54418 CPU Failing to Boot Michael Schmitz
2024-05-15  7:56   ` Jean-Michel Hautbois
2024-05-15 10:29     ` Greg Ungerer
2024-05-15 11:10       ` Jean-Michel Hautbois
2024-05-16 12:43         ` Greg Ungerer
2024-05-16 13:31           ` Jean-Michel Hautbois
2024-05-21 13:46             ` Greg Ungerer
2024-05-27 13:19               ` Jean-Michel Hautbois
2024-05-28  6:32                 ` Jean-Michel Hautbois
2024-05-28  7:47                   ` John Paul Adrian Glaubitz
2024-05-28  8:04                     ` Jean-Michel Hautbois
2024-05-28 13:59                   ` Greg Ungerer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68ec857f-a559-4f71-87ba-425b4ee7c9c7@yoseli.org \
    --to=jeanmichel.hautbois@yoseli.org \
    --cc=geert@linux-m68k.org \
    --cc=gerg@linux-m68k.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).