openSUSE:AArch64

Jump to: navigation, search

AArch64 (also known as ARMv8) is the name for the new 64-bit ARM architecture.

Testing openSUSE images

On real hardware

If you have AArch64 hardware, you can try openSUSE on it. If your platform is EFI enabled, just use one of the available EFI image from:

Geeko-white.png
Tumbleweed (Factory)
https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/
Geeko-white.png
Leap 15.6
http://download.opensuse.org/distribution/leap/15.6/appliances/

ISOs are also available if your platform has an optical drive or accessible USB port:

Geeko-white.png
Tumbleweed (Factory)
http://download.opensuse.org/ports/aarch64/factory/iso/
Geeko-white.png
Leap 15.6
http://download.opensuse.org/distribution/leap/15.6/iso/

And follow the steps on HCL:AArch64_EFI page. Otherwise, go to Portal:Arm page where are listed supported platforms with instructions for each one.

Using an emulator

You can use QEMU. Foundation v8 emulator provided by ARM is deprecated.

QEMU

QEMU installation

Install qemu-arm using zypper or YaST:

 zypper install qemu-arm qemu-uefi-aarch64

Your qemu must support AArch64 systems. To check it, try to run:

 qemu-system-aarch64 -cpu help

The instructions below expect "cortex-a57" to be included in the output of that command. If your qemu is too old, you can use the qemu version from Virtualization project on OBS (open Build Service): http://software.opensuse.org/package/qemu-arm

Running openSUSE

Running openSUSE from raw image

Download the wanted image from:

Geeko-white.png
Tumbleweed

JeOS-efi E20-efi XFCE-efi LXQT-efi KDE-efi X11-efi

Extract compressed image:

 tar xJf  openSUSE-Tumbleweed-ARM-*-efi.aarch64-*.raw.xz

and run it (here, with 2 cpu cores, 2048M for RAM, net enabled):

 qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios /usr/share/qemu/qemu-uefi-aarch64.bin \
 -serial stdio -device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 -net user,vlan=0,name=hostnet0 \
 -drive if=none,file=openSUSE-Tumbleweed-ARM-*-efi.aarch64-*.raw,id=hd0  -device virtio-blk-device,drive=hd0

You can add graphics and mouse and keyboard by adding the following options:

-device virtio-gpu-pci -device nec-usb-xhci -device usb-tablet -device usb-kbd

If you do not want to have a window to show the screen, but rather use VNC to connect to it, adds:

-vnc :91

Then, you will be able to connect to it with vncviewer or any other VNC client:

vncviewer IP:5991 # Replace IP by localhost or the remote IP of your host, and 5991 by the port number matching 5900 + previous qemu port value

You can add hda sound by adding the following options:

-soundhw hda

You can use HugePages if you configured it on host:

-mem-prealloc -mem-path /dev/hugepages/

And if on an aarch64 system, do not forget to add KVM:

 -enable-kvm

If your QEMU version does not support parameter 'vlan', you can replace the virtio-net-device by:

 -device virtio-net,netdev=hostnet0,mac=52:54:00:09:a4:37 -netdev user,id=hostnet0
Installing openSUSE using ISO image

Create an empty disk (e.g. 32G):

 qemu-img create hdd_aarch64.img 32G

Download the wanted ISO image:

Geeko-white.png
Tumbleweed

DVD or NET install

Start the system on ISO image, with empty disk created previously (here, with 2 cpu cores, 2048M for RAM, net enabled, one ISO drive and one HDD):

qemu-system-aarch64 -m 2048 -cpu cortex-a57 -smp 2 -M virt -bios /usr/share/qemu/qemu-uefi-aarch64.bin \
 -serial stdio -device virtio-net-device,vlan=0,id=net0,mac=52:54:00:09:a4:37 -net user,vlan=0,name=hostnet0 \
 -drive if=none,file=openSUSE-Tumbleweed-*-aarch64-*-Media.iso,id=hd0 -device virtio-blk-device,drive=hd0 \
 -drive if=none,file=hdd_aarch64.img,id=hd1  -device virtio-blk-device,drive=hd1

You can add graphics and mouse and keyboard by adding the following options:

-device virtio-gpu-pci -device nec-usb-xhci -device usb-tablet -device usb-kbd

If you do not want to have a window to show the screen, but rather use VNC to connect to it, adds:

-vnc :91

Then, you will be able to connect to it with vncviewer or any other VNC client:

vncviewer IP:5991 # Replace IP by localhost or the remote IP of your host, and 5991 by the port number matching 5900 + previous qemu port value


You can add hda sound by adding the following options:

-soundhw hda

And if on an aarch64 system, do not forget to add KVM:

-enable-kvm

If your QEMU version does not support parameter 'vlan', you can replace the virtio-net-device by:

-device virtio-net,netdev=hostnet0,mac=52:54:00:09:a4:37 -netdev user,id=hostnet0

Your system will boot on ISO install image. Just follow instructions to install it on the empty virtual disk.

Arm FVP Base emulator (slow)

Tools installation

If not installed, please download Armv-A Base RevC AEM FVP (FVP_Base_RevC-2xAEMvA_11.21_15_Linux64.tgz for x86 and FVP_Base_RevC-2xAEMvA_11.21_15_Linux64_armv8l.tgz for aarch64) from https://developer.arm.com/Tools%20and%20Software/Fixed%20Virtual%20Platforms and extract it.

 tar xf FVP_Base_RevC-2xAEMvA_11.21_15_Linux64*.tgz

You also need to install arm-trusted-firmware-fvp from Tumbleweed repository or from hardware:boot repository.

Running openSUSE

Download the JeOS-efi from:

Geeko-white.png
Tumbleweed
http://download.opensuse.org/ports/aarch64/factory/appliances/

Extract compressed image:

 tar xf  openSUSE-Tumbleweed-ARM-*-efi.aarch64-*.raw.xz

and start it:

 ./Base_RevC_AEMvA_pkg/models/Linux64_armv8l_GCC-9.3/FVP_Base_RevC-2xAEMvA -C bp.flashloader0.fname=/usr/share/arm-trusted-firmware-fvp/fip.bin -C bp.secureflashloader.fname=/usr/share/arm-trusted-firmware-fvp/bl1.bin -C cache_state_modelled=0 -C bp.virtioblockdevice.image_path=openSUSE-Tumbleweed-ARM-JeOS-efi.aarch64-*.raw
Multiple windows are opened. Terminal0 window is where kernel traces and login prompt will appear.

Foundation V8 emulator (deprecated)

Tools installation

If not installed, please download Foundation_v8 (FM000-KT-00035-r0p8-44rel23.tgz) from http://www.arm.com/fvp (need registration to be able to download it) and extract it.

 tar xzf FM000-KT-00035-r0p8-44rel23.tgz

Download AXF image (kernel + DTB + kernel cmdline) from http://releases.linaro.org/12.12/openembedded/aarch64/img-foundation.axf


Running openSUSE

Download the JeOS-efi, or E17-efi, or XFCE-efi, or LXQT-efi image from:

Geeko-white.png
Tumbleweed
http://download.opensuse.org/ports/aarch64/factory/images/

Extract compressed image:

 tar xJf  openSUSE-Tumbleweed-ARM-*-efi.aarch64-*.raw.xz

and run it:

 ./Foundation_v8 --image img-foundation.axf --block-device  openSUSE-Tumbleweed-ARM-*-efi.aarch64-*.raw --network=nat
An xterm should appear after a few seconds. Please note that Foundation v8 emulator is very slow.

See also