On Wed, 10 Jun 2026 21:23:05 +0000
Fil Lupin via Replicant <[email protected]> wrote:

> Hi there,
Hi,

> following the instructions on the wiki to build a new Replicant 6
> binary, I encountered a few issues I wrote here :
> https://redmine.replicant.us/boards/15/topics/16123?r=16126 I noticed
> that repo now use guix, does that mean we could use it with minimal
> work on any GNU Linux distribution? Regards,
Normally it should.

However as the README states we only managed to build Replicant 6.0 on
Debian 9 (stretch).

I think the main issue was that the previous Replicant maintainer did a
lot of work to get rid of some of the compilers binaries provided by
Google, and that made Replicant more dependent on Debian.

Since Debian 9 was not FSDG compliant I tried to at least build it on
one FSDG compliant distribution, so I did a lot of work to solve build
issues on a Trisquel version(s) of the same era (I don't recall which
one) but more work was required and I've no idea how much was still
required as I solved one issue at a time.

Another route would have been to build it on PureOS Green which was
based on Debian 9 (stretch), but the binaries have been lost.

Building Replicant 6.0 on a recent distribution will not work because
it depends on packages that are unmaintained and also packages versions
that are unmaintained, and the more we wait, the more this becomes
impossible.

If the goal is to build Replicant on a recent distribution (without
chroots, containers, VMs, etc), the easiest way would probably be to
finish updating Replicant to a more recent Android revision. 

This is because at least here we can have a vague idea of the amount of
work required. In contrast trying to fix the build can take an unknown
amount of time and it could be huge.

As for the status of the port of the Galaxy SIII on Android 11, it can
boot, 3D worked, sound was extremely primitive (only speakers worked),
and I managed to make the modem work under GNU/Linux on top of the same
upstream kernel, but a lot was still missing. 

For instance we could not call in Replicant but we could at least
bootstrap the modem (things were still missing in libsamsung-ril).

In addition power management was never tested, I'm unsure if graphics
were reliable, and most non-critical things probably didn't work
(camera, accelerometers, etc).

An alternative that is much less work than all that is to learn
how to install Debian 9 on top of an existing distribution with
debootstrap and use libvirt/virt-manager "LXC" container to start it.

This also enables to share resources with the host (network, file
system, RAM, CPU, etc), so it's way more light than a VM.

If you're concerned about security here, something possible would be to
see if downloading the Replicant source code with a more recent repo on
the host works (and find a workaround / fix it, if it doesn't), and only
use the network inside the LXC container for installing the Debian
packages required to build Replicant, and make the container offline for
everything else.

If at the end of the day you want to upgrade from a Replicant 6.0
release to the image you built, you also need to read on how to
transition from release keys to your keys, and that is documented a
README[1] in the Replicant source code and the wiki also has the
RestoreApplicationInternalData article to recover your data in
if you mess up with the keys.

Ideally I would really have liked to finish making it work on Trisquel
instead of Debian 9, because having a Replicant version that cannot be
built on an FSDG distribution is bad, but nowadays most of my time
is taken by GNU Boot[2].

References:
-----------
[1]https://git.replicant.us/replicant/vendor_replicant-scripts/tree/images/gen_key_migration_script/README
[2]And I ended up in GNU Boot because I needed to provide a bootloader
   to for the Pinephone for Replicant.

   And the more I worked on GNU Boot the more issues I found that badly
   needed fixing, and many of these issues affect most boot software
   distributions. For instance only HEADS have reproducible builds and
   it's not 100% free nor general purpose, and reproducible builds for
   boot firmware is order of magnitude more important than GNU/Linux for
   instance, lot of things are still undocumented (supported
   filesystems with GRUB, how to not damage laptops when installing
   boot fimrwares with a flash chip programmer, etc), etc.

Denis.

Attachment: pgpzZIhUrfm8F.pgp
Description: OpenPGP digital signature

_______________________________________________
Replicant mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to