Status of Raspberry Pi native support

NinjaCowboy · 25466

NinjaCowboy

  • Junior Member
  • **
    • Posts: 66
    • Karma: +18/-0
Reply #60 on: June 20, 2023, 10:30:11 PM
So, over two years have passed, we had a global pandemic, people did stuff. What is the status of the Raspberry Pi version now? Have the USB woes been solved? I tried booting the latest raspi-armhf-system nightly on my Raspberry Pi 3, but it just hangs at a black screen after the rainbow screen, so I guess things still haven't moved.



amigamia

  • Administrator
  • Member
  • *****
    • Posts: 134
    • Karma: +49/-0
    • AROS World
Reply #61 on: June 21, 2023, 06:21:50 AM
Yup! You pretty much summed it up.

The focus on RPi has shifted on this 68K emulator called Emu68 which runs as a bare metal emulator for then run 68K version of Amiga OS. However, the work is being done mostly on the Pistorm versions and only with AmigaOS 3.x.

The author MichalsC is also releasing a version of Emu68 for standard RPi but I think no one has managed to boot AROS 68K on a RPi with Emu68 yet.
The RPi shows the Emu68 boot logo but nothing happens when attempting to bootstrap AROS.

https://github.com/michalsc/Emu68/releases


NinjaCowboy

  • Junior Member
  • **
    • Posts: 66
    • Karma: +18/-0
Reply #62 on: June 21, 2023, 07:22:05 AM
What advantage does that have over just using UAE on Linux? We are already able to emulate AmigaOS on a Raspberry Pi. Running AROS natively would be something new.



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #63 on: June 21, 2023, 09:50:41 AM
Without any doubt, WinUAE is the best solution to use AROS 68k

https://www.youtube.com/watch?v=y2Sh5jWZOYA


OlafS3

  • Legendary Member
  • *****
    • Posts: 544
    • Karma: +50/-8
Reply #64 on: June 21, 2023, 12:27:10 PM
Yup! You pretty much summed it up.

The focus on RPi has shifted on this 68K emulator called Emu68 which runs as a bare metal emulator for then run 68K version of Amiga OS. However, the work is being done mostly on the Pistorm versions and only with AmigaOS 3.x.

The author MichalsC is also releasing a version of Emu68 for standard RPi but I think no one has managed to boot AROS 68K on a RPi with Emu68 yet.
The RPi shows the Emu68 boot logo but nothing happens when attempting to bootstrap AROS.

https://github.com/michalsc/Emu68/releases

Really? As far as I know Caffeine OS from Pedro Cotter boots on PiStorm at least and is based on Aros 68k using magellan as desktop



NinjaCowboy

  • Junior Member
  • **
    • Posts: 66
    • Karma: +18/-0
Reply #65 on: June 21, 2023, 02:59:24 PM
Yup! You pretty much summed it up.

The focus on RPi has shifted on this 68K emulator called Emu68 which runs as a bare metal emulator for then run 68K version of Amiga OS. However, the work is being done mostly on the Pistorm versions and only with AmigaOS 3.x.

The author MichalsC is also releasing a version of Emu68 for standard RPi but I think no one has managed to boot AROS 68K on a RPi with Emu68 yet.
The RPi shows the Emu68 boot logo but nothing happens when attempting to bootstrap AROS.

https://github.com/michalsc/Emu68/releases

Really? As far as I know Caffeine OS from Pedro Cotter boots on PiStorm at least and is based on Aros 68k using magellan as desktop

Someone correct me if I'm wrong, but I think Caffeine OS requires the PiStorm add-on board for the Raspberry Pi, while Emu68 aims to work with or without PiStorm.

Apparently, qemu can emulate Raspberry Pi 1, 2, and 3 these days, so assuming the hw emulation is accurate enough, it would allow easier and quicker debugging than real hardware, without needing to write the SD card every time or needing a USB serial adapter to capture UART.



pixie

  • Junior Member
  • **
    • Posts: 83
    • Karma: +2/-4
Reply #66 on: June 21, 2023, 03:25:34 PM
Yup! You pretty much summed it up.

The focus on RPi has shifted on this 68K emulator called Emu68 which runs as a bare metal emulator for then run 68K version of Amiga OS. However, the work is being done mostly on the Pistorm versions and only with AmigaOS 3.x.

The author MichalsC is also releasing a version of Emu68 for standard RPi but I think no one has managed to boot AROS 68K on a RPi with Emu68 yet.
The RPi shows the Emu68 boot logo but nothing happens when attempting to bootstrap AROS.

