33

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

ylluminate
  • 1,459
  • Just out of curiosity: How well does this run, i.e. would you consider using it as a daily driver? What kind of battery life are you seeing (and on what machines)? – Cliowa Sep 22 '22 at 10:47
  • I ran it for a couple months without remembering it was running silently in the background. It's really not bad as long as you kill the GUI and just keep it text-only and then kill off a few more services that chew CPU cycles. – ylluminate Sep 29 '22 at 00:45
  • It's unfortunate to see that the only answers here direct you to a paid subscription (Parallels $119/yr). The standard plan isn't suited for professional use. – Ricky Boyce Dec 22 '23 at 01:51
  • If you noted, I did put "Parallels" specifically in the title to be very specific for the purpose of this. I do use the professional version of Parallels because I, too, need more functionality. You are welcome to try UTM, but I found it lacking in various areas and ultimately was not able to provide a sufficiently refined experience in some areas that required it for my needs. – ylluminate Dec 26 '23 at 06:56

5 Answers5

31

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,459
  • 1
    There is also a ARM64 Desktop image available here: http://cdimage.ubuntu.com/jammy/daily-live/current/ Not sure if that is quite new, but it seems so ;) I was able to succefully use that image to install Jammy in Parallels (I will also try UTM). Haven't found a ARM64 image for KUbuntu however :( If someone finds out about that, please let me know, thanks! – mkurz May 29 '22 at 10:18
  • Cool, nice to see they finally built it @mkurz. No, could not find it anywhere before, but Kubuntu can be installed atop Server as above or on Desktop. I actually switched to Kubuntu after installation and just didn't document it above. Try sudo apt install kde-full or lighter meta packages kde-standard or kde-plasma-desktop. – ylluminate May 29 '22 at 18:28
  • Parallels isn't available for free. I suggest using UTM as an alternative. – Mehrshad Sep 05 '23 at 08:29
  • Yeah, been flirting with UTM for some time @Mehrshad, but it's just not yet mature enough in some areas that Parallels offers. I suppose it depends on your use case. UTM definitely helps, however, with architectures not directly supported or even operating systems such as QNX even with arm64. – ylluminate Sep 12 '23 at 19:25
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,459
2

I tried creating a VM on my M1 with Parallels 1.7.2 (23531) and ubuntu-22.04-live-server-arm64.iso. But after the Grub screen a blank screen appears which stays forever.

So I have to assume that the installation fails/hangs. Is there any special setting that I have to apply (BIOS/UEFI, ...) that makes it boot successfully?

I also tried to remove the quiet parameter from the boot command in grub, then I'm getting the following output:

EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable
EFI stub: Using DTB from configuration table 
EFI stub: Exiting boot services...

What does it mean and what could I do about it?

Thanks

  • I was able to boot it straight away. I'll record a screencast when I have a chance to demonstrate. – ylluminate May 01 '22 at 23:52
  • So, what Parallels version do you use, ylluminate? I'm running 1.7.2 App Store Edition. Dave suggested in his post that the Parallels version used could make the difference... – Stefan Szebinski May 05 '22 at 12:12
  • Stefan, notice I have the version in my original post? So as noted initially (and perhaps you're missing a step if you missed that info?) "17" is what I'm running and specifically the most recent release, 17.1.2 (51548). – ylluminate May 05 '22 at 16:11
  • Added a screencast for you above in my answer. – ylluminate May 06 '22 at 02:17
  • ylluminate, yes, so it's exactly the same version, I missed that in your original post, sorry. But then what's the difference? Doesn't work for me... – Stefan Szebinski May 07 '22 at 12:19
  • if you followed the steps in the screencast identically then I'm not sure where you're having the problem. I would highly suggest posting on the Parallels forum and/or contacting support. – ylluminate May 09 '22 at 01:25
  • I did it exactly like you (thanks for the screencast). Did always stop on the screen showing just the underscore (just after Grub). Now it moved on, just like in your video. Didn't change anything... Puzzling. Perhaps I wasn't just patient enough to wait for the booting to proceed? Anyway, thanks, it works! – Stefan Szebinski May 09 '22 at 07:24
  • Sure thing, glad it works now! – ylluminate May 10 '22 at 20:26
  • I have the exact same problem using VMWare Fusion. Do you know what the root cause was? – leodotcloud Dec 14 '22 at 06:53
0

I had the same issue, as Stephan, with installing Ubuntu 22.04 on a MacBook Pro (16-inch, 2021) M1 Pro with 32 GB RAM. I had the Apple store version 1.7.x (I think it was 1.7.2). Per the advice in the accepted solution above, I removed Parallels from my machine, logged into my parallels.com account, and re-installed parallels Version 17.1.2 (51548)) after downloading and activating the new install, I followed the advice given above accepted solution and Ubuntu 22.04 is now running as per the accepted solution answer.

I should mention that I did have issues getting the parallel tools installed. In the end, what I did was to click the warning icon at the top of the VM window warning me that the tools need to be installed. That apparently mounted the disk and installed the tools.

My gut feel is that there is a difference in the Apple store version I was using. I have not confirmed that, to be sure, but the actions I took certainly seems to indicate that so.

