openSUSE:AArch64
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:
Tumbleweed (Factory)
|
https://download.opensuse.org/ports/aarch64/tumbleweed/appliances/ |
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:
Tumbleweed (Factory)
|
http://download.opensuse.org/ports/aarch64/factory/iso/ |
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:
Tumbleweed
|
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:
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:
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
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:
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
See also
- AArch64 pages on Fedora wiki: https://fedoraproject.org/wiki/Category:AArch64
- List of changed/unchanged packages in Fedora: http://fedorapeople.org/groups/armv8/SRPMs/f17/
- Linaro armv8 page: http://www.linaro.org/engineering/armv8/
- Debian AArch64 page: http://wiki.debian.org/Arm64Port
- ARMv8 at ARM website: http://www.arm.com/products/processors/armv8-architecture.php