Alternative (Unsupported) Installation Options

This page lists alternative installation options for running ARO Singularity containers on non-Linux systems.

All of these options are community-supported only - this means the teaching team does not promise any support for these options. All problems related to the guides on this page should be reported exclusively to the forum and not by email to the teachers. The teachers are not obliged to take part in these forum discussions - it is expected that students will help other students (or not!).

We welcome suggestions for improvements of these guides that would crystallize from the community discussions on forums. If you have concrete updates for this page, please contact the teaching team.

It is important to stress out the teaching team thinks it is valuable for you to have a working Linux installation on your computer when you're studying cybernetics. Give it a try!

Remote Access to Lab Computers

The easiest alternative is setting up remote access to lab computers. The only thing you need is an SSH and VNC client. The user experience is, though, the worst out of all these options.

Windows

  • Use WSL2.
    • If you don't yet have it, type wsl --install -d Ubuntu in command prompt.
    • If you already have it, verify it is WSL 2 and not WSL 1: wsl --list -v
  • The best WSL base image to start from is Ubuntu 20.04. You can also use Ubuntu 22.04. As a last resort, any Linux base distro will work, but you will have more work with getting Singularity installed.
  • Also make sure your WSL kernel is updated - type wsl --update in a Windows command prompt. It might require rebooting the computer afterwards or calling wsl --shutdown.
  • Once you have the WSL system ready, log into it and follow Using ROS tutorial.
  • You cannot teleoperate real robots from WSL. You might try following Mirrored mode networking guide to change the WSL network from NAT to a mirrored architecture. This is however not tested. We'll be glad for feedback.
    • Basically, what you need is that the WSL virtual machine gets IP address in the range 192.168.65.* and the hostname of your WSL machine can be pinged from the robot (ping my-laptop). Also, the virtual machine has to accept incoming network connections.
  • Pro tip: In Pycharm Proffesional on your Windows, you can set up a remote interpreter that will SSH inside the WSL container and run programs there. This way, you can do the programming directly from Windows. See Remote development.
  • Useful links:

Mac OS with ARM chips (M1, M2...)

    • Use the Download button, not the Mac App Store button (it contains the same free thing, but for $9.99).
  • Download the virtual image and unpack the archive (5 GB download, 10 GB after unpacking).
  • Launch UTM.
  • Drag'n'drop the unpacked file onto the UTM window.
  • Scroll down and configure shared folder location if you want to share a folder with the virtual machine.
  • Launch the VM. Login is aro, password is aro.
  • The shared folder is accessible as /media/shared.
  • Open a terminal and choose a unique hostname for your virtual machine. Set the hostname using
    sudo hostnamectl set-hostname aro-[your_ctu_username]
    • Stop the virtual machine with sudo poweroff.
    • In the VM settings in UTM, go the network settings and change the network to Bridge.
    • Start the VM again.
    • This step is only needed on the first boot of the VM.
  • Open a terminal and run ~/deploy/scripts/start_singularity_aro and follow Using ROS tutorial.
  • To use gamepad, select the USB icon in upper right corner of the UTM window and click “USB Gamepad” to attach the gamepad to virtual machine.
    • When launching real_robot_joy_teleop.launch or a simulation launch file, pass argument joy_dev:=/dev/input/js1.
  • When you finish working with the virtual machine, turn it off with sudo poweroff.
  • Useful links:

Mac OS with Intel chips

  • No support yet. If anybody gets it running, please, share the VM image. We think UTM or Virtualbox could be the way to go.

Android/iOS

courses/aro/tutorials/alternative_install.txt · Last modified: 2024/02/21 13:03 by peckama2