UPDATE 5/4/2022 Based on a support email I received from parallels.com, the Apple store version I had installed was parallels desktop and is not the same as the parallel Pro version I purchased on the parallels.com web site. I was sent the following link for future information, but in a nut shell, I do believe that parallels pro was required in my case.

"Difference between editions - https://kb.parallels.com/en/123796 "

Dave
  • 1
  • Added a screencast for you above in my answer. – ylluminate May 06 '22 at 02:17
  • What would be especially cool would be advice on how to install Docker Desktop on a Ubuntu 22.04 Parallels/M1 VM. :) – Dave May 10 '22 at 16:32
  • Hmm, can you tell me something @Dave?: does Docker Desktop (normal Docker shouldn't and I'm not familiar with the "Desktop" nomenclature so perhaps it's a different product) require nested virtualization? Eg it runs qemu/kvm on top of the Linux distribution instead of LXC/kernel layering? Nested virtualization, and I just learned this recently from Apple and it broke my heart since I feel like I've bought into Apple Silicon too soon now, is not supported on the M1* series chips, but may/should be available on M2* systems... – ylluminate May 10 '22 at 20:29
  • Dave, I suppose you must be referring to https://www.docker.com/products/docker-desktop/. This appears to have direct macOS on Apple Silicon support now... Why are you wanting to run this on Ubuntu? In looking at the Linux version (https://docs.docker.com/desktop/linux/install/) I do see kvm mentioned, so I suspect that yes indeed it will require nested virtualization and probably won't be possible to run it in a vm guest like this on macOS Parallels... – ylluminate May 11 '22 at 05:06
  • Sorry for the late reply. I was referring to the docker.com/products/docker-desktop product. I was attempting to set up an experiment on Linux (Ubuntu 30.04 or 22.04) on my MacBook Pro/M1 whereby I could experiment, in Linux, with containers, deploying Docker containers, etc. purely on a MacBook. I could do this on my other MacBook Pro/Intel but this was more of a test of what can be done with the M1. That said, you comment on nested virtualization may make this a show stopper. Thanks for entertaining my question though. It can be interesting to push the limits to see what can be done. – Dave May 12 '22 at 13:51
  • BTW, thanks so much for your excellent help on the topic of installing Ubuntu/Parallels/M1. Really appreciated. – Dave May 12 '22 at 13:53
  • Welcome. Docker itself does seem to work... (I dislike Docker, but it does work :)) I think you're just not able to use any Docker instances that do some additional vm stuff. For example, try following this tutorial to install Docker AFTER YOU MAKE A SNAPSHOT OF YOUR GUEST SO YOU CAN REVERT IF YOU MESS UP: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04 -- Then when you get to docker run hello-world it should work. You also can then docker pull alpine & then docker run -it alpine. You'll see that you're in and it works. – ylluminate May 12 '22 at 18:51
  • Dave, I added more details for you in my answer above as well. – ylluminate May 12 '22 at 19:02
  • Thanks ylluminate. I appreciate your help. I think Ubuntu has something that is an alternative to Docker as well. I forget what it is called, but I may investigate that as well. I'm not partial to other. Just investigating a platform to pre-package applications for learning. – Dave May 14 '22 at 12:30
  • 1
    Thanks again, ylluminate. I just took a snapshot, installed docker and all is running. Your help is very much appreciated. I was thinking that maybe I will try to run a Ubuntu container in a Ubuntu VM. :) Not really, just seems to be very recursive-like. Best Dave – Dave May 14 '22 at 12:59
  • 1
    So, now I have:
    1. Ubuntu 22.04 running in a Parallels Version 17.1.2 (51548) on a... MacBook Pro (16-inch, 2021)

    Apple M1 Pro 32GB Memory 2. Docker version 20.10.16, build aa7e414

    Sweet!

    – Dave May 14 '22 at 13:00
  • Dave, I do like/prefer LXC (Ubuntu is kinda reforming this area to "LXD") and Proxmox is an awesome solution for using LXCs (Linux Containers). Docker is actually partially built atop this as well, as far as I understand, and when possible uses it (such as using Docker directly as we're doing and installing other Linux distros such as recursive-Ubuntu, Alpine, etc...). I'd love to see Proxmox become more robust for managing other scenarios and then we could dump straight Docker and a lot of the other mess that's encroaching upon the devops department. – ylluminate May 14 '22 at 18:04
  • The main draw to docker is Windows/Mac/Ubuntu cross-platform. I use all three (Mac/Ubuntu/Windows in that preference) mainly due to the tools and what I need to support. Is LXD going to be strictly Ubuntu? – Dave May 15 '22 at 22:57
  • LXC/LXD is built atop the Linux kernel so as to facilitate very light additional operating system (distribution) instances. This allows Linux to use the same kernel and memory across the board which is much more efficient than virtualization, but yes, it has to be used with Linux. Docker is facilitating this same thing and this is why you can run multiple Linux instances (distributions) at the same time with Docker proper while Docker Desktop uses virtualization and has the nested virtualization problem that you're seeing with trying to use it on macOS... – ylluminate May 16 '22 at 03:36
0

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