[Tinkerphones] LetuxOS for Rasi-Zero-W?

H. Nikolaus Schaller hns at goldelico.com
Thu Sep 9 16:16:24 CEST 2021



> Am 09.09.2021 um 16:01 schrieb David Boddie <david at boddie.org.uk>:
> 
> On Thursday, 9 September 2021 14:18:50 CEST H. Nikolaus Schaller wrote:
> 
>> But in the meantime I got another hint: maybe the same reason why the SD
>> size limits exist.
>> 
>> Pi 0, 1, 2 use an ARMv6 while the others (except Pi 4) use ARMv7.
> 
> I assumed you already knew about that. :-)

Well, I knew but wasn't aware... When I started the GTA04 project long long ago
(before RasPi 1 was even announced) with OMAP3 it was already ARMv7...
The GTA02 was likely ARMv6 but I never compiled anything for it.

> 
> I think 2 uses an ARMv7 core:
> 
> https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications

Ok, may be slightly different than my assumptions.

> 
>> This finally explained to me why there is kernel.img and kernel7.img...
>> It is not strictly necessary to have two kernel builds and it turned out
>> that changing the letux_defconfig from
>> 
>> # CONFIG_ARCH_MULTI_V6 is not set
>> CONFIG_ARCH_MULTI_V7=y
>> CONFIG_ARCH_MULTI_V6_V7=y
>> 
>> to
>> 
>> CONFIG_ARCH_MULTI_V6=y
>> CONFIG_ARCH_MULTI_V7=y
>> CONFIG_ARCH_MULTI_V6_V7=y
>> 
>> makes the kernel start on both :) Well, there are differences
>> (single core vs. quad core, different memory size etc.) but this
>> is taken care of by device tree and kernel.
>> 
>> But it fails running the Debian rootfs binaries (at least the
>> one I have tried so far). The same µSD plugged into the 3b+ boots
>> and runs fine.
>> 
>> So there must be something special in Raspbian or Debian for ARMv6.
> 
> My understanding was that Raspbian was initially a complete rebuild of Debian
> for ARMv6.
> 
> According to the Debian Wiki:
> 
>  "Raspberry Pi OS builds a single image for all of the Raspberry families,
>   so you will get an armhf 32-bit, hard floating-point system, but built for
>   the ARMv6 ISA (with VFP2), unlike Debian's ARMv7 ISA (with VFP3) port."
> 
> [https://wiki.debian.org/RaspberryPi]
> 
> So it's likely that stock Debian binaries won't run on a Pi Zero.

Ok, that would explain a lot...

I did check what debian-architectures reports on Raspbian and it was
indeed armhf.

Let's see what we can do with this for LetuxOS.

What I got from some experiments of Debian Stretch binaries on Raspbian
is SIGSEGV and not SIGILL.

Hm. Is there an ARMv7 emulator for ARMv6? Or a patch for missing
instructions? Or I just build and install armel rootfs packages for

https://download.goldelico.com/letux-debian-rootfs/?C=M;O=D

And makesd needs a simple flag to switch its macros for Raspi.
This will not optimally handle VFP of course, but should work
for standard stuff.

So with this a more general LetuxOS4Pi is close.

BR,
Nikolaus



More information about the Community mailing list