FalcoGer
Posts: 37
Joined: Mon Jul 09, 2018 6:35 am

Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Aug 09, 2018 5:39 pm

Overview
After a lot of messing around and plenty of trial and error I managed to find a way to install Ubuntu 18.04 for ARM64 on the Raspberry Pi3B.
To save you the headaches I had, I have compiled this step by step guide. Basic common sense required, please don't just copy+paste the code segments, but instead read through the instructions and have some idea what the code does and if needed adjust to your specific case.

To install Ubuntu in this fashion, you need to do the following steps:
  • Format the SD Card
  • Put the Ubuntu Net Installer onto the SD Card
  • Install Ubuntu
  • Fix the bootloader
  • Configure OS
Most of the information is from here: https://wiki.ubuntu.com/ARM/RaspberryPi ... .2FAArch64
However there are some Issues and I'd like to give a step by step manual where everything is in the correct order.

For the manual you need a working linux distribution, either native or on a VM.
I used Ubuntu 18.04 AMD64 Desktop version on Oracle VM, but anything should be okay.

Format SD Card
First you need to put the SD card into your linux desktop. If you're using a VM, then pass through the USB card reader to it before inserting the SD card. Otherwise windows might want to format it for you or create SystemVolumeInformation or other such nonsense.
Insert the card. If it was mounted automatically, then unmount it.

Get Ubuntu for your desktop/laptop or use a VM (like vmware or oracle vm) with ubuntu, 64bit
If using a vm, then pass through the usb card reader to it.
Insert the sd card into your desktop pc
if not installed, install gparted on your linux machine. Of course parted works fine too, if you prefer the console.

With GParted
  • Delete partition table on SD Card
  • Create msdos partition table on SD Card
  • Create Primary Partion 1 with FAT32 about 128MB
  • Set 'Boot' Flag
Leave the rest empty. It will be formatted during the installation.

Mount the partition to /mnt, actual drive device may vary (meaning it might not be sdb, check gparted for the name)

Code: Select all

sudo mount /dev/sdb1 /mnt
This is where the bootloader and the net installer image goes later.
Installing the net installer onto the partition
Now that the device is formatted and you can work on getting the net installer onto the SD card

Get the bootloader

Code: Select all

wget http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/raspberrypi-bootloader_1.20180417-1_armhf.deb
dpkg-deb -x raspberrypi-bootloader_1.20180417-1_armhf.deb ~/Desktop/pi-bootloader
rm raspberrypi-bootloader_1.20180417-1_armhf.deb
sudo cp ~/Desktop/pi-bootloader/boot* /mnt
Get and crosscompile UBoot

Code: Select all

sudo apt-get install build-essential bison flex git make gcc gcc-aarch64-linux-gnu
git clone --progress http://git.denx.de/u-boot.git
cd u-boot
make rpi_3_defconfig
make CROSS_COMPILE=aarch64-linux-gnu-
sudo cp u-boot.bin /mnt/kernel8.img
cd ..
Copy the device tree blob (.dtb)
(although I have no idea where it is stated that it should be loaded or even what it does)

Code: Select all

wget http://ports.ubuntu.com/dists/bionic/main/installer-arm64/current/images/device-tree/bcm2837-rpi-3-b.dtb
sudo mkdir /mnt/dtb/broadcom/
sudo cp bcm2837-rpi-3-b.dtb /mnt/dtb/broadcom
Download the net installer mini-iso and copy it onto the sd card
Get the iso from here: https://www.ubuntu.com/download/server/arm
Select the net installation.

Code: Select all

mkdir /tmp/mini-iso
sudo mount -o loop mini.iso /tmp/mini-iso
sudo cp -rT /tmp/mini-iso /mnt
mkdir /tmp/efi-img
sudo mount -o loop /tmp/mini-iso/boot/grub/efi.img /tmp/efi-img
sudo cp -rT /tmp/efi-img /mnt
sudo umount /tmp/efi-img
sudo umount /tmp/mini-iso
Force write changes and unmount the card.
This is to make sure everything was written correctly to the card.

Code: Select all

sync
sudo umount /mnt
now you have a bootable sd card that can be used to install ubuntu from network

