Alternatively, join us on Discord.

Arm64 operating systems for the Raspberry Pi 3

Started by gameblabla, December 29, 2016, 12:21:29 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gameblabla

Quote from: Vogtinator on December 30, 2016, 06:22:20 pm
openSUSE Leap 42.2 images use the same code as SLES, so you probably did something wrong there.
The Tumbleweed image uses the upstream kernel without any patches, so in theory it should work,
but in practive too much stuff is missing or broken.

Maybe it's due to the insufficient power supply, (only 1A is not enough)
as the Leap images for example says that gfxterm was missing then it goes back to the grub menu. over and over again
Tumbleweed (non-upstream) does not even go as far and gets stuck in the EFI messages.

Quote from: Vogtinator on December 30, 2016, 06:22:20 pm
There seems to be some confusion here. VC4 is just the name of the chip. There are three options to use it:

* Framebuffer only, using the mailbox protocol (vc4 kernel module not loaded)
* Proprietary driver, replacing system libs ("rpi-userland"): Known to not work properly on aarch64 anyway
* FOSS VC4 driver in mesa: Works well enough for a few OpenGL apps, but unstable

X just needs modesetting, so if vc4 is loaded it just works (tm).
I'm running my RPi3 headless anyway so I just use the first option.

Yeah, when i said VC4, i meant the OpenGL FOSS Mesa driver.
I'm not interested in the proprietary driver nor framebuffer support only.
There's modesetting available in Devuan but how to load it anyway ?
Do i have to just make sure i'm using the rpi linux kernel from next branch, an up-to-date Mesa and modprobe vc4?

I should try Devuan again on my pi.

Vogtinator

QuoteMaybe it's due to the insufficient power supply, (only 1A is not enough)
as the Leap images for example says that gfxterm was missing then it goes back to the grub menu. over and over again


You'll see insufficient power issues as the power LED flickers during undervoltage.

Did you try this image: http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/appliances/openSUSE-Leap42.2-ARM-X11-raspberrypi3.aarch64-2016.11.25-Build1.18.raw.xz
There are a lot of links floating around to outdated build artifacts (they need to be cleaned up...)

QuoteThere's modesetting available in Devuan but how to load it anyway ?
Do i have to just make sure i'm using the rpi linux kernel from next branch, an up-to-date Mesa and modprobe vc4?


On openSUSE/SLES it's called xf86-video-modesetting. No idea how it's called elsewhere.
Make sure that you're *not* using the raspbian/downstream kernel but rather a very recent (at least 4.9) upstream kernel instead
or an older version with backported patches.
Mesa needs to have the vc4 driver explicitly enabled.

gameblabla

Quote from: Vogtinator on December 30, 2016, 09:27:15 pm
You'll see insufficient power issues as the power LED flickers during undervoltage.

Did you try this image: http://download.opensuse.org/ports/aarch64/distribution/leap/42.2/appliances/openSUSE-Leap42.2-ARM-X11-raspberrypi3.aarch64-2016.11.25-Build1.18.raw.xz
There are a lot of links floating around to outdated build artifacts (they need to be cleaned up...)

I had downloaded the build from December 23 but i think i downloaded the efi builds instead... oops.
Since "X11" images is too big, i'm just downloading openSUSE-Leap42.2-ARM-JeOS-raspberrypi3.aarch64-2016.11.25-Build1.12.raw.xz,
is that okay ?
I don't know if JeOS image files are tested...

QuoteOn openSUSE/SLES it's called xf86-video-modesetting. No idea how it's called elsewhere.
Make sure that you're *not* using the raspbian/downstream kernel but rather a very recent (at least 4.9) upstream kernel instead
or an older version with backported patches.
Mesa needs to have the vc4 driver explicitly enabled.

Well i just checked the kernel in Devuan and it seems to use an upstream 4.6 kernel. So i don't think the default kernel has VC4 available.
This means i'll have to compile the upstream Linux kernel and Mesa myself...

I will let you know guys should i suceed.

Vogtinator

QuoteSince "X11" images is too big, i'm just downloading openSUSE-Leap42.2-ARM-JeOS-raspberrypi3.aarch64-2016.11.25-Build1.12.raw.xz,
is that okay ?
I don't know if JeOS image files are tested...

Yes, that should work as well, it just does not have X installed by default.

QuoteWell i just checked the kernel in Devuan and it seems to use an upstream 4.6 kernel. So i don't think the default kernel has VC4 available.

Depends on the backports, maybe they picked the rpi3 related patches up.

gameblabla

Hmm... so just how do you compile the kernel for the Raspberry Pi ?
I tried compiling the upstream kernel using their instructions and i can't have it in a format recognized by the Raspberry Pi...

will try suse again once i can figure this out

Vogtinator

The instructions linked are only for the downstream kernel.

gameblabla

Quote from: Vogtinator on January 01, 2017, 09:02:31 pm
The instructions linked are only for the downstream kernel.

