Raspberry Pi: Bootmenü

Smalltalk
Antworten
Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Raspberry Pi: Bootmenü

Beitrag von schorsch_76 » 27.12.2019 10:36:36

Hallo zusammen,

hat jemand eine Idee wie man auf dem Pi ein Bootmenü einrichten kann ähnlich wie grub? Kann uboot das?

Hintergrund: Auf meinem Pi4 hab ich jetzt Debian Buster aarch64 am laufen und ich würde gerne verschiedene Bootoptionen anbieten.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Raspberry Pi: Bootmenü

Beitrag von smutbert » 27.12.2019 12:05:13

Wenn uboot funktioniert sollte das grundsätzlich funktionieren, mit Debiangrub-uboot.

Es soll dann so ablaufen, dass uboot startet und grub lädt. Wenn du herausfindest wie man das einrichtet, wäre ich dankbar, wenn du schreibst wie es geht (ich habe es nicht hartnäckig versucht).

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspberry Pi: Bootmenü

Beitrag von schorsch_76 » 27.12.2019 13:55:27

u-boot kann wohl selbst ein Bootmenü anzeigen. Das muss ich mal probieren!

https://gitlab.denx.de/u-boot/u-boot/bl ... E.bootmenu


Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspberry Pi: Bootmenü

Beitrag von schorsch_76 » 28.12.2019 19:59:22

Grub2 zum laufen zu bekommen war jetzt nicht so schlimm wie ich dachte ... aber es gibt natürlich noch ein Problem oder zwei ...

Wie ihr hier sehen könnt, lädt der RPi4 über UBoot grubaa64.efi und startet anschliessend den Kernel. Über die serielle Konsole kann ich grub auch bedienen aber das KEyboard wird nicht erkannt während grub aktiv ist. Auch unter UBoot kann ich nur über die Konsole was machen. Eventuell kann man hier bei der UBoot Config noch was machen.

u-boot hab ich aus den Quellen gebaut auf dem Pi selbst und anschließend nach /boot/firmware gepackt. Die config.txt startet das als "kernel=u-boot.bin". Wichtig ist auch "dtoverlay=disable-bt" damit der serielle Port nutzbar ist.

Oh ja, fast vergessen: Wichtig ist auch die aktuelle Ausgabe von /proc/cmdline in /etc/default/grub zu pachen in die default Argumente, sonst hat nach grub der Kernel keine cmdline bekommen. Das äussert sich darin, dass ihr gar nichts seht und auf der Console auch Leere herrscht.

https://youtu.be/i2e4FQShcy8

2431
2432
2433

Muss mal weiter schauen, warum der Kernel hängen bleibt.

Auf der seriellen Konsole sieht man:

Code: Alles auswählen

U-Boot 2020.01-rc5-00027-g831f06fe9a (Dec 28 2019 - 16:31:53 +0000)

DRAM:  3.9 GiB
RPI 4 Model B (0xc03111)
MMC:   emmc2@7e340000: 0, mmcnr@7e300000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
224 bytes read in 13 ms (16.6 KiB/s)
## Executing script at 02400000
139264 bytes read in 41 ms (3.2 MiB/s)
Scanning disk emmc2@7e340000.blk...
Card did not respond to voltage select!
Scanning disk mmcnr@7e300000.blk...
Disk mmcnr@7e300000.blk not ready
Found 3 disks
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
Wenn der Monitor nicht angesteckt ist, bootet der Kernel durch und ich kann mich über die serielle Konsole einloggen. Auch grub ist über die Konsole hervorragend bedienbar.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Raspberry Pi: Bootmenü

Beitrag von smutbert » 28.12.2019 21:01:37

Oh, ich bin davon ausgegangen, dass grub-uboot einen eigenen USB-Tastaturtreiber mitbringt, wie es auch grub-efi tut (»/usr/lib/grub/x86_64-efi/usb_keyboard.mod« im Paket Debiangrub-efi-amd64-bin, aber im Paket Debiangrub-uboot-bin findet sich keine vergleichbare Datei).
Auch das grub das als EFI bezeichnet finde ich interessant.

Danke fürs Posten!

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspberry Pi: Bootmenü

Beitrag von schorsch_76 » 28.12.2019 21:49:12

Hier ist das grub binary ein EFI Executable ;)
u-boot standardisiert wohl ziemlich viele der Arm Platformen auf das EFI Interface. Siehe die Youtube Videos über UEFI.

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspberry Pi: Bootmenü

Beitrag von schorsch_76 » 28.12.2019 21:54:55

Das mit usb_keyboard muss ich morgen mal probieren :)

Antworten