Wie baue ich ein einzelnes Linux?

592
user3486308

Ich baue gerne einen Roboter, auf dem sich ein ARM-basierter Computer (wie Himbeer-Pi) und ein Linux-Betriebssystem befinden. Ich mag es, wenn der Benutzer den Roboter einschaltet, der Roboter sein spezifisches Programm ausführt (das ich in der Sprache C geschrieben habe) und kein Allzweck-Desktop-Linux!

Beim Einschalten des Roboters wird beispielsweise "Hallo!" Angezeigt. auf dem Display, sagt Hallo zu Benutzer, bewegt seine Hände usw. (ich meine, es läuft nur mein angegebenes Programm dafür)

Wie kann ich das machen?

0
Schauen Sie sich den Kiosk-Modus an: http://www.omgubuntu.co.uk/2014/07/create-ubuntu-kiosk fixer1234 vor 7 Jahren 0

2 Antworten auf die Frage

1
karel

ROS (Robot Operating System) ist eine Sammlung von Softwarebibliotheken und Tools, mit denen Entwickler Roboteranwendungen aus einem anderen Betriebssystem wie Ubuntu erstellen können. ROS bietet Hardware-Abstraktion, Gerätetreiber, Bibliotheken, Visualizer, Message-Passing, Paketverwaltung und mehr.

Im Mai gibt es jedes Jahr eine ROS-Version. Jede ROS-Version wird auf genau einem Ubuntu LTS unterstützt. ROS-Versionen werden die Unterstützung für EOL-Ubuntu-Distributionen (End Of Life) aufheben, selbst wenn die ROS-Version noch unterstützt wird. Die ROS Kinetic-Version wird derzeit nur von Ubuntu 16.04 unterstützt.

Sie müssen den vollständigen Ubuntu-Desktop auf dem Computer installieren, auf dem Sie entwickeln, und auf dem ARM-basierten Computer (Raspberry Pi) sollten Sie ein viel kleineres Betriebssystem wie Ubuntu Core installieren. Es sind offizielle Versionen von Ubuntu Core für Raspberry Pi 2 und Raspberry Pi 3 verfügbar.


ROS Kinetic Installation in Ubuntu 16.04

  1. Konfigurieren Sie Ihre Ubuntu-Repositorys so, dass "eingeschränkt", "Universum" und "Multiversum" zulässig sind.

  2. Führen Sie diese Befehle aus:

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'  sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116  sudo apt update  
  3. Wählen Sie eine von vier Standard-ROS-Konfigurationen.

    sudo apt install ros-kinetic-desktop-full # full desktop sudo apt install ros-kinetic-desktop # desktop install sudo apt install ros-kinetic-ros-base # no GUI sudo apt install ros-kinetic-PACKAGE # individual package installation 

    Um verfügbare Pakete benutzen apt-cache search ros-kineticund ersetzen Sie dann PACKAGEin ros-kinetic-PACKAGEvon einem der verfügbaren Pakete gefundenapt-cache search ros-kinetic

  4. Initialisieren rosdep. rosdepermöglicht die einfache Installation von Systemabhängigkeiten für die Quelle, die Sie kompilieren möchten, und ist erforderlich, um einige Kernkomponenten in ROS auszuführen.

    sudo rosdep init rosdep update  
  5. Umgebungseinstellung

    echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc  source ~/.bashrc  
  6. Holen rosinstall. rosinstallermöglicht das einfache Herunterladen vieler Quellbäume für ROS-Pakete mit einem Befehl.

    sudo apt install python-rosinstall 
  7. Besuchen Sie zum Testen Ihrer Installation die offiziellen ROS-Tutorials .