https://github.com/michalsc/Emu68/releases
The logic behind has to do with creating the most accurate 68k emulator, afterwards he can then use AROS once it got to a good level.



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #67 on: June 21, 2023, 03:37:11 PM
Without native AROS 68k software and without a native AROS 68k "lacking OS3 system software," there can never be real compatibility testing.

The OS3.0/3.1 software pool runs 50/100, of which a 30/100 runs poorly; the 3.9 and 3.2 software is not 100/100 compatible on AROS 68k.

In my opinion one should test these hardware only with "clean" native AROS 68k without the presence of any OS3 software.



pixie

  • Junior Member
  • **
    • Posts: 83
    • Karma: +2/-4
Reply #68 on: June 21, 2023, 03:42:57 PM
Afterwards he will concentrate running 100% aros, I was not talking about running AmigaOS inside AROS



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #69 on: June 21, 2023, 03:45:15 PM
Yes but you can't test AROS 68k with distributions where there is a lot of OS3 software and very little native AROS 68k software "of system" :)

In the end you will never understand, where the incompatibilities come from.
« Last Edit: June 21, 2023, 04:08:12 PM by AMIGASYSTEM »



amigamia

  • Administrator
  • Member
  • *****
    • Posts: 134
    • Karma: +49/-0
    • AROS World
Reply #70 on: June 21, 2023, 04:22:03 PM
Yup! You pretty much summed it up.

The focus on RPi has shifted on this 68K emulator called Emu68 which runs as a bare metal emulator for then run 68K version of Amiga OS. However, the work is being done mostly on the Pistorm versions and only with AmigaOS 3.x.

The author MichalsC is also releasing a version of Emu68 for standard RPi but I think no one has managed to boot AROS 68K on a RPi with Emu68 yet.
The RPi shows the Emu68 boot logo but nothing happens when attempting to bootstrap AROS.

https://github.com/michalsc/Emu68/releases

Really? As far as I know Caffeine OS from Pedro Cotter boots on PiStorm at least and is based on Aros 68k using magellan as desktop

PiStorm is not the same as RPi. Pistorm is an Amiga add-on card which uses a RPi as a piggyback card to emulate CPU, and other components.

I am referring to a standard RPi 3/4/400, standalone here. There is no AROS that can boot natively on it. Only solution may be ARM Linux with UAE emulating Amiga 68K and then load AROS 68K. At this point it's so convoluted that it defeats the purpose of running AROS on it.


AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #71 on: June 21, 2023, 05:54:41 PM
Really? As far as I know Caffeine OS from Pedro Cotter boots on PiStorm at least and is based on Aros 68k using magellan as desktop

Are you sure that "Caffeine OS" is based on AROS 68k? have you ever tried to boot it with AROS Roms.    :)
« Last Edit: June 21, 2023, 06:00:02 PM by AMIGASYSTEM »



NinjaCowboy

  • Junior Member
  • **
    • Posts: 66
    • Karma: +18/-0
Reply #72 on: June 21, 2023, 07:35:41 PM
Tried to build the Raspberry Pi version, but alas, it fails.
Code: [Select]
[MMAKE] Making kernel-kernel-arm in arch/arm-all/kernel
Compiling  arch/arm-all/kernel/cpu_init.c
Compile failed: /home/ninja/programming/aros-rpi/AROS/bin/linux-x86_64/tools/crosstools/arm-aros-gcc -iquote /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/ -iquote /home/ninja/programming/aros-rpi/AROS/rom/kernel -iquote /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel -iquote .  -marm -mfloat-abi=hard -mlittle-endian -march=armv7-a -mfpu=vfpv3-d16 -O2 -fno-common -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -Wno-pointer-sign -Wno-parentheses -I/home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel -I/home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel -I/home/ninja/programming/aros-rpi/AROS/rom/kernel -I/home/ninja/programming/aros-rpi/AROS/arch/arm-native/exec -I/home/ninja/programming/aros-rpi/AROS/arch/arm-all/exec -I/home/ninja/programming/aros-rpi/AROS/rom/exec -I/home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/include -DAROS_BUILD_TYPE=AROS_BUILD_TYPE_PERSONAL -D__AROS_EXEC_LIBRARY__ -I/home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/rom/kernel/kernel -include /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/rom/kernel/kernel/include/kernel_deflibdefs.h -D__SRCFILENAME__="arch/arm-all/kernel/cpu_init.c" -c /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c -o /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/rom/kernel/kernel/arch/cpu_init.o
In file included from /home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_arch.h:9:0,
                 from /home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_base.h:24,
                 from /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c:8:
