Questions about porting SailfishOS to an aarch64 device

Hello, we are going to run sailfishOS on our Linux ARM64 platform “Rockchip” development. but I have some problems and would like to ask you.

I consulted the SailfishOS - HardwareAdaptationDevelopmentKit - 4.1.0.0. PDF, found that compile SailfishOS need to rely on ANDROID, it makes me very don’t understand, Can I just need a SailfishOS app and not an Android compatible app? Can I use the Linux standard for the hardware adaptation layer? In my understanding, can I regard sailfisOS as a rootFS and load the file system directly after loading the kernel?

Moved to Hardware adaptation. Also, please don’t double-post, one topic is enough.

Yes, most SFOS ports rely on Android parts for the low-level stuff. The links from the Architecture page provide some information about that (although not very detailed).

There is one port for x86_64 which runs on top of regular Linux - maybe the author can provide some guidance how they achieved that.

1 Like

My first post, sorry, I’ve Moved to Hardware Adaptation。

I looked at Architecture | Sailfish OS Documentation

Here is this passage: In the hardware adaptation layer, Sailfish OS uses a Linux kernel with hardware-specific additions.Sailfish OS can run on top of standard Linux hardware with native drivers, or one can utilize the drivers for an Android-compatible hardware via libhybris, which bridges Linux libraries (based on GNU C) with those based on Bionic, Such as Android. Building an adaptation for Android-compatible hardware is easily documented in HADK documentation."

So, how do I compile a SFOS using only the Linux kernel with Hardware, without libhybris

1 Like

There is also a port for pinephone which is not using libhybris afaik:

see https://github.com/sailfish-on-dontbeevil
and Adaptations/PinePhone64 - Mer Wiki

1 Like

I just mashed together firmware, kernel, and initramfs from ubuntu with the latte port.

Thank you very much, I refer to the https://github.com/sailfish-on-dontbeevil I have “” bringing up my device.

I used the Linux common kernel and mounted rootfs for Sfos. Like this:

But his picture has been stuck in this picture, my serial port display program has been to the file system, why did not enter the UI? Thanks.

1 Like

I found something that seemed to help:
When it starts up:
[FAILED] Failed to start Device Encryption Setup Wizard.
See ‘systemctl status sailfish-device-e…-community-wizard.service’ for details.
[DEPEND] Dependency failed for Late Mount Pre.
[DEPEND] Dependency failed for UI for boot time passwords (path).
[DEPEND] Dependency failed for Late Mount.
[DEPEND] Dependency failed for Late Mount Post.
[DEPEND] Dependency failed for Multi-User System.
[DEPEND] Dependency failed for Graphical Interface.
[DEPEND] Dependency failed for Permit User Sessions.
[DEPEND] Dependency failed for Stop UI for boot time passwords.

[root@PinePhone ~]# systemctl status sailfish-device-*
● sailfish-device-encryption-community-wizard.service - Device Encrypt
ion Setup Wizard
Loaded: loaded (/usr/lib/systemd/system/sailfish-device-encryption-community-
wizard.service; disabled; vendor preset: enabled)
Active: failed (Result: core-dump) since Thu 2021-10-28 06:27:23 U
TC; 45s ago
Process: 480 ExecStartPre=/usr/bin/sailfish-device-encryption-community-wizard
$LIPSTICK_OPTIONS (code=dumped, signal=ABRT)

Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: MESA
-LOADER: failed to open rknpu: /usr/lib64/dri/rknpu_dri.so: cannot open shared o
bject file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: fail
ed to load driver: rknpu
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: MESA
-LOADER: failed to open kms_swrast: /usr/lib64/dri/kms_swrast_dri.so: cannot ope
n shared object file: No such file or directory (search paths /usr/lib64/dri, su
ffix _dri)
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: fail
ed to load driver: kms_swrast
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: libE
GL warning: did not find extension DRI_DRI2 version 2
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]: libE
GL warning: did not find extension DRI_DRI2 version 2
Oct 28 06:27:23 PinePhone sailfish-device-encryption-community-wizard[480]:
;31mCould not initialize egl display
Oct 28 06:27:23 PinePhone systemd[1]: sailfish-device-en
cryption-community-wizard.service: Control process exited, code=dumped status=6
0m
Oct 28 06:27:23 PinePhone systemd[1]: sailfish-device-en
cryption-community-wizard.service: Failed with result ‘core-dump’.
Oct 28 06:27:23 PinePhone systemd[1]: Failed to start De
vice Encryption Setup Wizard.

There seems to be something wrong with that…

I would advise to use the #sailfishos-porters channel on telegram and irc (and matrix maybe)
there will be people that can help that are not always on the forum