42

There's no direct download of Ubuntu Desktop 22.04 for ARM64 yet, how do you install it?

ylluminate
  • 1,629
  • 3
  • 19
  • 27

4 Answers4

37

UPDATE 2: A non-public (not on their main website) release of the arm64 Desktop version is now available on the daily-live folder: https://cdimage.ubuntu.com/jammy/daily-live/current/jammy-desktop-arm64.iso

Your mileage may vary, but it could perhaps work outright as this other user has indicated.


Some were confused, here's a complete screencast of the process outlined below: https://www.youtube.com/watch?v=56n2q6-MXX8

  1. Download the ARM64 Server edition from: https://ubuntu.com/download/server/arm
  2. Install with the ISO when creating a new guest/vm in Parallels 17
  3. Update System sudo apt update && sudo apt upgrade then sudo reboot
  4. Login and install: sudo apt install ubuntu-desktop
  5. Reboot (sudo reboot)
  6. Parallels Tools Installation: two options
  • Use Menubar:

    1. Menubar → Actions → Install Parallels Tools
    2. Install via shell:
      cd /media/USERNAME/Parallels\ Tools
      sudo ./install
      sudo reboot
      
  • Use ISO: mount Parallels ARM64 tools ISO and install:

    • Note: initially I installed Parallels Tools before installing the graphical user interface, but if you install it after the installation of ubuntu-desktop or even kde-standard/full/whatever then copy paste, etc. functionality will also be installed.
    1. CD-ROM: "Connect image..."
    2. Navigate to /Applications/ and change to List view
    3. Expand Parallels Desktop.app/Contents/Resources/Tools/
    4. Select and Open prl-tools-lin-arm.iso
    5. Execute:
      sudo mount /dev/cdrom /media/
      cd /media/
      sudo ./install
      # allow it to install appropriate tools
      sudo reboot
      
  1. Success: Ubuntu Desktop 22.04 on macOS Parallels ARM64

DOCKER:

There was a question below about whether or not Docker can work with Ubuntu 22.04 on Apple Silicon. The answer is YES. The catch or hang up that people are hitting is when they try to use "Docker Desktop" on Ubuntu (instead of directly on macOS). This tries to run a nested virtualization scenario and Apple does not have this instruction set available on the M1 series of Apple Silicon devices. The key, however, is to just use Docker itself with something like a tutorial from here: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04

You'll then notice that after you successfully set it up and run docker run hello-world that it does work. Furthermore you can do install distributions like Alpine and run them:

$ docker pull alpine
$ docker run -it alpine
/ # ls
bin    dev    etc    home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
/ # exit
$ docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
alpine        latest    3fb3c9af89a9   5 weeks ago   5.32MB
hello-world   latest    46331d942d63   7 weeks ago   9.14kB
$ docker system prune -a --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y Deleted Containers: e02dce4144eccb4828a3775ec96c97c5741c69120981bf323732796ff2e4855f 72beba41f97505fe14532b0f700e6c1477986c35c656bac7500591194725e1ef

Deleted Images: untagged: hello-world:latest untagged: hello-world@sha256:80f31da1ac7b312ba29d65080fddf797dd76acfb870e677f390d5acba9741b17 deleted: sha256:46331d942d6350436f64e614d75725f6de3bb5c63e266e236e04389820a234c4 deleted: sha256:efb53921da3394806160641b72a2cbd34ca1a9a8345ac670a85a04ad3d0e3507 untagged: alpine:latest untagged: alpine@sha256:4edbd2beb5f78b1014028f4fbb99f3237d9561100b6881aabbf5acce2c4f9454 deleted: sha256:3fb3c9af89a9178a2ab12a1f30d8df607fa46a6f176acf9448328b22d31086a2 deleted: sha256:4f4ce317c6bbf55719e49973d32d33ba456d7cb08693a6d6fb372690eacee23b

Total reclaimed space: 5.331MB

ylluminate
  • 1,629
  • 3
  • 19
  • 27
5
  1. Be on a M1 Mac - I'm using a Pro with 16gb RAM.
  2. Have Parallels Desktop installed - not from Mac app store in my case. I don't think the version downloaded from the Parallels site matters, I have the one above basic, but I think that just gets you more RAM.
  3. Download the Jammy Jellyfish Daily Build:
  4. Create new vm using the iso.
  5. I didn't go with the automatic install option from Parallels. Not sure if it works the other way. Installed, rebooted, boot sequence froze after it couldn't find cd/dvd. I think I hit enter and it worked, or I restarted it somehow.
  6. Performed the following that I saw from the another post on this page:
  • CD-ROM: "Connect image..."
  • Navigate to /Applications/ and change to List view
  • Expand Parallels Desktop.app/Contents/Resources/Tools/
  • Select and Open prl-tools-lin-arm.iso
  • Execute: sudo mount /dev/cdrom /media/ cd /media/ sudo ./install
  • allow it to install appropriate tools sudo reboot
  1. Worked for me!
  2. Now where are all the arm apps? Hopefully, they get ported over time.
  3. Side note, I tried really hard to get this working for Fedora 36, but couldn't get Parallels Tools to work.
  4. Bonus note, the speed of the system is much much faster using a M1 Mac vs 2020 mac mini with 32gb of RAM on x86 architecture. I figured they would be similar, but I was wrong. M1 is crushing it. Best of luck!
ylluminate
  • 1,629
  • 3
  • 19
  • 27
0

This works fine with QEMU (source https://medium.com/@joachim8675309/vagrant-with-macbook-mx-arm64-0f590fd7e48a):

# create configuration file for arm64 vm image
cat <<EOF > Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "perk/ubuntu-2204-arm64"
  config.vm.provider "qemu" do |qe|
    qe.ssh_port = "50022" # change ssh port as needed
  end
end
EOF

download and startup VM using hvf

vagrant up --provider=qemu

log into the VM

vagrant ssh

-1

I was successful running the command below:

docker run --platform linux/arm64 -p 52022:22 --name arm64 -v /Users/my_username:/home/my_username -v /tmp/:/tmp -it ubuntu:22.04