ROS Melodische Installation in Ubuntu 18.04

  1. Konfigurieren Sie Ihre Ubuntu-Repositorys so, dass "eingeschränkt", "Universum" und "Multiversum" zulässig sind.

  2. Führen Sie diese Befehle aus:

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'  sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt update  
  3. Wählen Sie eine von vier Standard-ROS-Konfigurationen.

    sudo apt install ros-melodic-desktop-full # full desktop sudo apt install ros-melodic-desktop # desktop install sudo apt install ros-melodic-ros-base # no GUI sudo apt install ros-melodic-PACKAGE # individual package installation 

    Um verfügbare Pakete benutzen apt-cache search ros-melodicund ersetzen Sie dann PACKAGEin ros-melodic-PACKAGEvon einem der verfügbaren Pakete gefundenapt-cache search ros-melodic

  4. Initialisieren rosdep. rosdepermöglicht die einfache Installation von Systemabhängigkeiten für die Quelle, die Sie kompilieren möchten, und ist erforderlich, um einige Kernkomponenten in ROS auszuführen.

    sudo rosdep init rosdep update  
  5. Umgebungseinstellung

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc  source ~/.bashrc  
  6. Holen rosinstall. rosinstallermöglicht das einfache Herunterladen vieler Quellbäume für ROS-Pakete mit einem Befehl.

    sudo apt install python-rosinstall-generator python-wstool build-essential 
  7. Besuchen Sie zum Testen Ihrer Installation die offiziellen ROS-Tutorials .

Quelle: Ubuntu-Installation von ROS Kinetic, Ubuntu-Installation von ROS Melodic

0
Alex

Wenn Sie einfach ein leichtes Betriebssystem auf Himbeer-Pi (ohne Desktop-Umgebung) wollen, verwenden Sie einfach "Raspbian Jessie Lite" anstelle von "Full".

Wenn Sie ziemlich sicher, dass in Ihrer Programmierkenntnisse und müssen nicht alles von Betriebssystem und Sie können decken alle Bedürfnisse in einem einzigen Programm, das Sie geschrieben hat, dann können Sie erste Programm ersetzen, die von Linux - Kernel starten von GRUB Initialisierungszeichenkette Ändern init=/path/to/init_program(stellen Sie sicher, Sie lesen die Systeminitialisierung )

Wenn Sie einfach wollen (ich denke, es ist genau das, was Sie wollen), teilen Sie dem Betriebssystem einfach mit, dass Sie Ihr Programm auf Raspberry Pi automatisch starten und dann Ihr Programm erstellen oder bearbeiten rc.local

 sudo nano /etc/rc.local 

und fügen Sie dort Ihr Programm hinzu. (Vergewissern Sie sich, dass Sie alles in der offiziellen Dokumentation lesen, wie Sie dies auf die richtige Weise tun können. https://www.raspberrypi.org/documentation/linux/usage/rc-local.md. )

Hallo Alex und danke für die Hilfe. Eigentlich ist mein Board nicht Himbeer-Pi und aits nanopi-m1. unterstützt aber debian jessie, ubuntu mate, ubuntu core, armbian. Ich benutze zu dieser Zeit armbian. Ich überprüfe die Datei, die Sie gesagt haben (cc.local), und ich denke, meine Lösung ist, wie Sie sagten, in Ihrer dritten Option. Dies ist jedoch der erste Teil. Ich meine, ich möchte, dass mein Programm startet, wenn der Computer eingeschaltet wird. Ich möchte jedoch andere Programme wie Webbrowser, liber office usw. entfernen und möchte nicht, dass sie meine SD-Karte starten oder belegen. Was ist mit dem zweiten Teil? Wie kann ich zusätzliche Apps entfernen und zusätzliche Teile von Betriebssystemen wie der Desktop-Umgebung deaktivieren? user3486308 vor 7 Jahren 0
Das Bereinigen des Betriebssystems aus der Desktop-Umgebung ist keine einfache Aufgabe, Sie würden wahrscheinlich einige Bibliotheksabhängigkeiten bremsen und viel Zeit verlieren. Ich empfehle Ihnen, die Server-Version von armbian herunterzuladen, wenn Sie ein leichtes System haben möchten, da die Server-Version normalerweise keine Desktop-Funktionen hat. Alex vor 7 Jahren 0