Forum: PC Hard- und Software Upstream-kernel für Raspi Zero


von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Ich suche jemand der es schon mal geschafft hat einen Upstream-Kernel 
(z.B. v5.14) zu übersetzen und auf dem RasPi Zero W zu booten.

Bisher habe einen Kernel (+DTBs) gebaut, der auf dem RasPi 3B+ 
problemlos startet. Der Raspi Zero kommt dagegen mit derselben µSD 
(bootloder debugging ist eingeschaltet) nur bis
1
MESS:00:00:03.057058:0: uart: Set PL011 baud rate to 103448.300000 Hz
2
MESS:00:00:03.064063:0: uart: Baud rate change done...
3
MESS:00:00:03.067476:0: uart: Baud rate
und hängt dann.
Der RasPi 3B+ sagt dagegen:
1
MESS:00:00:03.186526:0: uart: Set PL011 baud rate to 103448.300000 Hz
2
MESS:00:00:03.193435:0: uart: Baud rate change done...
3
MESS:00:00:03.196846:0: uart: Baud rate[    0.000000] Booting Linux on physical CPU 0x0
4
[    0.000000] Linux version 5.14.0-rc7-letux+ (hns@iMac.fritz.box) (arm-linux-gnueabihf-gcc (GCC) 4.9.2, GNU ld (GNU Binutils) 2.25) #6555 SMP PREEMPT Fri Aug 27 21:40:49 CEST 2021
5
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
6
[    0.000000] CPU: div instructions available: patching division code
7
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
8
[    0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Plus Rev 1.3
9
...

Frage also: welche Unterschiede gibt es zwischen Zero und 3B+, die diese 
Auswirkung auf den Bootvorgang haben? Und wie beachtet man die wenn man 
einen Upstream-Kernel übersetzen will?

Bevor jemand fragt warum ich nicht einfach Raspbian nehme (das übrigens 
mit einer µSD auf beiden Varianten startet): da ist zuvieles 
vorkonfiguriert und es wäre ein riesiger Rückschritt, da ich mit LetuxOS 
ja bereits ein funktionieredes Raspi 3B+-System habe (und das mit 
identischem Kernel auch noch andere Systeme und Prozessoren 
unterstützt). Es geht also nur darum es auch auf dem Zero zum booten zu 
bringen.

: Bearbeitet durch User
von 1N 4. (1n4148)


Lesenswert?

ARMv6 (Zero) vs ARMv7 (Pi 2 aufwärts)?

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

1N 4. schrieb:
> ARMv6 (Zero) vs ARMv7 (Pi 2 aufwärts)?

Ah, interessanter Hinweis! Daran hatte ich noch gar nicht gedacht.

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Wahrscheinlich ist es das nicht, denn ich habe in der .config

# CONFIG_ARCH_MULTI_V6 is not set
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_MULTI_V6_V7=y

Das sollte dann eigentlich auf beiden laufen können. Oder?

von 2⁵ (Gast)


Lesenswert?


von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

2⁵ schrieb:
> Die Seite
> https://www.raspberrypi.org/documentation/computers/linux_kernel.html
> kennst du, oder?

Ja natürlich. Danke.

Aber das beschreibt wie man den Kernel von 
https://github.com/raspberrypi/linux baut und nicht einen "upstream" von 
kernel.org.

>> The Raspberry Pi kernel is stored in GitHub and can be viewed at
>> github.com/raspberrypi/linux; it follows behind the main Linux kernel.

Warum ich letzeren haben will habe ich erläutert.

: Bearbeitet durch User
von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Nikolaus S. schrieb:
> Wahrscheinlich ist es das nicht, denn ich habe in der .config
>
> # CONFIG_ARCH_MULTI_V6 is not set
> CONFIG_ARCH_MULTI_V7=y
> CONFIG_ARCH_MULTI_V6_V7=y
>
> Das sollte dann eigentlich auf beiden laufen können. Oder?

Hm. Eventuell doch nicht.

Es muss einen Grund geben warum Raspbian zwei verschiedene Kernel auf 
einer µSD installiert: kernel.img und Kernel7.img.

Andererseits hat mein Raspbian-Image das auf beiden Boards läuft keinen 
Eintrag in config.txt, um die passende Kernel-Variante auszuwählen. Also 
könnte es sein dass da eine Automatik drin ist. Genauso wie das passende 
Device-Tree-File ausgewählt wird?

Habe ich das evtl. übersehen?

von Nikolaus S. (Firma: Golden Delicious Computers) (hns)


Lesenswert?

Ja, das war die Lösung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.