![Bessere Möglichkeit zum Aktualisieren eines USB-ISO ohne Abziehen](https://rvso.com/image/1497068/Bessere%20M%C3%B6glichkeit%20zum%20Aktualisieren%20eines%20USB-ISO%20ohne%20Abziehen.png)
Ich arbeite an der Erstellung eines kleinen Betriebssystems. Wenn ich Änderungen vornehme, erstelle ich ein ISO. Dieses ISO funktioniert einwandfrei mit QEMU, aber wenn ich einige Hardwareprobleme testen muss, muss ich es auf einem anderen Computer booten. Also:
- Ich stecke ein USB-Gerät in meinen Computer
- Ich kopiere mit dd die ISO auf den USBsudo dd if=my_os.iso von=/dev/sdb
- Ich trenne mich von meinem Computer
- Ich schließe es an einen anderen Computer an und starte neu.
Das BIOS startet die neue Betriebssystemkompilierung ordnungsgemäß.
Nach 100 Malen jeden Morgen ist das frustrierend. Ich suche also nach einer Möglichkeit, das Ausstecken, Starten von DD-Skripten usw. zu vermeiden.
Ich habe eine Möglichkeit wie SD-Karte mit Wireless verwendet,dieses Tutorialzeigen, wie man einen Ordner remote ändert. Ich denke, das ist keine Lösung, da die Karte im Wesentlichen über ein kleines Linux-ähnliches Betriebssystem zum Mounten der Daten verfügt und ich einen Teil des Speichers überschreiben muss, damit er vom BIOS gestartet werden kann.
Eine andere Möglichkeit, die ich ausprobiert habe, besteht darin, einen Raspberry Pi zu verwenden, der über USB angeschlossen ist (ich weiß nicht, ob das direkt möglich ist), und zu versuchen, mithilfe eines Protokolls wie MTP den USB-Stick als Speicher zu emulieren. So kann ich ein Skript erstellen, um das neue ISO an Raspberry zu senden, den Teil des Speichers mit dem ISO zu aktualisieren und den anderen Computer einzuschalten, der die neue Betriebssystemkompilierung in den RAM lädt.
Ich habe keine weiteren Pläne und denke, dass das unmöglich ist. Also, irgendwelche Ideen, um dieses Problem zu lösen?
UPDATE: Mein Problem ist ähnlich wiedieser Beitrag. Ich werde versuchen, es daran anzupassen und den Kauf weiterer Hardware zu vermeiden (außer einer WLAN-SD).
Antwort1
Es ist überraschend, dass es kein kommerzielles Angebot gibt, das dieses Problem direkt angeht. Hier sind einige Dinge, die untersucht werden sollten.
Verwenden Sie einen KVM-Switch (Keyboard/Video/Mouse), der einen zusätzlichen USB-Anschluss für z. B. CD-ROM hat. Dieses beliebige Beispiel TK-222DVK behauptet zu haben2 zusätzliche USB-Freigabeanschlüsse für Speichergeräte oder Drucker. Meines Wissens können Sie daher ein Gerät zwischen zwei Hostcomputern umschalten, aber ich kann mich irren (es gibt keine Dokumentation zu diesem Thema). Beachten Sie, dass Ihr zweiter Computer das USB-Gerät hinter einem Hub handhaben können muss.
Wenn zwischen Ihren beiden Computern eine große Entfernung besteht, könnten Sie über IP-KVM nachdenken, also KVM über das Netzwerk. Ein beliebiges Beispiel Lantronix-Spinne sagt, es bietetVirtual Media-Unterstützung. Meines Wissens nach kann Ihr zweiter Computer dadurch ein USB-CD-ROM-Gerät erkennen, dessen Daten über das Netzwerk von einer „Freigabe“ auf einem anderen Computer stammen. Das Benutzerhandbuch enthält einige Informationen, aber nicht genug, um definitive Aussagen zu treffen. Ich glaube, ich habe ähnliche Geräte gesehen, die einen dedizierten USB-Anschluss haben, und in diesem Fall befindet sich das CD-ROM-Gerät möglicherweise nicht hinter einem Hub.
Ich bin kein Hardware-Fan, aber jemand erwähnte die TS3USB221Adie ein Hochbandbreiten-Switch, speziell für die Schaltung von High-Speed USB 2.0 Signalen konzipiert, zwischen 2 Pfaden. Es kommt in einemAuswertemodulwo Sie, glaube ich, sehen, wie eine USB-Buchse zwischen zwei anderen USB-Buchsen umgeschaltet wird. Obwohl sie sich auf Ausgangsumschaltung beziehen, heißt es, das Gerät sei bidirektional, also ist das vielleicht irrelevant. Sie müssen wahrscheinlich ein Unternehmen sein, um diese Platine zu bestellen.
Es gibt viele Mikrocontroller mit USB-Funktionalität. Einer, der in etwas Ansprechenderes verpackt wurde, ist der pyboardDadurch können Sie Python statt C auf der Platine ausführen, was die Entwicklung vereinfacht. Das Pyboard verfügt über einen SD-Kartensteckplatz und kann als Massenspeichergerät auf dem USB Ihres zweiten Computers angezeigt werden, hat aber auch mehrere serielle TTL-Ports, sodass Sie einen (TTL)-Seriell-zu-USB-Adapter vom Typ FTDI anschließen und Python schreiben können, um die SD-Kartendaten zu aktualisieren, indem Sie Daten über die serielle Verbindung von Ihrem ersten Computer senden.
Sie haben sich eine SD-Karte mit WLAN angesehen. Eine weitere solche Karte ist die ToshibaBlitzlicht. Es scheint sehr offen für Entwicklungen zu sein und Sie werden vielleicht feststellen, dass Sie damit machen können, was Sie wollen.