ARM64 Port Status

I setup my own EDK2 build in Github Action here: https://github.com/tqh/edk2/blob/master/.github/workflows/ovmf.yaml

Could probably be improved to build for different architectures.

2 Likes

Raspbery Pi Five was released!
New processor Arm Cortex-A76 CPU and more enhanced.

2 Likes

7 posts were split to a new topic: Intel-based ARM-SOC hardware alternatives

I will actually send anyone who has development experience and wants to give it a shot the entire money to buy a Pinebook Pro or Pinetab2 (or even a PinetabV for the guy doing the RISC-V port) no strings attached. Theyā€™re both self contained pick up and use portable computers that have working u-boot (with full EFI support) bootloaders that are going to be available for a long time. The Pinetab2 comes with a keyboard and trackpad case. They also both have GPUs supported by the Mesa Panfrost driver. With the G52 in the Pinetab2 being fully OpenGL 3.1 (full and ES) compliant. Personally I think these would be the perfect platforms for Haikuā€™s development. (Also, the PinetabV is basically the VisionFive2 in a tablet form factor.)

9 Likes

@X512 maybe this is something for you?

PineTab V is out of stock :sob:

Iā€™m thinking of this as potentially a more fun idea for my GSoCā€™24 proposal than my current one; just asking if thereā€™s enough community interest and if thereā€™s an active mentor who can help me with this.

Iā€™ve just got a fresh ARM64 SoC and kinda want to explore more. Recently Iā€™ve also been embracing ARM64 for some of my personal projects as well, so a lot of fresh interest here.

Interaction between userland apps and the kernel is probably my sweet spot in the whole OS dev domain.

I believe I can tackle it since Iā€™ve explored that part of Haiku quite a bit, half of my patches last season was related to virtual memory.

Iā€™m not familiar with timer interrupts, so for this I probably need some further studying and a bit of help.

Is this related to ARMv8.1 atomics?

9 Likes

I would love to see Haiku working on a Raspberry Pi 4B, (or later model)ā€¦

From what I understand, ARM SoCs need different ways of booting, & that is why there are so few other O/S that work on them.

2 Likes

I guess I spent the most time with arm64 of the haiku devs. I donā€™t have the time to be an official mentor but I will help answer questions. I am a bit out of the loop with the current status, perhaps @davidkaroly knows as he has done most of the heavy lifting.

Iā€™d recommend trying to build the arm64 image and see how far it goes. I am a bit concerned that it might have broken a bit over time as nobody has worked on it in a while (that I know of), so donā€™t worry if it doesnā€™t go far. The build info should be in this thread I thinkā€¦

3 Likes

Ahoy Trung,

It is really good offer !

Me myself not really related by hardware - having no ARM powered SBCs -
I have only an old, pioneering ARM tablet : Notion Inkā€™s ADAM.

Notion Inkā€™s ADAM (Wiki)

It may even not a goal for ARM 64 - with

Nvidia Tegra 250
Dual Core ARM Cortex-A9

Yepp 32 bit - ARM v7 instruction set :confused:

Anyway

Choice Award !

- in any case -

ā€¦ and upvote your offer !

I hope David can help you in your chosen part - as a mentor - I mean he could expend time on your mentoring. He reported lesser lately on forum, or seen committed patches from him on Gerrit ā€“ maybe some life-changing events happened or some time consuming business robbed him from Haiku development :wink:

2 Likes

What ARM64 SoC do you have?

1 Like

I canā€™t become official mentor, but I can help with ARM[64] port as I already have experience of making RISC-V port.

8 Likes

Nvidia Tegra 250 ā† hahahahahhaah I thought we were taking the path of least resistance
Dual Core ARM Cortex-A9 ā† mhhhh

Dear @pvalue ,

If you would have read my post more carefully
you could have recognized I had not wrote like I would hoping in something
ARM support on it.
Against it - this way I bolded Nvidia, 32 bit, etc, in my post ā€¦