i know that. Unfortunely, their crappy branch is broken and is actually missing code !
I was unable to compile their downstream kernel (4.9 and 4.10 don't compile)

Upstream 4.9 kernel does compile but the image file isn't recognized by my pi,
it gives me the rainbow screen of death.
Even after i ran mkknlimg from downstream kernel, it still doesn't work and it is still giving me the rainbow screen of death.

I do wonder if i can't just use the kernel from OpenSUSE...

Vogtinator

Quotei know that. Unfortunely, their crappy branch is broken and is actually missing code !
I was unable to compile their downstream kernel (4.9 and 4.10 don't compile)

The downstream kernel is only version 4.4 currently.

QuoteUpstream 4.9 kernel does compile but the image file isn't recognized by my pi,
it gives me the rainbow screen of death.

The upstream kernel needs an upstream device tree supplied, did you add that?

QuoteI do wonder if i can't just use the kernel from OpenSUSE...

The openSUSE kernel is a bit special, it needs an UEFI environment to boot.
However, you can use u-boot from openSUSE standalone, which can be very helpful for debugging.

gameblabla

Quote from: Vogtinator on January 01, 2017, 09:28:55 pm
The downstream kernel is only version 4.4 currently.

So the 4.9/4.10 branches are not supposed to work ?
Interesting...

QuoteThe upstream kernel needs an upstream device tree supplied, did you add that?

Well, i didn't... but it's all over the place.
The dts file are supposed to be in arch/arm64/boot but there are lots of folders and all...

I found that Debian released an ARM64 image for the Raspberry Pi 3 with kernel 4.8 so i might steal the kernel from that.

Juju

You might probably be able to take the patches from downstream and apply them on a recent kernel. Probably what Debian did, you might want to check that out.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

Streetwalrus

January 02, 2017, 07:22:00 am #25 Last Edit: January 02, 2017, 07:23:34 am by Streetwalrus
Have you tried this? elinux.org is a great resource when you're dealing with arm.
Edit: looks like this is slightly outdated, not sure if it's relevant at all now.

Juju

January 02, 2017, 07:59:48 am #26 Last Edit: January 02, 2017, 08:07:38 am by Juju
Eh, looks simple enough.

EDIT: Aaaah, look what I found. The newer versions were under different branches the whole time. 4.4 is still the default branch, but you can find 4.5 and up if you know where to look.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

Vogtinator

Quote from: Juju on January 02, 2017, 07:59:48 am
Eh, looks simple enough.

EDIT: Aaaah, look what I found. The newer versions were under different branches the whole time. 4.4 is still the default branch, but you can find 4.5 and up if you know where to look.


They don't work. Most drivers just break with porting so every version newer than 4.4 is broken in a different way.

gameblabla

January 02, 2017, 09:35:27 pm #28 Last Edit: January 03, 2017, 03:32:43 am by gameblabla
What Vogtinator said is true : i was unable to compile the branches due to the drivers.
I asked the one responsible for building the devuan images how the kernels were built and if he could provide one based on version 4.9.

I looked at the debian image and it is completely different from the devuan one : it uses uboot and uses the kernel image from the other partition.
Plus it uses the stable downstream kernel anyway but in debian's case, i can easily upgrade to a newer kernel.
I could try to install Debian on it and then switch to devuan repositories, if it is working of course.

EDIT: Also @Vogtinator, i tried OpenSUSE on my Pi and it gives me a black screen after the EFI messages.
It is giving me signal on my display but it is all black.
Here's my config file :

# Get more options/information on http://elinux.org/RPiconfig
# or on https://www.raspberrypi.org/documentation/configuration/config-txt.md
# Our kernels are located on a Linux partition. Chainload U-Boot to load them.
kernel=u-boot.bin
# Use 64 MB for GPU for RPi with 256 MB (Min 16 - Max 192 MB)
gpu_mem_256=64
# Use 64 MB for GPU for RPi with 512 MB (Min 16 - Max 448 MB)
gpu_mem_512=64
# Use 128 MB for GPU for RPi with 1024 MB (Min 16 - Max 944 MB)
gpu_mem_1024=256
# Turbo mode: 0 = enable dynamic freq/voltage - 1 = always max
force_turbo=0
# Start in turbo mode for 30 seconds or until cpufreq sets a frequency
initial_turbo=30
# DO NOT overvoltage manually to not void warranty!
over_voltage=0
# Boot in AArch64 (64-bit) mode
arm_control=0x200
# Fix mini UART input frequency, and setup/enable up the UART.
enable_uart=1
# Disable warning overlays as they don't work well together with linux's graphical output
avoid_warnings=1
hdmi_force_hotplug=1
hdmi_group=2
hdmi_drive=2
hdmi_mode=39

Juju

Well yeah, that's what they seemed to imply on ELinux, building a plain kernel is not gonna work, so you have to use U-Boot.
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron



if you wanna throw money at me and/or CodeWalrus monthly it's here

Powered by EzPortal