Addon Reboot2OS gesucht

  • Hallo,

    User cabal2k hat in einem anderen Thread Anfang 2017 mal von einem Addon "Reboot2OS" geschrieben (LibreELEC-DualBoot). Es soll bei ihm aktuell noch laufen mit LibreELEC. Hier ist der englsche Thread zum Thema: http://openelec.tv/forum/128-addo…e-to-another-os. Leider ist der Link zu Dropbox tot. Hat das Addon noch jemand oder weiß wo man es herunterladen kann?


    Damit ist es möglich über den Befehl grub-reboot wie unter Ubuntu einmalig das Default-OS im Grub-Menü zu ändern. Man könnte so also in einem Multiboot-System direkt ohne weitere Eingabe im Grub-Menü LibreELEC herunterfahren und dann gleich Ubuntu starten - auch wenn normal LE das Standard-OS ist. Von Ubuntu Richtung LE geht problemlos, unter LE fehlt aber grub-reboot.

  • Da läuft etwas falsch. Normal wird über

    Code
    grub-reboot Ubuntu

    einmlig in der Datei /boot/grub/grubenv aus

    Code
    next_entry=
    Code
    next_entry=Ubuntu

    gemacht. Dadurch wird beim nächsten Start einmalig der Eintrag namens "Ubuntu" ausgewählt und gebootet. Ich hab mal testweise in der reboot2oos.sh den letzten Punkt "reboot" auskommentiert um zu testen was in der grubenv geändert wird. In der Tat ändern ich mit grub-reboot den Eintrag "saved_entry" und mit grub-set-default den Eintrag "prev_saved_entry". Der eigentlich wichtige Eintrag "next_entry" bleibt unverändert.

  • Ich hab scheinbar eine (Fummel-)Lösung gefunden. Versucht man die grubenv manuell mit dem Titel des Eintrags im Grub anzupassen, also z. B. "Ubuntu" wenn im Grub "Ubuntu" steht passieren verrückte Sachen. Von undefinierbaren Fehlermeldungen bis zu grünem Bildschirm. Auch versaut es die grubenv. Unten dran stehen dann viele ### die scheinbar mit jedem Reboot-Versuch mehr werden.

    Es geht aber denn man statt dem Titel die Nummer einträgt. Die passt zwar komischerweise nicht zur Reihenfolge im Grub, aber durch probieren bekommt man das raus.

    Ich hab es jetzt so gelöst, dass ich in /boot/grub (Mountpoint bei mir in LibreELEC /var/media/ubuntu-system/boot/grub) 2 zusätzliche Dateien angelegt habe (Kopien der grubenv), die ich grubenv-ubuntu und grubenv-openelec genannt habe. Hier habe ich bei "next_entry" die Zahl für Ubuntu bzw. OE eingetragen. In der reboot2oos.sh hab ich alles bis auf "reboot" auskommentiert und oberhalb von "reboot"

    cp /var/media/ubuntu-system/boot/grub/grubenv-ubuntu /var/media/ubuntu-system/boot/grub/grubenv

    Das überschreibt die grubenv durch die mit Ubuntu als Bootoption. Danach wird rebootet und dann ist einmalig Ubuntu ausgewählt. Während der Bootvorgangs wird die grubenv wieder ersetzt.

    Man müsste jetzt halt nur das Addon unter geänderten Namen ein zweites mal installieren und hat einen Eintrag für OpenELEC. In der reboot2oos.sh nimmt man dann die grubenv-openelec.

    Bisher erst ein paar mal versucht und bisher keine Fehler. Keine Garantie.

  • Ich hab da letztlich nicht soviel geändert. Zunächst das Addon installieren aus Beitrag #3 das erstellt einen Eintrag unter Programme. In dem Addon dann unter

    Zitat

    .kodi/addons/script.reboot2os-mod/bin

    die Datei "reboot2oos.sh" öffnen und so abändern:

    Vermutlich könnte man auch die Zeile mit "export ..." auskommentieren, die ist vermutlich nur für grub-reboot da, was ja aber nicht genutzt wird. Die auskommentierten kann man auch löschen. Wichtig sind die letzten beiden. cp hab ich eingefügt, reboot stand schon drin. Wichtig ist der Mountpoint der Ubuntu-System-Partition (hier: /var/media/ubuntu), da hier ja Grub liegt - ggf. anpassen.

    Dann geht man in den Ordner "/var/media/ubuntu/boot/grub", hier liegt eine Datei Namens "grubenv". In dieser werden einmalig die geänderten Bootoptionen gespeichert. Für mich ist nur der Eintrag

    Code
    next_entry=

    interessant. Falls der nicht verfügbar ist, einfach anlegen. Hier kann entweder der Name des OS eingetragen werden, dass als nächstes gestartet werden soll oder die Nummer. Der Name ist der, der im Grub-Menü steht, die Nummer kann aber von der dortigen Reihenfolge abweichen. Bei mir ist z. B. die 1. Bootoption die Nummer 3, k.A. wieso. Mit den Namen gab es Probleme, daher verwende ich die Nummern. Man legt nun eine Kopie der "grubenv" an per

    Code
    sudo cp grubenv grubenv-ubuntu

    und ändert in der "grubenv-ubuntu" den Eintrag "next_entry" entsprechend ab. Das gleiche macht man für soviele andere OS wie man hat.

    Nun sollte bei einem Klick auf das Add in Programme (nach dem Klick auf JA) das Skript "reboot2oos.sh" ausgeführt werden, dass seinerseits die "grubenv-ubuntu" kopiert und unter dem Namen "grubenv" abspeichert. Die alte grubenv wird überschrieben. Da LE mit root arbeitet geht das problemlos. Beim nächsten Start sollte Ubuntu ausgewählt sein.

    Will man mehr als 2 OS booten installiert man das Addon einfach ein zweites mal, ändert aber vorher die "addon.xml" und die "default.py" ab. Bei mir sehen die so aus:

    Nicht verwirren lassen, hier steht noch Windows statt Ubuntu drin. Wichtig ist vermutlich die Addon-ID zu ändern. Das Addon hat im Grunde nur den Zweck möglichst einfach die Einträge in Kodi zu erstellen. Man könnte sicher auch selber was schreiben ohne den ganzen Ballast der für grub-reboot nötig ist, jetzt ja aber nicht mehr gebraucht wird.

    Probleme:

    Zu 100% läuft es nicht, da es manchmal passiert, dass während des Start von Ubuntu eine Meldung von wegen

    Code
    Environmentblock ist zu klein

    kommt. Ubuntu bootet dennoch, aber die Bootreihenfolge steht beim Default. Vermutlich kommt sich die "cp-Methode" unter LE und die "grub-reboot-Methode" unter Ubuntu in die Quere. Man müsste hier evtl. Ubuntu auch auf die "cp-Methode" umstellen. Da bastel ich noch.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!