Multi Boot mit bestehenden Partitionen

  • Hallo,

    ich habe zwei SD Karten. Eine mit Raspbian zur Smarthome-Steuerung und eine mit der Recalbox. Bisher habe ich immer die SD Karten gewechselt. Schöner wäre ein Dualboot System.
    Ich habe bereits gegoogelt, aber nichts passendes gefunden. Alles was was ich gefunden habe, war eine komplette Neuinstallation der Betriebsysteme. Ich möchte jedoch gerade mein Raspbian so lassen, wie es ist, da es doch einige Zeit in Anspruch genommen hat, es so einzurichten, wie es jetzt läuft und ich als Noob nicht weiß, ob ich es nochmal genauso hin bekomme, da es bereits seit über einem Jahr läuft 8)
    Ich hoffe, es kann mir jemand helfen.

  • Soweit mir bekannt gibt es da leider nichts. Der RPi hat kein BIOS und ohne ist es wohl nicht möglich bestehende "Bootmanager" zu benutzen. Falls jemand mehr Informationen dazu hat, bitte korrigieren. Was theoretisch gehen könnte, wäre Backups von beiden Systemen zu machen. Dann eine SD Karte mit NOOBS und Raspbian/Recalbox zu installieren. Die beiden Backups auf die beiden Systeme zu kopieren und testen ob alles noch so wie vorher funktioniert.

  • Berryboot ist noch ne alternative. Da kannst glaube ich irgendwie deine jetzigen systeme ein image machen und bei Berryboot integrieren. Das image muss aber für Berryboot angepasst werden oder so. Habe ich mal vor Jahren gemacht. Klappte ganz gut.

  • Eine Möglichkeit wäre auch, alle Partitionen auf eine neue Karte zu kopieren, und durch Umschalten des Bootflags auf die jeweils gewünschte Bootpartition das gewünschte System auszuwählen.


    Das geht aber per Script nur beim Shutdown/Reboot. Also muss man sich schon beim Shutdown entscheiden, oder - zum Umschalten - das gebootete System gleich wieder mit dem geänderten Bootflag rebooten.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Eine Möglichkeit wäre auch, alle Partitionen auf eine neue Karte zu kopieren, und durch Umschalten des Bootflags auf die jeweils gewünschte Bootpartition das gewünschte System auszuwählen.

    Ich habe das hier probiert, aber komme da zu keinem Ergebnis. Mag sein das das mit RPi und Raspbian nicht funktioniert? Die entsprechenden fdisk Befehle (a, c, ...) scheint es nicht zu geben. Befehl A aktiviert nur das LegacyBIOSBootable Flag für Partition 1. Oder es liegt an NOOBS. :) Vielleicht kann mal wer verifizieren, ob es nach der obigen Anleitung generell für RPi funktioniert oder nicht?


    Was würde passieren (oder nicht mehr), wenn das Bootflag falsch setzt/löscht? Wiederherstellung nur über ein anderes System möglich?

  • Multiboot wie wir es von "normalen" Systemen kennen, ist schwerlich möglich. Es sei denn man schreibt ein minimales BS wie Berryboot und lässt das dadurch erledigen. Der Chip des RasPi greift immer auf die Startpartition des jeweiligen Mediums zu, um dort erst mal das "BIOS" zu laden. Erst dann ist das BS an der Reihe. Mit fdisk ist da nichts zu machen.

  • NOOBS ist sowieso eigen. Es war an zwei 2-Partitionen SDs gedacht. Und wenn die Pi-Firmware nur die Partition Nr.1 als bootbar erkennt, kann man die Partitionsnummern noch immer vertauschen. Der mitgelieferte Partitions-Editor (parted) wäre m.M.n. auch das bessere Werkzeug.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Wenn ich es richtig verstanden habe, dann braucht RPi immer (?) eine FAT Bootpartition um ein ein beliebiges Betriebssystem zu starten. Also für zwei BS insgesamt 4 Partitionen. Wo hingegen ein Linux auf einem üblichen PC keine extra Bootpartition braucht.


    Wenn man nun zwei BS auf einer SD Karte hat, dann müsste man mit sudo parted set partition flag state das Boot Flag setzen können. Wobei <partition> die jeweilige Bootpartition ist. <flag> = boot und <state> = on oder off ist. Fehler sind dabei unbedingt zu vermeiden. :^^:


    Bei NOOBS gibt es anscheinend gar kein Boot Flag und hätte im besten Fall keine Auswirkung auf das Bootverhalten. Wäre natürlich auch nicht nötig.


    dreamshader:

    Meinst du jetzt NOOBS oder nicht NOOBS System?

  • Wie das Booten von SD Karte funktioniert, ist leider nicht beschrieben. Möglicherweise ist es hier schon zu spät (NOOBS setzt schon früher an): Als "Erstes" wird auf allen Boot Quellen (was auch immer das bedeutet) nach bootcode.bin gesucht und geladen. Das liegt hier in der /boot Partition. Aber K.A. wo man hier jetzt ansetzen müsste um ein anderes BS zu laden. Vielleicht über cmdline.txt und config.txt, aber vielleicht auch nicht. :conf:

  • Es gibt kein bootflag beim Raspberry Pi! Es kann auch nicht ausgesucht werden, von welcher Partition gebootet werden soll. Anderes müsste Hardwareseitig im Chip gemacht werden und das geht nur bei der Produktion. Bei Noobs gibt es erst mal nur eine Partition, erst nach der Auswahl des BS und dessen Installation wird eine weitere PArtition angelegt und weitergemacht. Es kann aus technischen Gründen keinen herkömmlichen Bootmanager geben! Das ist technisch nicht vorgesehen und der Chip gibt das auch nicht her!