Re: Booting Kernel on Amiga 3000
Hi Stephen,
On Sun, 4 Sep 2022, Stephen Walsh wrote:
> On Sat, 3 Sep 2022 13:10:46 +0200
> Ingo Jürgensmann <ij@2022.bluespice.org> wrote:
>
> > > Amiga 3000
> > > Warpengine 68040@40Mhz
> > > 128Mb ram on warpengine
> >
> > Uhm? How do you get the Warpengine with 128MB into an A3000? Usually
> > there is not enough space on the Warpengine for 4x 32 MB SIMMs - or
> > did you use 2x 64MB ones or 4x single sided 32 MB SIMM with two
> > additional sockets?
>
> That's not relevant to this, but my A3000 isn't in a desktop case.
>
Still, it might help to narrow down the bug if you also test a RAM
configuration that others have had success with -- if possible.
> > > Booting kernel/inintrid 5.15.0-2 works and the machine boots all the
> > > way.
> [...]
> > > When trying the newer kernel's, all I'm doing is replacing the
> > > kernel/initrid with the newer versions.
> >
> > Append "debug=mem" to your boot line and run dmesg under AOS after a
> > reboot. Please read the readme file.) and send the output to the
> > appropriate list.
>
> This is the debug output.
>
>
> >>>>>>>>>>>>>>>>>>>>
> [ 0.000000] Linux version 5.18.0-4-m68k (debian-kernel@lists.debian.org) (gcc-11 (Debian 11.3.0-5) 11.3.0, GNU ld (GNU Binutils for Debian) 2.38.90.20220713) #1 Debian 5.18.16-1 (2022-08-10)
> [ 0.000000] printk: console [debug0] enabled
> [ 0.000000] Amiga hardware found: [A3000] VIDEO BLITTER AMBER_FF AUDIO FLOPPY A3000_SCSI KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA DENISE_HR AGNUS_HR_PAL MAGIC_REKICK ZORRO3
> [ 0.000000] initrd: 0f7f81c2 - 10000000
> [ 0.000000] Ignoring memory chunk at 0x7800000:0x800000 before the first chunk
> [ 0.000000] Fix your bootloader or use a memfile to make use of this area!
> [ 0.000000] Zone ranges:
> [ 0.000000] DMA [mem 0x000000000a000000-0x000000ffffffffff]
> [ 0.000000] Normal empty
> [ 0.000000] Movable zone start for each node
> [ 0.000000] Early memory node ranges
> [ 0.000000] node 0: [mem 0x000000000a000000-0x000000000fffffff]
> [ 0.000000] Initmem setup node 0 [mem 0x000000000a000000-0x000000000fffffff]
That looks like the point where you'd normally see output from,
pr_info("Built %u zonelists, mobility grouping %s. Total pages: %ld\n",
nr_online_nodes,
page_group_by_mobility_disabled ? "off" : "on",
vm_total_pages);
but the address of this format string is not in the oops message. (It
might help to add "ignore_loglevel" to the kernel parameters.)
Anyway, 0040af3d and 0040af41 can be seen in the oops messages, which can
be found in "objdump -s" output:
40af30 6f707469 6f6e7300 01352573 0023424f options..5%s.#BO
40af40 4f54434f 4e464947 0a000133 626f6f74 OTCONFIG...3boot
40af50 636f6e66 69672073 697a6520 25642069 config size %d i
40af60 73206772 65617465 72207468 616e2069 s greater than i
40af70 6e697472 64207369 7a652025 6c640a00 nitrd size %ld..
I can't see how setup_boot_config() could crash before linux_banner got
printed... but it does do this,
if (!memcmp(data, BOOTCONFIG_MAGIC, BOOTCONFIG_MAGIC_LEN))
goto found;
which seems to fit the backtrace.
What happens if you boot the known-good initrd (v5.15) with the crashy
vmlinux binary (v5.18)?
The combination won't boot normally but should fail normally (wrong
modules) and not fail with an oops.
> [ 0.000000] Unable to handle kernel access at virtual address (ptrval)
> [ 0.000000] Oops: 00000000
> [ 0.000000] Modules linked in:
> [ 0.000000] PC: [<001ed444>] memcmp+0x2c/0x5c
> [ 0.000000] SR: 2700 SP: (ptrval) a2: 00481530
> [ 0.000000] d0: 0040af41 d1: 0ffffff8 d2: 001ed418 d3: 0000019e
> [ 0.000000] d4: 0a04a258 d5: 00807e3e a0: 0000000c a1: 0ffffff4
> [ 0.000000] Process swapper (pid: 0, task=(ptrval))
> [ 0.000000] Frame format=7 eff addr=0047ffbc ssw=0505 faddr=0ffffff4
> [ 0.000000] wb 1 stat/addr/data: 0005 0a04a258 00807e3e
> [ 0.000000] wb 2 stat/addr/data: 0005 00536000 0000019e
> [ 0.000000] wb 3 stat/addr/data: 0005 0047ffb4 001ed418
> [ 0.000000] push data: 00807e3e 00355744 0a001000 0a05356c
> [ 0.000000] Stack from 0047ffb4:
> [ 0.000000] 001ed418 0000019e 00355744 0050fb0e 0ffffff4 0040af3d 0000000c 00536000
> [ 0.000000] 0000019e 0a04a258 00807e3e 0a04df28 0a05f750 0a001000 0a05356c 0ffffff0
> [ 0.000000] 0052e2b8 00000000 0050e872
> [ 0.000000] Call Trace: [<001ed418>] memcmp+0x0/0x5c
> [ 0.000000] [<00355744>] _printk+0x0/0x18
> [ 0.000000] [<0050fb0e>] start_kernel+0x86/0x5a0
> [ 0.000000] [<0050e872>] _sinittext+0x872/0x11f8
> [ 0.000000]
> [ 0.000000] Code: 4280 6036 2209 200b 2640 2241 5881 5880 <2411> b493 66e4 2241 2640 5988 7403 b488 65e6 60d6 4283 1631 1800 4282 1433 1800
> [ 0.000000] Disabling lock debugging due to kernel taint
> [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---
> <<<<<<<<<<<<<<<<<<<<
>
>
>
>
>
Reply to: