No working init found - Surface RT & Raspian OS

  • Mir ist die Tage ein Surface RT zugelaufen das noch in einem super Zustand ist. Es wurde wenig genutzt. Dieser Umstand nahm ich zum Anlass Linux auf dieses Tablet packen zu wollen da die letzten Updates von 2013 sind. Somit haben sich die Golden Keys für das UEFI installieren lassen und das RT bootet brav von USB. So weit, so gut. Es bleibt dann beim Start stehen. Ich habe bereits diverse USB Sticks ausprobiert, Rufus, Balena und Pi-Imager durch, etc... Genauso habe ich schon ältere Versionen von Raspian ausprobiert. Als Vorlage habe ich die Anleitung von OpenRT 1:1 übernommen. Wenn ich den USB Stick an meinem Linux Notebook anstecke sehe ich zwei Partitionen.

    Wie kann ich versuchen das Problem zu fixen?

  • Entweder ist etwas an der Kernel-Kommandozeile kaputt (der Kernel hängt statt einem Linux- ein FAT-Dateisystem ein, kann darauf /dev mangels entsprechenden Verzeichnis nicht einhängen und findet dann auch kein Init-Programm) oder ein vorhandenes initramfs (mit einem Namen wie initrd.img) wird nicht zusammen mit dem Kernel geladen, wobei es nicht danach aussieht, als ob ein solches vorhanden ist.
    Wenn ich diesen Artikel als Grundlage heranziehe, was gibst du als root-Parameter an? Es ist etwas verwirrend, dass der Guide davon spricht, dass /dev/mmcblk0 die interne eMMC und /dev/mmcblk1 die SD-Karte (und /dev/sda der USB-Stick) sein soll, aber der Kernel zusätzlich Meldungen zu einem dritten MMC-Bus namens mmc2 ausgibt.


  • Entweder ist etwas an der Kernel-Kommandozeile kaputt (der Kernel hängt statt einem Linux- ein FAT-Dateisystem ein, kann darauf /dev mangels entsprechenden Verzeichnis nicht einhängen und findet dann auch kein Init-Programm) oder ein vorhandenes initramfs (mit einem Namen wie initrd.img) wird nicht zusammen mit dem Kernel geladen, wobei es nicht danach aussieht, als ob ein solches vorhanden ist.
    Wenn ich diesen Artikel als Grundlage heranziehe, was gibst du als root-Parameter an? Es ist etwas verwirrend, dass der Guide davon spricht, dass /dev/mmcblk0 die interne eMMC und /dev/mmcblk1 die SD-Karte (und /dev/sda der USB-Stick) sein soll, aber der Kernel zusätzlich Meldungen zu einem dritten MMC-Bus namens mmc2 ausgibt.

    Die startup.nsh sieht so aus:

    Code
    fs0:
    zImage dtb=tegra30-microsoft-surface-rt-efi.dtb root=/dev/mmcblk0p2 console=tty0 cpuidle.off=1
    reset -s

    die cmdline.txt sieht so aus:

    Code
    console=serial0,115200 console=tty1 root=PARTUUID=3c4ef1b4-02 rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspberrypi-sys-mods/firstboot splash plymouth.ignore-serial-consoles

    Ich frage mich, woher kommt diese UUID und ob diese richtig ist? (Kann man die auslesen?)

    In der startup.nsh muss ich /dev/mmcblk0p2 angeben, das ist die einzigste Partition unter der was gefunden wird und das Teil überhaup so weit kommt.

    Von eine MicroSD Karte kann das Surface übrigens nicht starten. Ich muss aber zur Sicherheit mal noch eine kleinere Karte versuchen (SDHC) und keine SDXC. Nicht, dass der Reader die Karten nicht lesen kann.

    Edit: ich habe es eben auch mit einer SDHC (16GB) versucht. Die gefragte UUID habe ich am Notebook mit gparted ausgelesen und in die cmdline.txt eingetragen. Am Fehlerbild ändert sich nichts. Gibt es noch andere Orte/Dateien an dem Optionen mitgegeben werden?

    Edit2: Das RT kann nicht von SD Karte booten. Also muss der Weg über USB gehen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!