Install Ubuntu using the net installer onto SD Card
  • Stick the card into the Raspberry Pi 3B
  • Boot it up.
  • Select Install
  • Set Locale, Keyboard layout, Geographic position, etc
  • Partition disk. (I use a 16GB SD Card like this:
    • 128MB Fat32 boot partition (part1) - select this partition to not be altered! (i.e. not used)
    • 1.5GB swap partition (part2)
    • rest ext4 mounted on / (part3))
  • Additional software: Don't install desktop environment at this point, openssh if wanted
  • Grub installation (expectedly) fails -> continue without bootloader
  • set clock to utc
at this point you have ubuntu installed, but can't actually boot to it.
Bend grub.cfg to boot ubuntu automatically
After a restart you will be prompted to install Ubuntu again. Do not select an option, and instead press the C-key to drop into the shell.
There use

Code: Select all

ls
to figure out what your drives are called. Mine were (hd0,msdos1), (hd0,msdos2) and (hd0,msdos3)
Set the root file system with

Code: Select all

set root=(hd0,msdos3)
and then try to read the file system with

Code: Select all

ls /
This should list a unix file system root with all the typical directories in them. (/var, /run/, /tmp, /root, /usr, /bin, /etc, ...), if so then that's your ubuntu installation.
Try to manually boot Ubuntu with

Code: Select all

set root=(hd0,msdos3) # if not done already
linux /boot/vmlinuz root=/dev/mmcblk0p3
initrd /boot/initrd.img
boot
If this works then you're almost done.

So shut down the pi and put the SD card back into your desktop linux that you used to make your SD card and mount partition 1 where the net installer is. Then go to /boot/grub/ and edit grub.cfg (on the SD card, not your local machine.)

At the top, after some color settings, there should be a line like this:

Code: Select all

insmod gzio
so just below that add

Code: Select all

set timeout=10

menuentry 'Ubuntu' {
	set background_color=black
	set root=(hd0,msdos3)
	linux /boot/vmlinuz root=/dev/mmcblk0p3
	initrd /boot/initrd.img
}
menuentry 'UbuntuOLD' {
	set background_color=black
	set root=(hd0,msdos3)
	linux /boot/vmlinuz.old root=/dev/mmcblk0p3
	initrd /boot/initrd.img.old
}
Now you're all done!

To boot from USB you need to change out /dev/mmcblk0p3 to /dev/sda3 I think.
also you might want to call

Code: Select all

ls
From the grub shell to make sure it's (hd0)
This is of course not safe if you plug multiple usb devices and/or sd cards in as this will shift the hard drive numbers around.
EDIT: I figured out how to use UUIDs to reference the partitions in grub. See the Final Touches section below.
Your OTP memory on your pi3b (not +) needs to be set to allow USB booting first, but I suppose you could use Raspbian for that.
I havn't tried booting my Ubuntu setup from USB yet

