[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: