PCIe-SATA Karte für I/O-Board - Bezugsquellen, Erfahrungen und Booten

  • Hallo!


    Ich bin auf der Suche nach einer PCIe-SATA Karte die problemlos mit dem CM4+I/O-Board funktioniert.

    Bisher bin ich nur auf die Liste von Jeff Geerling gestoßen.

    Dort sind im Prinzip "nur" 3 Karten gelistet, welche problemlos funktionieren:


    IO Crest 4 Port SATA III PCIe x1 with Marvell 9215

    IOCrest JMB585 PCIe Gen3 SATA Controller

    Syba/IOCrest ASM1064 PCIe SATA 4-port Controller


    Gefunden hab ich bisher nur die 3te Karte bei Amazon.de. Die Links von Jeff für den Bezug der Karten sind alle von Amazon.com (USA).


    Welche Erfahrungen habt ihr bisher gemacht?

    Reicht es aus, wenn die Karte den beschriebenen Chipsatz hat um problemlos zu funktionieren, oder muß es wirklich genau die selbe Karte sein?

    Kennt Ihr zufällich noch alternative Bezugsquellen aus dem EU-Raum?



    Nachtrag Boot-Möglichkeit:

    Nun habe ich leider auf der Seite von Jeff Geerling im Artikel: "Raspberry Pi OS now has SATA support built-in" gelesen, daß es aktuell keine direkte Möglichkeit gibt von SATA-Devices zu Booten.

    Zitat:

    One thing you can't do yet is boot the Pi from a SATA drive. You can boot from USB, microSD, eMMC, or even NVMe on the latest Pi OS, but currently the Raspberry Pi bootloader doesn't scan SATA devices for booting. At least not yet.


    Jetzt hab ich im englischen RPi-Forum recherchiert und folgenden aktuellen HowTo-Artikel eines Users gefunden, um ein dirketes Booten von SATA-Devices via PCIe-Card zu ermöglichen:

    HOWTO: Move the rootfs to native SATA (no usb adapter)

    Leider übersteigt dies meine derzeitigen Linux/RPi Fähigkeiten und ich würde hierbei eure Hilfe benötigen.


    Gruß

    Rick

    Edited 6 times, last by Rick00 ().

  • Rick00

    Changed the title of the thread from “(Bezugsquellen für) PCIe-SATA Karte für I/O-Board” to “PCIe-SATA Karte für I/O-Board - Bezugsquellen + Erfahrungen”.
  • Moin Rick00,


    in einer älteren C't wurde genau das beschrieben. Nummer 5/21.

    Haben die keine Bezugsquelle genannt?


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

    Edited once, last by Bernd666 ().

  • Hallo Bernd,


    danke für den Tipp - meinst den Artikel?

    Hast Du zufällig die Ausgabe? Steht da wirklich was brauchbares drinnen. Will jetzt nicht knapp 6 Euro in die Tonne kloppen....


    Gruß Rick

    Edited once, last by Rick00 ().

  • Rick00

    Changed the title of the thread from “PCIe-SATA Karte für I/O-Board - Bezugsquellen + Erfahrungen” to “PCIe-SATA Karte für I/O-Board - Bezugsquellen, Erfahrungen und Booten”.
  • Post by det_lev_da ().

    This post was deleted by the author themselves: Hoppla: CM4 ist gemeint! ().
  • Moin Rick00,


    Die Seite kann/will ich nicht runterladen. Schau mal Hier.

    Es ist auf jeden Fall nicht einfach. Der Kernel muss mit Sata-Daten neu kompeliert werden und auch sonst ist einiges zu beachten.

    Am Besten hat wohl eine Karte mit einem AsMedia ASM1061 abgeschnitten.

    https://www.amazon.de/dp/B009WN7QTE/ref=asc_df_B009WN7QTE1630227600000/?tag=4999_ce-21&creative=22662&creativeASIN=B009WN7QTE&linkCode=df0 (Affiliate-Link)


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

    1. Moin Rick00,


    Es ist auf jeden Fall nicht einfach. Der Kernel muss mit Sata-Daten neu kompeliert werden und auch sonst ist einiges zu beachten.

    Am Besten hat wohl eine Karte mit einem AsMedia ASM1061 abgeschnitten.

    Hallo Bernd,


    danke für den Link.

    Ich habe mir den PCIe-SATA Adapter mit ASM1064 Chip bestellt (Syba/IOCrest ASM1064 PCIe SATA 4-port Controller) da ist der Treiber bereits im aktuellen Kernel enthalten.

    Zitat von Jeff Geerling:

    Since mid-2021, SATA support is built into the Raspberry Pi kernel, so assuming you have updated to the latest version (sudo apt upgrade -y), this card should work out of the box.


    Auf meine Frage bez. Workaround zum Booten von SATA-Devices via PCIe-Card hab ich folgende Antwort erhalten:

    Quote

    you boot from small (even 128MB is enough) microsd or usb stick with just /boot partition and point it to root filesystem on sata ssd. You may also need right sata driver modules for your specific sata chip in initrd if linux kernel does not have it built in.

    Das ist doch das selbe Vorgehen, wie beim "alten" USB-Boot-Workaround mit SD-Card, bevor das Bootloader-Update kam, oder?


    Diesbezüglich hab ich im selben Forum noch einen Workaround gefunden, den ich aber leider nicht richtig verstehe, vielleicht könnt Ihr mir weiterhelfen?:

    HOWTO: Move the rootfs to native SATA (no usb adapter

    1.) You need to ensure the SATA drivers are built-in to the kernel and not built as modules.

    Da der Treiber für meine Karte im Kernel enthalten ist, brauch ich da nix machen.

    2.) Erstellung einer einzelnen Partition auf der SSD mit fdisk und anschl. Formatierung

    3.) Mounten der neu erstellten Partition

    4.) Kopieren von rootfs von der SD-Card auf die SSD

    5.) Modifikation der Boot-Config: Sicherungskopie erstellen + Root-Eintrag ändern (PARTUUID)

    6.) Modifizierung der fstab auf der SSD um die Partition zu mounten + ändern des Root-Eintrags auf die neue Root-Partitions-ID (PARTUUID)


    Was will er denn dann booten, da ist doch noch gar kein Image (OS) auf der SSD vorhanden. Wie bekommt er denn dann das noch rauf?

    Mit etcher geht das dann nicht mehr weil dann ist die ganze Partition mit rootfs wieder futsch.

    Kopiert er das dann noch von der SD-Card auf die SSD?

    Ist es da nicht einfacher, wenn man zuerst auf SD-Card und SSD das gleiche Image mit etcher schreibt?


    Grüße

    Rick

    Edited once, last by Rick00 ().

  • das Problem bei PI und booten von SATA ist, dass der Boot-Code zur Zeit wohl noch nicht nach SATA-Laufweken sucht.

    Man kann also den nun eingebauten SATA-Code im PI-Kernel verwenden, aber noch nicht davon booten.

    Selber denken,
    wie kann man nur?

  • Moin Rick00,


    da bist du richtig aktiv.


    Keine Ahnung welchen CM4 du hast. Mit SD-Karte oder eMMC.

    Das ist doch das selbe Vorgehen, wie beim "alten" USB-Boot-Workaround mit SD-Card, bevor das Bootloader-Update kam, oder?

    Genau. Halte dich an den vorhandenen Anleitungen und es sollte klappen.

    Was will er denn dann booten, da ist doch noch gar kein Image (OS) auf der SSD vorhanden. Wie bekommt er denn dann das noch rauf?

    Mit etcher geht das dann nicht mehr weil dann ist die ganze Partition mit rootfs wieder futsch.

    Grundsätzlich besteht ein SD-Karte für den RPi aus 2 Partitionen.

    Die BOOT mit FAT eingerichtet und 253 MB groß ist und eine ROOT die mit ext4 eingerichtet wurde und den Rest der Karte belegt.


    Kopiert er das dann noch von der SD-Card auf die SSD?

    Ist es da nicht einfacher, wenn man zuerst auf SD-Card und SSD das gleiche Image mit etcher schreibt?

    Nein, die SSD sollte schon als ein ext4-Laufwerk eingerichtet sein. Das kannst du mit einem Linuxrechner machen oder mit einem RPi.

    Wichtig ist nur das die PARTUUID der SSD in der /boot/cmdline.txt steht.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Hallo Bernd!

    Keine Ahnung welchen CM4 du hast. Mit SD-Karte oder eMMC.

    CM4 Lite 8GB RAM, WLAN gestern gekommen...

    Nein, die SSD sollte schon als ein ext4-Laufwerk eingerichtet sein. Das kannst du mit einem Linuxrechner machen oder mit einem RPi.

    Wichtig ist nur das die PARTUUID der SSD in der /boot/cmdline.txt steht.

    In der Anleitung legt er 1ne Partition an und formatiert diese mit ext4.

    Dort legt er einen Ordner (rootFSMigration) an. Normalerweise ist rootfs ja ne eigene Partition, oder?

    Und kopiert die rootfs von der SD-Card in das Verzeichnis.

    Aber in der neu angelegten Partition auf der SSD ist ja kein OS drauf. Also was will er dann booten?


    Was bedeutet eigentlich rootfs = root file system?

    Was die rootfs Partition genau ist, hab ich auch noch nicht kapiert bzw. keine einfach zu verstehende Beschreibung gefunden.


    Gruß

    Rick