Boot and configure your new, shiny Ubuntu for arm64
It takes some time to boot. so give it 2 or 3 minutes.
There are also 4 error messages that some grub files are not found. You can ignore those messages, it boots anyway.
EDIT: They can not be safely ignored. Sometimes (I don't know the mechanism for that) it will promt you to 'press any key to continue'. How to fix the errors is down in the Final Touches section.

After installing and correct booting you can install your desktop environment if you desire.

Code: Select all

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xubuntu-desktop
Or whichever one you want.

For me there is an issue where the Desktop hangs due to my specific HDMI monitor. This is a faulty HDMI (VC4) kernel module. You don't actually need it, so it can be safely blacklisted.
REF: https://fedoraproject.org/wiki/Architec ... Usage_Tips

on your pi, or add it from your desktop linux.

Code: Select all

echo blacklist vc4 > /etc/modprobe.d/blacklist-vc4.conf
Hope this helps.

Final touches
To get rid of the boot errors from grub because of missing .mod files copy the files from
https://packages.debian.org/jessie/arm6 ... n/download
to (part1)/boot/grub/arm64-efi/


You can switch out the hard links to partion and hard drive numbers in grub config with your drives UUIDs
First open a shell in your ubuntu on your pi and type

Code: Select all

sudo blkid
this will list all your drives with their UUIDs.
change your grub config in this way:

Code: Select all

menuentry 'Ubuntu' {
	set background_color=black
	# set root=(hd0,msdos3)
	search --no-floppy --fs-uuid --set=root <UUID HERE>
	# linux /boot/vmlinuz root=/dev/mmcblk0p3
	linux /boot/vmlinuz root=UUID=<UUID HERE>
	initrd /boot/initrd.img
}
menuentry 'UbuntuOLD' {
	set background_color=black
	# set root=(hd0,msdos3)
	search --no-floppy --fs-uuid --set=root <UUID HERE>
	# linux /boot/vmlinuz.old root=/dev/mmcblk0p3
	linux /boot/vmlinuz.old root=UUID=<UUID HERE>
	initrd /boot/initrd.img.old
}
To set up autologin like raspbian:
create /etc/ligtdm/lightdm.conf with the following content:

Code: Select all

[Seat:*]
autologin-user=<USERNAME>
autologin-user-timeout=0
Make grub pretty (xterm):
get unicode.pf2 from (part3)/boot/grub/fonts/unicode.pf2 and copy it to (part1)/boot/grub/fonts/unicode.pf2
before the menuentry settings in grub.cfg add the following lines

Code: Select all

# menu color and gzio goes up here

# load graphics
font=unicode
if loadfont $font ; then
    set gfxmode=auto
    insmod all_video
    insmod gfxterm
    set locale_dir=$prefix/locale
    set lang=en_US # or whatever else you have
    insmod gettext
fi
terminal_output gfxterm

# menu goes down here
note: I mainly copied the lines from my VM ubuntu's grub config. I checked in the grub console on the pi all the if [ x$feature_whatever_feature = xy ]
you can check with
echo $feature_whatever_feature and check if it's 'y'
and then copied the relevant branch.
This might not work for you.

WiFi
I didn't personally try this yet, but for sure it doesn't work by default. I don't need it though.
REF: https://wiki.ubuntu.com/ARM/RaspberryPi#WiFi
Last edited by FalcoGer on Wed Aug 15, 2018 12:15 pm, edited 16 times in total.

jahboater
Posts: 4463
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Aug 09, 2018 5:57 pm

Many thanks for this well written tutorial.
I'll try it ASAP.

FalcoGer
Posts: 37
Joined: Mon Jul 09, 2018 6:35 am

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Aug 09, 2018 6:20 pm

jahboater wrote:
Thu Aug 09, 2018 5:57 pm
Many thanks for this well written tutorial.
I'll try it ASAP.
tell me how it goes for you. and be prepared, even with a good connection this will take you at least half a day. At least all the installing does. and there are a couple of times when the pi wants your prompts during installation, so you need to have a look over every few minutes.

jahboater
Posts: 4463
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Fri Aug 10, 2018 9:59 am

Does this work for the new Pi3B+ ?

User avatar
procount
Posts: 1651
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Fri Aug 10, 2018 10:12 am

Great tutorial - I may use it to build my own Ubuntu 18.04 version and distribute it via PINN.

In the meantime, for those who can't or don't want to build it themselves, PINN can install the Raspex 64-bit version of Ubuntu 18.04.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

FalcoGer
Posts: 37
Joined: Mon Jul 09, 2018 6:35 am

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Fri Aug 10, 2018 12:42 pm

jahboater wrote:
Fri Aug 10, 2018 9:59 am
Does this work for the new Pi3B+ ?
no clue, I don't have one. you can try it out and post your results though.
I don't see why it wouldn't work.

User avatar
procount
Posts: 1651
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Fri Aug 10, 2018 2:14 pm

The Raspex version works with 3B+ so I suspect this version will too, but I don't know for sure.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

jahboater
Posts: 4463
Joined: Wed Feb 04, 2015 6:38 pm

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Sat Aug 11, 2018 6:13 am

Its complaining about my compiler .....

Code: Select all

$ make CROSS_COMPILE=aarch64-linux-gnu-
scripts/kconfig/conf  --syncconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
*** Your GCC is older than 6.0 and is not supported
arch/arm/config.mk:66: recipe for target 'checkgcc6' failed
make: *** [checkgcc6] Error 1
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --disable-multilib --enable-languages=c,c++ --enable-checking=no
Thread model: posix
gcc version 8.2.0 (GCC) 

FalcoGer
Posts: 37
Joined: Mon Jul 09, 2018 6:35 am

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Sat Aug 11, 2018 8:06 am

that's odd.
It worked just fine for me on Ubuntu 18.04 LTS on oracle virtual box. after apt-getting build-essentials.
you might want to try that.

Sosha
Posts: 2
Joined: Wed Aug 08, 2018 3:38 pm

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Sat Aug 11, 2018 8:14 am

jahboater wrote:
Fri Aug 10, 2018 9:59 am
Does this work for the new Pi3B+ ?
i boot ubuntu server 18.04 arm64 successfully on raspberry pi 3B+, but showing message to me: "Net: No Ethernet Found."
This is a similar problem that I had with a ubuntu server 18.04 armhf. The boot time in the "start of network service", stopping and did not continue.

I got really tired :(...

FalcoGer
Posts: 37
Joined: Mon Jul 09, 2018 6:35 am

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Tue Aug 14, 2018 4:18 pm

So did this actually work for anyone but me?

huww98
Posts: 4
Joined: Thu Sep 06, 2018 2:05 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Sep 06, 2018 2:16 pm

I have successfully get into GRUB, however I can't select Install, my keyboard is not recognized, I have no idea what goes wrong.
I'm working with Raspberry Pi 3B.

I have tried two keyboard.
with the first one, U-boot reports "USB0: Scanning bus 0 for devices... cannot reset port 3!7"
with the second one, U-boot reports "USB device not accepting new address (error=0)"

Can anyone help me with this? Thanks in advance.

pdf
Posts: 1
Joined: Wed Nov 28, 2018 9:58 am

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Nov 28, 2018 10:25 am

I had problems with grub not working correctly after rebooting from the installer. These are the steps to produce a properly functioning system (including `update-grub` working as expected for kernel upgrades):

Repair grub before rebooting

When the installer produces the prompt explaining that installation of the bootloader has failed, switch to a new console via <ALT>+F2 and hit Enter to get to the terminal.

Code: Select all

# Ensure that /target/sys is mounted so grub tooling doesn't complain
mount |grep /target/sys || mount --rbind /sys /target/sys
# Enter target chroot
chroot /target /bin/bash
# Add bootloader partition as /boot/efi
echo '/dev/mmcblk0p1 /boot/efi vfat rw,noatime,nodiratime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2' >> /etc/fstab
mkdir /boot/efi
mount /boot/efi
# If you ran the installer from the bootloader partition, remove installer cruft (optional)
rm -rf /boot/efi/linux /boot/efi/initrd.gz /boot/efi/.disk /boot/efi/efi/boot/bootaa64.efi /boot/efi/boot
# Install new grub EFI loader and modules
grub-install --removable --target=arm64-efi --boot-directory=/boot --efi-directory=/boot/efi
# Update grub config (optional?)
update-grub
# Clean up chroot
exit
umount /target/boot/efi
umount /target/boot/sys
Now you should have properly installed grub modules, and a standard grub efi application that can read the grub configuration from the ext4 partition (using the one bundled with the ISO installer doesn't work for booting the installed system directly).

Go back to the installer with <ALT>+F1 and complete the process there by choosing not to install the bootloader, then when you reboot you should drop straight into your fresh installation, no further changes required, and you won't have to mess with your grub configs for new kernels.

code_exec
Posts: 271
Joined: Sun Sep 30, 2018 12:25 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Nov 28, 2018 4:06 pm

Never had good experiences with Ubuntu distributed through the minimal ISO. It went off screen on my TV and used the OpenGL driver. I managed to use xrandr to resize it to the size of my TV, but the desktop environment freezes each time I do something like open Chromium. I've had similar problems with OpenGL on Raspbian before, so I'll blame the GL driver for that.

Might as well make my own image using qemu-debootstrap and try to get the keyboard working (previously when trying debootstrap and trying to run the outcome on the Pi, I've never got further than the login prompts).
Ubuntu 18.04 LTS desktop images for the Raspberry Pi 3.

https://github.com/CodeExecution/Ubuntu-ARM64-RPi

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 22733
Joined: Sat Jul 30, 2011 7:41 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Nov 28, 2018 4:26 pm

code_exec wrote:
Wed Nov 28, 2018 4:06 pm
Never had good experiences with Ubuntu distributed through the minimal ISO. It went off screen on my TV and used the OpenGL driver. I managed to use xrandr to resize it to the size of my TV, but the desktop environment freezes each time I do something like open Chromium. I've had similar problems with OpenGL on Raspbian before, so I'll blame the GL driver for that.

Might as well make my own image using qemu-debootstrap and try to get the keyboard working (previously when trying debootstrap and trying to run the outcome on the Pi, I've never got further than the login prompts).
The ARM side driver, what is called the OpenGL driver (although it encompasses a lot more than that), is still in beta test. So it is to be expected there may be problems.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

code_exec
Posts: 271
Joined: Sun Sep 30, 2018 12:25 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Nov 28, 2018 6:28 pm

jamesh wrote:
Wed Nov 28, 2018 4:26 pm
code_exec wrote:
Wed Nov 28, 2018 4:06 pm
Never had good experiences with Ubuntu distributed through the minimal ISO. It went off screen on my TV and used the OpenGL driver. I managed to use xrandr to resize it to the size of my TV, but the desktop environment freezes each time I do something like open Chromium. I've had similar problems with OpenGL on Raspbian before, so I'll blame the GL driver for that.

Might as well make my own image using qemu-debootstrap and try to get the keyboard working (previously when trying debootstrap and trying to run the outcome on the Pi, I've never got further than the login prompts).
The ARM side driver, what is called the OpenGL driver (although it encompasses a lot more than that), is still in beta test. So it is to be expected there may be problems.
It's been in beta for over two years now, any plans for a stable release anytime soon?
Ubuntu 18.04 LTS desktop images for the Raspberry Pi 3.

https://github.com/CodeExecution/Ubuntu-ARM64-RPi

feelslikeautumn
Posts: 307
Joined: Wed Aug 09, 2017 9:51 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Nov 28, 2018 7:18 pm

code_exec wrote:
Wed Nov 28, 2018 4:06 pm
but the desktop environment freezes each time I do something like open Chromium.
https://bugs.launchpad.net/ubuntu/+sour ... ug/1803206

vinaypundith
Posts: 42
Joined: Thu Dec 13, 2018 12:04 pm
Location: Lexington Park, MD, USA, North America, Earth

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Dec 13, 2018 2:12 pm

I just found out that a readymade image of ARM64 Ubuntu Server 18.04 is available for the Raspberry Pi 3! It is available at http://cdimage.ubuntu.com/releases/18.04/beta/. This image also works out of the box with the Pi 3B+. Simply download the image and write it to an SD card just like you would for a Raspbian image.
The built in WiFi also works without making any changes.

To install a GUI, type at the command line:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core
(for the MATE desktop. You can also install different GUIs)

NOTE: This OS really hogs RAM. I had 4 programs (Firefox, File manager, Synaptic, and the text editor) running in the MATE desktop and it quickly filled my Pi 3B+'s 920MB RAM and the 450MB ZRAM swap that I had setup and made the whole raspberry freeze/lock up. (The 32-bit Ubuntu Mate 16.04 was able to handle many more programs running without filling the RAM like that)
Also, after installing the GUI, it was not able to connect to the ethernet network, giving an error saying "device not managed".

EDIT: It seems that my RAM issue was due to trying to run Firefox. I ran Firefox 64.0 on Ubuntu Mate 32-bit 18.04 and it also filled RAM and froze. The reason it worked on UbuntuMate 16.04 was probably that 16.04 only worked with Firefox 52.0, which being older must have been less RAM-eating.
Last edited by vinaypundith on Wed Jan 02, 2019 8:59 am, edited 1 time in total.
I'm setting up a webpage and email server on a Pi 3B+ running Ubuntu Mate 18.10.
Please read the Unanswered topics section and help with whatever you can!

kljsandjb
Posts: 1
Joined: Sun Dec 16, 2018 7:58 am

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Sun Dec 16, 2018 8:01 am

vinaypundith wrote:
Thu Dec 13, 2018 2:12 pm
I just found out that a readymade image of ARM64 Ubuntu Server 18.04 is available for the Raspberry Pi 3! It is available at http://cdimage.ubuntu.com/releases/18.04/beta/. This image also works out of the box with the Pi 3B+. Simply download the image and write it to an SD card just like you would for a Raspbian image.
The built in WiFi also works without making any changes.
Also, unlike the 32-bit ARMHF operating systems, this does not require you to use Firefox ESR (v52). It will work with the latest version (64.0 as of writing this.
To install a GUI, type at the command line:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core
(for the MATE desktop. You can also install different GUIs)

NOTE: This OS really hogs RAM. I had 4 programs (Firefox, File manager, Synaptic, and the text editor) running in the MATE desktop and it quickly filled my Pi 3B+'s 920MB RAM and the 450MB ZRAM swap that I had setup and made the whole raspberry freeze/lock up. (The 32-bit Ubuntu Mate 16.04 was able to handle many more programs running without filling the RAM like that)
Also, after installing the GUI, it was not able to connect to the ethernet network, giving an error saying "device not managed".
You saved my day ! :)

Kidist
Posts: 1
Joined: Wed Dec 26, 2018 1:52 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Dec 26, 2018 2:45 pm

vinaypundith wrote:
Thu Dec 13, 2018 2:12 pm
I just found out that a readymade image of ARM64 Ubuntu Server 18.04 is available for the Raspberry Pi 3! It is available at http://cdimage.ubuntu.com/releases/18.04/beta/. This image also works out of the box with the Pi 3B+. Simply download the image and write it to an SD card just like you would for a Raspbian image.
The built in WiFi also works without making any changes.
Also, unlike the 32-bit ARMHF operating systems, this does not require you to use Firefox ESR (v52). It will work with the latest version (64.0 as of writing this.
To install a GUI, type at the command line:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core
(for the MATE desktop. You can also install different GUIs)

NOTE: This OS really hogs RAM. I had 4 programs (Firefox, File manager, Synaptic, and the text editor) running in the MATE desktop and it quickly filled my Pi 3B+'s 920MB RAM and the 450MB ZRAM swap that I had setup and made the whole raspberry freeze/lock up. (The 32-bit Ubuntu Mate 16.04 was able to handle many more programs running without filling the RAM like that)
Also, after installing the GUI, it was not able to connect to the ethernet network, giving an error saying "device not managed".
That looks great!
What is the username and password for login?

n67
Posts: 939
Joined: Mon Oct 30, 2017 4:55 pm

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Wed Dec 26, 2018 4:49 pm

procount wrote:
Fri Aug 10, 2018 2:14 pm
The Raspex version works with 3B+ so I suspect this version will too, but I don't know for sure.
In terms of user-visible differences, what is the difference between these two (the "Raspbex" version and OP's version) ?
"L'enfer, c'est les autres"

G fytc hsqr rum umpbq rm qyw rm rfc kmbq md rfgq dmpsk:

Epmu Sn!

J lnacjrw njbruh-carppnanm vxm rb mnuncrwp vh yxbcb!

vinaypundith
Posts: 42
Joined: Thu Dec 13, 2018 12:04 pm
Location: Lexington Park, MD, USA, North America, Earth

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Dec 27, 2018 8:08 am

Kidist wrote:
Wed Dec 26, 2018 2:45 pm
vinaypundith wrote:
Thu Dec 13, 2018 2:12 pm
I just found out that a readymade image of ARM64 Ubuntu Server 18.04 is available for the Raspberry Pi 3! It is available at http://cdimage.ubuntu.com/releases/18.04/beta/. This image also works out of the box with the Pi 3B+. Simply download the image and write it to an SD card just like you would for a Raspbian image.
The built in WiFi also works without making any changes.
Also, unlike the 32-bit ARMHF operating systems, this does not require you to use Firefox ESR (v52). It will work with the latest version (64.0 as of writing this.
To install a GUI, type at the command line:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core
(for the MATE desktop. You can also install different GUIs)

NOTE: This OS really hogs RAM. I had 4 programs (Firefox, File manager, Synaptic, and the text editor) running in the MATE desktop and it quickly filled my Pi 3B+'s 920MB RAM and the 450MB ZRAM swap that I had setup and made the whole raspberry freeze/lock up. (The 32-bit Ubuntu Mate 16.04 was able to handle many more programs running without filling the RAM like that)
Also, after installing the GUI, it was not able to connect to the ethernet network, giving an error saying "device not managed".
That looks great!
What is the username and password for login?
The username is "ubuntu" and the password is "ubuntu". It does not have any password for root, but you can set one with the command "sudo passwd root".
If you are able to solve the RAM usage issue, please tell me how you did it! I wanted to use a 64 bit OS but that stopped me :|
I'm setting up a webpage and email server on a Pi 3B+ running Ubuntu Mate 18.10.
Please read the Unanswered topics section and help with whatever you can!

vinaypundith
Posts: 42
Joined: Thu Dec 13, 2018 12:04 pm
Location: Lexington Park, MD, USA, North America, Earth

Re: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Dec 27, 2018 8:28 am

n67 wrote:
Wed Dec 26, 2018 4:49 pm
procount wrote:
Fri Aug 10, 2018 2:14 pm
The Raspex version works with 3B+ so I suspect this version will too, but I don't know for sure.
In terms of user-visible differences, what is the difference between these two (the "Raspbex" version and OP's version) ?
From my experience, here are the main differences:
1> Raspex is built like a CLI operating system with just a GUI installed, and not many (configuration) tools to go with it. It does have some (like a simple network connection manager), but these are too basic and not of much use. (Installing another GUI the way you'd do on Ubuntu Server might fix this.)
2> I personally find LXDE less user- and tweaker-friendly than other GUIs. It does use less system resources though.
3> When I installed Raspex (via PINN), it gave me a lot of trouble connecting to the Ubuntu Ports repository, e.g failing to get the InRelease file, saying "No public key" or something like that. (I don't remember the exact error.) This caused it to not be able to install many programs, saying that there are "broken packages".
4> Raspex has more Pi-specific software pre-installed, like the raspi-config tool, which Ubuntu Server does not have. (Ubuntu Mate, Lubuntu, Xubuntu and such with-GUI distributions do have them)
EDIT:
5> Raspex has the Raspbian repositories also set up, in addition to the Ubuntu repository. To enable them, go to /etc/apt/sources.list and uncomment them. The Raspbian programs should also work with Ubuntu, though. (but you'll need to manually add the repository)
6> The Ubuntu version being mentioned in this thread is Ubuntu Server, which has extra server-specific software installed. Raspex does not, and has home use software installed instead (which Ubuntu Server does not have much of).

Basically, Raspex is like an "Ubuntu-based Raspbian", while the other Ubuntu distros are more like the Ubuntu you find for regular computers.
Last edited by vinaypundith on Fri Dec 28, 2018 8:07 am, edited 2 times in total.
I'm setting up a webpage and email server on a Pi 3B+ running Ubuntu Mate 18.10.
Please read the Unanswered topics section and help with whatever you can!

n67
Posts: 939
Joined: Mon Oct 30, 2017 4:55 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Dec 27, 2018 9:05 am

Basically, Raspex is like an "Ubuntu-based Raspbian", while the other Ubuntu distros are more like the Ubuntu you find for regular computers.
Thank you. I guess there are pluses and minuses to everything.

When I get a chance, I'll try out Raspex via PINN.
"L'enfer, c'est les autres"

G fytc hsqr rum umpbq rm qyw rm rfc kmbq md rfgq dmpsk:

Epmu Sn!

J lnacjrw njbruh-carppnanm vxm rb mnuncrwp vh yxbcb!

code_exec
Posts: 271
Joined: Sun Sep 30, 2018 12:25 pm

Re: Tutorial: How to install Ubuntu 18.04 for ARM64 on Raspberry Pi 3B

Thu Jan 03, 2019 6:47 am

code_exec wrote:
Wed Nov 28, 2018 4:06 pm
Might as well make my own image using qemu-debootstrap and try to get the keyboard working (previously when trying debootstrap and trying to run the outcome on the Pi, I've never got further than the login prompts).
Seems like my keyboard didn't work because I didn't install kernel modules. Installing them solved the problem.
Ubuntu 18.04 LTS desktop images for the Raspberry Pi 3.

https://github.com/CodeExecution/Ubuntu-ARM64-RPi

Return to “Other”