OpenBSD 7.1 und Raspberry Pi4 Bootvorgang bricht mit "schwarzem Bildschirm" ab

Also, sorry für den doppel-post, es gibt wohl tatsächlich u-boot-geschichten die die Mac-Addresse festlegen und dann die Firmware eine andere als die Hardwareaddresse vorschlägt.

Unter Linux scheinen manche Osse diesen Vorschlag umzusetzen und manche halt auch nicht.

U-Boot ist natürlich nun auch kein direktes OpenBSD Produkt sondern wird von OpenBSD (eher Zähneknirschend) verwendet da es nun mal für den Berry notwendig ist.

Ich bin da nun nicht der ganz große experte, aber zumindest etwas erleuchtend war dieser google-treffer für mich:

 
Villeicht gibt das u-boot ja "diese" mac-addresse ...
Ich weiß es nicht.
So ist z. B. der "Übergang" von der SD-Karte (U-Boot) zum USB-Stick (OpenBSD-OS):
Code:
>> OpenBSD/arm64 BOOTAA64 0.2
boot>
booting sd1a:/bsd:
"sd1a" ist die root-Partiton mit den bsd-Dateien.
Das bse0-Interface (auf dem PI4) wird ja auch richtig erkannt. Es ist von einem anderen Hersteller und hat auch einen anderen Treiber, im Vergleich zum smsc0-Interface (auf dem PI3). Es macht doch gar keinen Sinn (im Verlauf des weiteren Bootvorgangs vom Stick), die richtige/tatsächliche MAC-Adresse des bse0-Interfaces, nicht zu eruieren bzw. nicht zu verwenden.
BTW: Für Linux gibt es ja das ethtool, mit dem man die richtige/permanente (... auch bei schon geänderter) MAC-Adresse anzeigen lassen kann. Z. B.:
Code:
:~ $ ethtool -P eth0 && ifconfig eth0 | grep -i ether | awk {'print $2'}
Permanent address: dc:a6:32:46:a1:0e
b8:27:eb:62:3c:ae   # geänderte MAC-Adresse
Kennt jemand ein gleichwertiges/ähnliches tool für OpenBSD?. ... denn es würde mich interessieren, welche MAC-Adresse OpenBSD hier in meinem Fall auf dem PI4 für das bse0-Interface, als permanente bzw. welche als geänderte MAC-Adresse, betrachtet.

EDIT:

Ja, lt. dem Thread den Du verlinkt hast (... danke dafür), kommt diese MAC-Adresse von U-Boot bzw. wird vom OS (Linux, OpenBSD, ...), das via U-Boot gebootet wird, von dort übernommen. Nicht schön, aber ok dann ist es halt so.
Alternativ zum Workaround den ich benutze, könnte man bei Verwendung eines anderen Boards (Hardware), evtl. auch in U-Boot die neue/andere MAC-Adresse setzen/speichern, mit:
Code:
setenv ethaddr <MAC-Adresse>
saveenv
(so wie ich auch das boot-target gesetzt habe). Um das zu machen, muss man aber einen Bildschirm (oder gleichwertig) an den PI anschließen. Da gefällt mir der Workauround besser, denn das geht headless. ;-)
 
Zuletzt bearbeitet:
BTW: u-boot kommt mit OpenBSD (als package und als Port mit maintainer von OpenBSD) und befindet sich u. a. auch im minirootxx.img (für arm64):
Code:
:~ #pkg_info u-boot-arm
Information for https://mirror.hs-esslingen.de/pub/OpenBSD/7.2/packages/aarch64/u-boot-arm-2021.10p4.tgz
Comment:
U-Boot firmware
Description:
U-Boot is a firmware for embedded boards based on PowerPC, ARM, MIPS and
several other processors, which can be installed in a boot ROM and used to
initialize and test the hardware or to download and run application code.
As ARM systems often do not come with firmware it must be supplied on
an SD card or MMC device to have a bootable system.
This package provides U-Boot for various boards using ARM processors.
Maintainer: The OpenBSD ports mailing-list <ports@openbsd.org>
WWW: https://www.denx.de/wiki/U-Boot

Wer Lust hat könnte im source-code, die Datei "/u-boot-2021.10/board/raspberrypi/rpi/rpi.c" patchen, damit die MAC-Adresse (vom Lan-Interface) , von u-boot nicht bei der Installation/1. Bootvorgang "hardcodiert" wird.
 
Äh ja aber es ist ja keine Software VOM OpenBSD team sondern nur eine die sie integrieren, wie auch Firefox als Package das eigentlich von Mozilla ist?

Glaube Upstream wurde eine veränderung des U-Boot verhaltens auch abgelehnt wenn ich das richtig gelesen hab.
 
BTW: Im FreeBSD-wiki (im Abschnitt "Known RPi 4 Issues") für den PI, wird erklärt, wie man in einer *.img-Datei, das u-boot.bin austauschen kann. Z. B.:
Code:
# mdconfig -f FreeBSD-13.0-RELEASE-arm64-aarch64-RPI.img
md0
# mount_msdosfs /dev/md0s1 /mnt
cp /usr/local/share/u-boot/u-boot-rpi4/u-boot.bin /mnt/u-boot.bin
# umount /mnt
mdconfig -d -u 0
Quelle: https://wiki.freebsd.org/arm/Raspberry Pi
 
Zurück
Oben