Otherwise Iā€™m happy I could make you laugh ā€¦

:nerd_face:

My interest is specifically in ARM64 devices with UEFI. The EDK2 project is so widespread now that most popular ARM64 devices (including some high-end phones) have some level of support. I also donā€™t really know much about device trees soā€¦

I have an Orange Pi 5 Plus with a RK3588 chip. It has a port of UEFI flashed so I can theoretically run some test builds with that (if I can find a way to boot Haiku without destroying the existing Windows image), but most of the time I intend to test with QEMU-KVM.

6 Likes

Even if the raspberry pi is not supported on bare metal, running an arm64 version in QEMU will still be significantly faster.

3 Likes

We will figure some way to make it work.

In the worst case, you get a mentor who doesnā€™t know a lot about the specifics of the particular project, but can help you get in touch with the right people.

I could mentor this, for example, but it depends on which other proposals get accepted, and who else is mentoring, to find the optimal allocation of mentors.

Is that a problem from Haiku or for some other reasons (like general GSoC rules)? From Haiku side I think we could make you a co-mentor alongside with someone from the ā€œofficialā€ developer team.

It wouldnā€™t be the first time that someone from outside the developer team is a GSoC mentor, but it didnā€™t always work well in previous instances (for example with a mentor disappearing in the middle of the summer without any warning). Thatā€™s why we set ourselves a rule that each student has at least one mentor from the developer team. But having multiple mentors is allowed, so for the second one we can be a bit more flexible.

4 Likes

I somehow got this:

trung@DESKTOP-5OCA2N2:~/haiku/generated.arm64$ ~/buildtools/jam/jam0 -j4 -q @bootstrap-raw
Starting build of type regular ...
build-feature packages unavailable on arm64: giflib glu mesa ffmpeg fluidlite libvorbis fontconfig gutenprint webkit libpng libicns jasper jpeg libedit qrencode_kdl tiff openexr libdvdread libdvdnav libraw libwebp libavif live555 zstd
AddHaikuImagePackages: package bc not available!
AddHaikuImagePackages: package icu74 not available!
AddHaikuImagePackages: package bzip2 not available!
AddHaikuImagePackages: package ffmpeg not available!
AddHaikuImagePackages: package glu not available!
AddHaikuImagePackages: package gutenprint8 not available!
AddHaikuImagePackages: package gzip not available!
AddHaikuImagePackages: package lame not available!
AddHaikuImagePackages: package libedit not available!
AddHaikuImagePackages: package libicns not available!
AddHaikuImagePackages: package mesa not available!
AddHaikuImagePackages: package mesa_devel not available!
AddHaikuImagePackages: package mesa_swpipe not available!
AddHaikuImagePackages: package netcat not available!
AddHaikuImagePackages: package sharutils not available!
AddHaikuImagePackages: package unzip not available!
AddHaikuImagePackages: package wget not available!
AddHaikuImagePackages: package which not available!
AddHaikuImagePackages: package zip not available!
AddHaikuImagePackages: package diffutils not available!
AddHaikuImagePackages: package grep not available!
AddHaikuImagePackages: package tar not available!
AddHaikuImagePackages: package tcpdump not available!
AddHaikuImagePackages: package zstd not available!
don't know how to make @bootstrap-raw
...patience...
...found 1 target(s)...
...can't find 1 target(s)...

I wonder, is this a package error or does the problem lie in jam not knowing how to make @bootstrap-raw?

I did make sure to have the haikuports, haikuports.cross, and haikuporter repos present in the appropriate locations.

Never mind, to fix the error jam has to be installed to $PATH.

Why not? EDK 2 has ports for both the Raspberry Pi 4 and 5. We can then boot from UEFI and sort out the drivers later.

Not very much later. This will get you to the ā€œcannot find any boot partitionsā€ kernel panic until you have a driver for some kind of mass storage (which may also require other drivers for PCI or USB, for example).

1 Like