/home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_cpu.h:21:24: error: redefinition of 'struct ExceptionContext'
 #define AROSCPUContext ExceptionContext
                        ^
/home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_cpu.h:21:8: note: in expansion of macro 'AROSCPUContext'
 struct AROSCPUContext
        ^~~~~~~~~~~~~~
In file included from /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/include/exec/interrupts.h:23:0,
                 from /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/include/exec/execbase.h:13,
                 from /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/include/aros/symbolsets.h:14,
                 from /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c:5:
/home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/include/aros/arm/cpucontext.h:12:8: note: originally defined here
 struct ExceptionContext
        ^~~~~~~~~~~~~~~~
In file included from /home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_arch.h:9:0,
                 from /home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_base.h:24,
                 from /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c:8:
/home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_cpu.h:19:16: error: two or more data types in declaration specifiers
 #define regs_t struct ExceptionContext
                ^
/home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_cpu.h:26:31: note: in expansion of macro 'regs_t'
 typedef struct AROSCPUContext regs_t;
                               ^~~~~~
/home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_cpu.h:19:23: warning: empty declaration with storage class specifier does not redeclare tag
 #define regs_t struct ExceptionContext
                       ^
/home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_cpu.h:26:31: note: in expansion of macro 'regs_t'
 typedef struct AROSCPUContext regs_t;
                               ^~~~~~
In file included from /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c:9:0:
/home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_cpu.h:36:0: warning: "krnSysCall" redefined
 #define krnSysCall(num)
 
In file included from /home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_arch.h:9:0,
                 from /home/ninja/programming/aros-rpi/AROS/rom/kernel/kernel_base.h:24,
                 from /home/ninja/programming/aros-rpi/AROS/arch/arm-all/kernel/cpu_init.c:8:
/home/ninja/programming/aros-rpi/AROS/arch/arm-native/kernel/kernel_cpu.h:36:0: note: this is the location of the previous definition
 #define krnSysCall(n) asm volatile ("swi %[swi_no]\n\t" : : [swi_no] "I" (n) : "lr");
 
make[1]: *** [mmakefile:183: /home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/rom/kernel/kernel/arch/cpu_init.o] Error 1
[MMAKE] make --no-print-directory TOP=/home/ninja/programming/aros-rpi/AROS SRCDIR=/home/ninja/programming/aros-rpi/AROS CURDIR=arch/arm-all/kernel TARGET=kernel-kernel-arm --file=mmakefile kernel-kernel-arm failed: 512
[MMAKE] Error: Error while running make in arch/arm-all/kernel: No such file or directory
make: *** [Makefile:125: all] Error 10
Looks like someone is using #define instead of typedef. tsk, tsk, tsk
Seems like this commit here https://github.com/aros-development-team/AROS/commit/ed59c9e54ba9ec6533a82d049df32ee9217f6a02#diff-d04b28469b2577b15154d0d5e3b951ee7d988775048a0e3341de0d35a845a8e1 broke it.
« Last Edit: June 21, 2023, 07:41:03 PM by NinjaCowboy »



NinjaCowboy

  • Junior Member
  • **
    • Posts: 66
    • Karma: +18/-0
Reply #73 on: June 21, 2023, 07:50:26 PM
So, I swapped the include order in cpu_init.c so that kernel_cpu.h is included before kernel_base.h, and that seemed to fix that one error.

But there's another issue.
Code: [Select]
make[1]: *** No rule to make target 'scanf-examples.c', needed by '/home/ninja/programming/aros-rpi/AROS/bin/raspi-arm/gen/developer/debug/test/crt/posixc/scanf-examples.o'.  Stop.
[MMAKE] make --no-print-directory TOP=/home/ninja/programming/aros-rpi/AROS SRCDIR=/home/ninja/programming/aros-rpi/AROS CURDIR=developer/debug/test/crt/posixc TARGET=test-crt-posixc-posix1-scanf --file=mmakefile test-crt-posixc-posix1-scanf failed: 512
[MMAKE] Error: Error while running make in developer/debug/test/crt/posixc: No such file or directory
make: *** [Makefile:125: all] Error 10



OlafS3

  • Legendary Member
  • *****
    • Posts: 544
    • Karma: +50/-8
Reply #74 on: June 22, 2023, 02:13:15 AM
Really? As far as I know Caffeine OS from Pedro Cotter boots on PiStorm at least and is based on Aros 68k using magellan as desktop

Are you sure that "Caffeine OS" is based on AROS 68k? have you ever tried to boot it with AROS Roms.    :)

I am sure. It was official OS on Apollo V4 before they officially switched to ApolloOS. Pedro Cotter then continued for its own