Subject: [alpine-devel] Alpine and armv7

From: Oliver Smith <[email-masked]>
Date: Wed, 19 Sep 2018 07:26:00 +0000

Hello Alpine friends,

how about providing packages for the armv7 architecture in Alpine?

This has been discussed quite a few times in IRC and even proposed on
the ML in 2015 [1], but not really with a result. I've also talked to a
few Alpine developers independently about it, and each time the result
was basically, that they would want that.

Let me re-iterate the common talking points:

* What's the advantage?

Programs would be optimized for armv7 instead of armv6, thus giving them
a good speed improvement and smaller binaries due to thumb2.

A more specific use case would be QT's QML framework, which has a JIT
compiler for armv7 but not for armv6 [2].

* Which devices are armv6 anyway?

The most relevant ones would be the Raspberry Pi 1 and Zero. Other than
that, most arm devices are armv7 ones.

* Replace armv6 with armv7? Or provide it as additional architecture?

Initially I would have preferred to have armv7 as additional
architecture. But of course that means it needs twice the resources, and
getting that out of thin air doesn't seem to be realistic for Alpine. So
my opinion has shifted, I think replacing armv6 with armv7 would be nice
already.

Questions:
* is there anyone who insists on Alpine keeping armv6 support?
* what would be the steps required to get armv7 going with Alpine and
how can I help out?

Best regards,
Oliver

[1]: https://lists.alpinelinux.org/alpine-devel/5036.html
[2]: https://gitlab.com/postmarketOS/pmaports/issues/75

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Timo Teräs <[email-masked]>
Date: Wed, 19 Sep 2018 14:38:56 +0300

Hi,

I think we have the triplet already in scripts and everywhere. It is just
matter of starting builders and making sure all builds. Maybe add arch=arm
that covers armhf and armv7.

I suppose the main reason for going with armv6 was rpi1 which was the only
rpi at the time.

We had also limited build power for arm, but the situation is much better
now with aarch64 builders that can do arm too.

I was just making chrome build on armhf, but seems very tricky to do armv6
build of it. I ended up shipping armv7 build in armhf for now. Seems many
care of armv7+ or armv4 only...

I would be in favor of starting armv7 builders now. And maybe drop armhf a
release cycle or two.

@ncopa What do you think?

---

From: Natanael Copa <[email-masked]>
Date: Wed, 19 Sep 2018 15:46:56 +0200

On Wed, 19 Sep 2018 14:38:56 +0300

> @ncopa What do you think?

I am in favor of this too. Do we need add armv7 while keeping armhf as
armv6? Or can we simply replace the current armhf build with armv7?
Then the triplet would correspond better with debian, if i understand
things correctly.

-nc

---

---

From: Timo Teräs <[email-masked]>
Date: Wed, 19 Sep 2018 17:43:02 +0300

Hi

> Then the triplet would correspond better with debian, if i understand

Let's keep armhf still for a while. I suggest we bootstrap armv7 on x86-64
and start new builder edge/armv7. Once all builds, we can poll how many
still need armhf.

And yes armv7 is more common now than armhf. Raspbian originally was armhf
equivalent. Rpi1 was the only major benefiter.

I can bootstrap armv7 packages. And put them somewhere.

Meanwhile, we probably want to patch aports to change all arch places from
armhf to armhf+armv7, or potentially add "arm" as umbrella for all the
32bit arm builds and change armhf to that. Maybe someone can do that while
I prepare the initial package set cross built.

Timo

---

From: Timo Teras <[email-masked]>
Date: Wed, 19 Sep 2018 18:50:33 +0300

On Wed, 19 Sep 2018 17:43:02 +0300
Timo Teräs <[email-masked]> wrote:

> > I am in favor of this too. Do we need add armv7 while keeping armhf
> > as armv6? Or can we simply replace the current armhf build with
> > armv7? Then the triplet would correspond better with debian, if i
> > understand things correctly.
> >  
> 
> Let's keep armhf still for a while. I suggest we bootstrap armv7 on
> x86-64 and start new builder edge/armv7. Once all builds, we can poll
> how many still need armhf.
> 
> And yes armv7 is more common now than armhf. Raspbian originally was
> armhf equivalent. Rpi1 was the only major benefiter.
> 
> Meanwhile, we probably want to patch aports to change all arch places
> from armhf to armhf+armv7, or potentially add "arm" as umbrella for
> all the 32bit arm builds and change armhf to that. Maybe someone can
> do that while I prepare the initial package set cross built.

Initial bootstrap build completed.

Packages are at:
http://dev.alpinelinux.org/~tteras/armv7/

Let's start a new edge builder using those.

Timo

---

---

From: Natanael Copa <[email-masked]>
Date: Wed, 19 Sep 2018 18:53:15 +0200

On Wed, 19 Sep 2018 18:50:33 +0300

> Let's start a new edge builder using those.

Looks like we need add more diskspace for this.

Carlo, can you help us with this?

-nc

---

---

From: Michael Wyraz <[email-masked]>
Date: Wed, 19 Sep 2018 20:38:39 +0200

Hello,

the new arch support is great but I hope you keep armv6 alive. E.g. many 
Raspberry (including "zero" Models from 2017 and 2018) are armv6. 
Alpine, especially in "diskless" mode is ideal for that kind of devices.

Kind regards,

Michael.

---

---

From: Oliver Smith <[email-masked]>
Date: Thu, 20 Sep 2018 05:06:00 +0000

> Alpine, especially in "diskless" mode is ideal for that kind of devices.

If that is possible, I'm also in favor of keeping armhf around (for the
relevant Raspberry Pis, and so we can support armv6 phones in
postmarketOS). I thought it was unrealistic, that's why I proposed to
replace it.

>>> do that while I prepare the initial package set cross built.

I did the armhf+armv7 solution here:
https://github.com/alpinelinux/aports/pull/5208

>> Let's start a new edge builder using those.

Wow, I did not expect that someone starts working on it right away.
Thank you Timo, this is awesome!

Best regards,
Oliver

---