Install Qemu in Ubuntu Server riscv64 in Noble 24.04.1 (archived)

DownloadLink to the download information
Install QemuDetailed information on the testcase
Testcase (Report an issue with this testcase)

The scope of this test is to ensure that riscv64+unleashed and riscv64+unmatched images boot in qemu.

Boot with qemu
Follow instructions from wiki on how to boot with QEMU
Login and change password
Login using ubuntu for both username and password
Reenter ubuntu password again
Set new password
Confirm the new password
Perform generic testing
Check that apt update works
Run any command that is not installed, check that command-not-found recommends things to install
e.g. hello
Install a package and check that it works, e.g. hello
Perform snap testing
Install a snap and check that it works, e.g. hello
Poweroff
Console messages should reach poweroff target
There should be final kernel dmsg powering off
Press "CTRL+a c" and type quit

If all actions produce the expected results listed, please submit a 'passed' result.
If an action fails, or produces an unexpected result, please submit a 'failed' result and file a bug. Please be sure to include the bug number when you submit your result.

ReporterLast updateBugsComment
Passedpaelzer2024-08-29 05:13
suggested hello-world snap does not exist on all platforms (#2078323)
In: snapd
Status: New
Importance: Undecided
Assignee:
1 reports, 2 comments, 1 subscribers, 0 duplicates
2078323

1. Downloaded, verified checksum.
2. I wanted to followed the instructions trying not to fix up issues myself but must admit they are scarce at how to run it in qemu, so I did it as I would do so

I saw the "Welcome to Ubuntu 24.04.1 LTS!" on boot which is not as secure as the hash verification but another +1 on testing the right thing.

Tests:

1. Login and change password

Ubuntu 24.04.1 LTS ubuntu ttyS0

ubuntu login: ubuntu
Password:
You are required to change your password immediately (administrator enforced).
Changing password for ubuntu.
Current password:
New password:
Retype new password:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic riscv64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro

System information as of Thu Aug 29 08:50:37 UTC 2024

System load: 1.54
Usage of /: 50.2% of 4.18GB
Memory usage: 9%
Swap usage: 0%
Processes: 113
Users logged in: 0
IPv4 address for eth0: 10.0.2.15
IPv6 address for eth0: fec0::5054:ff:fe12:3456

Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ubuntu:~$

2. Perform generic testing

ubuntu@ubuntu:~$ sudo apt update
Hit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease [126 kB]
Hit:4 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease
Get:5 http://ports.ubuntu.com/ubuntu-ports noble/universe riscv64 Packages [14.3 MB]
Get:6 http://ports.ubuntu.com/ubuntu-ports noble/universe Translation-en [5982 kB]
Get:7 http://ports.ubuntu.com/ubuntu-ports noble/universe riscv64 Components [3415 kB]
Get:8 http://ports.ubuntu.com/ubuntu-ports noble/universe riscv64 c-n-f Metadata [277 kB]
Get:9 http://ports.ubuntu.com/ubuntu-ports noble/multiverse riscv64 Packages [168 kB]
Get:10 http://ports.ubuntu.com/ubuntu-ports noble/multiverse Translation-en [118 kB]
Get:11 http://ports.ubuntu.com/ubuntu-ports noble/multiverse riscv64 Components [30.5 kB]
Get:12 http://ports.ubuntu.com/ubuntu-ports noble/multiverse riscv64 c-n-f Metadata [6020 B]
Get:13 http://ports.ubuntu.com/ubuntu-ports noble-updates/main riscv64 Packages [330 kB]
Get:14 http://ports.ubuntu.com/ubuntu-ports noble-updates/main Translation-en [117 kB]
Get:15 http://ports.ubuntu.com/ubuntu-ports noble-updates/main riscv64 c-n-f Metadata [7696 B]
Get:16 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe riscv64 Packages [316 kB]
Get:17 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe Translation-en [143 kB]
Get:18 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe riscv64 Components [45.1 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports noble-updates/universe riscv64 c-n-f Metadata [12.9 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse riscv64 Packages [764 B]
Get:21 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse Translation-en [3608 B]
Get:22 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse riscv64 Components [212 B]
Get:23 http://ports.ubuntu.com/ubuntu-ports noble-updates/multiverse riscv64 c-n-f Metadata [116 B]
Get:24 http://ports.ubuntu.com/ubuntu-ports noble-backports/main riscv64 Components [208 B]
Get:25 http://ports.ubuntu.com/ubuntu-ports noble-backports/main riscv64 c-n-f Metadata [112 B]
Get:26 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe riscv64 Packages [8700 B]
Get:27 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe Translation-en [10.5 kB]
Get:28 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe riscv64 Components [17.7 kB]
Get:29 http://ports.ubuntu.com/ubuntu-ports noble-backports/universe riscv64 c-n-f Metadata [992 B]
Get:30 http://ports.ubuntu.com/ubuntu-ports noble-backports/restricted riscv64 Components [216 B]
Get:31 http://ports.ubuntu.com/ubuntu-ports noble-backports/restricted riscv64 c-n-f Metadata [120 B]
Get:32 http://ports.ubuntu.com/ubuntu-ports noble-backports/multiverse riscv64 Components [212 B]
Get:33 http://ports.ubuntu.com/ubuntu-ports noble-backports/multiverse riscv64 c-n-f Metadata [120 B]
Get:34 http://ports.ubuntu.com/ubuntu-ports noble-security/universe riscv64 Packages [236 kB]
Get:35 http://ports.ubuntu.com/ubuntu-ports noble-security/universe Translation-en [109 kB]
Get:36 http://ports.ubuntu.com/ubuntu-ports noble-security/universe riscv64 Components [8632 B]
Get:37 http://ports.ubuntu.com/ubuntu-ports noble-security/universe riscv64 c-n-f Metadata [9496 B]
Get:38 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse riscv64 Packages [764 B]
Get:39 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse Translation-en [2808 B]
Get:40 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse riscv64 Components [212 B]
Get:41 http://ports.ubuntu.com/ubuntu-ports noble-security/multiverse riscv64 c-n-f Metadata [116 B]
Fetched 25.9 MB in 47s (551 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
ubuntu@ubuntu:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Progress: [ 80%] [##############################################............]
ubuntu@ubuntu:~$ hello
Command 'hello' not found, but can be installed with:
sudo snap install hello # version 2.12, or
sudo apt install hello # version 2.10-3
sudo apt install hello-traditional # version 2.10-6
See 'snap info hello' for additional versions.
ubuntu@ubuntu:~$ sudo apt install hello
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
hello
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 28.9 kB of archives.
After this operation, 106 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports noble/main riscv64 hello riscv64 2.10-3build1 [28.9 kB]
Fetched 28.9 kB in 0s (58.4 kB/s)
...
(I later tried to also re-install to see if that is different, but it is ok)
ubuntu@ubuntu:~$ sudo apt install --reinstall hello
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 28.9 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports noble/main riscv64 hello riscv64 2.10-3build1 [28.9 kB]
Fetched 28.9 kB in 1s (48.4 kB/s)
(Reading database ... 82210 files and directories currently installed.)
Preparing to unpack .../hello_2.10-3build1_riscv64.deb ...
Unpacking hello (2.10-3build1) over (2.10-3build1) ...
Setting up hello (2.10-3build1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for install-info (7.1-3build2) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

ubuntu@ubuntu:~$ hello
Hello, world!

3. Perform snap testing
Well, I'm not sure that can work

ubuntu@ubuntu:~$ snap list
No snaps are installed yet. Try 'snap install hello-world'.
ubuntu@ubuntu:~$ sudo snap install hello-world
error: cannot perform the following tasks:
- Ensure prerequisites for "hello-world" are available (cannot install snap base "core": no snap revision available as specified)

So the snap snapd itself suggests is not working.
=> Bug reported but not blocking anything
=> https://bugs.launchpad.net/snapd/+bug/2078323
But others do at least
ubuntu@ubuntu:~$ sudo snap install hello
2024-08-29T09:03:43Z INFO Waiting for automatic snapd restart...
2024-08-29T09:03:44Z INFO Waiting for automatic snapd restart...
hello 2.12 from Canonical✓ installed
ubuntu@ubuntu:~$ which hello
/usr/bin/hello
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ ll /snap/bin/hello
lrwxrwxrwx 1 root root 13 Aug 29 09:05 /snap/bin/hello -> /usr/bin/snap*
ubuntu@ubuntu:~$ /snap/bin/hello
Hello, world!

4. Poweroff

ubuntu@ubuntu:~$ sudo shutdown -h 0
Shutdown scheduled for Thu 2024-08-29 09:11:55 UTC, use 'shutdown -c' to cancel.
ubuntu@ubuntu:~$ Stopping session-1.scope - Session 1 of User ubuntu...
[ OK ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[ OK ] Stopped target cloud-init.target - Cloud-init target.
[ OK ] Stopped target graphical.target - Graphical Interface.
[ OK ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[ OK ] Stopped target timers.target - Timer Units.
[ OK ] Stopped apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[ OK ] Stopped apt-daily.timer - Daily apt download activities.
[ OK ] Stopped dpkg-db-backup.timer - Daily dpkg database backup timer.
[ OK ] Stopped e2scrub_all.timer - Period…Metadata Check for All Filesystems.
[ OK ] Stopped fstrim.timer - Discard unused filesystem blocks once a week.
[ OK ] Stopped fwupd-refresh.timer - Refresh fwupd metadata regularly.
[ OK ] Stopped logrotate.timer - Daily rotation of log files.
[ OK ] Stopped man-db.timer - Daily man-db regeneration.
[ OK ] Stopped motd-news.timer - Message of the Day.
[ OK ] Stopped sysstat-collect.timer - Ru…y accounting tool every 10 minutes.
[ OK ] Stopped sysstat-summary.timer - Ge… of yesterday's process accounting.
[ OK ] Stopped systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[ OK ] Stopped update-notifier-download.t…hat failed at package install time.
[ OK ] Stopped update-notifier-motd.timer… a new version of Ubuntu available.
[ OK ] Closed lvm2-lvmpolld.socket - LVM2 poll daemon socket.
[ OK ] Closed systemd-rfkill.socket - Loa…ll Switch Status /dev/rfkill Watch.
Stopping blk-availability.service - Availability of block devices...
[ OK ] Stopped cloud-final.service - Execute cloud user/final scripts.
[ OK ] Stopped target multi-user.target - Multi-User System.
[ OK ] Stopped target getty.target - Login Prompts.
Stopping ModemManager.service - Modem Manager...
Stopping apport.service - automatic crash report generation...
Stopping cron.service - Regular ba…ground program processing daemon...
Stopping finalrd.service - Create …time dir for shutdown pivot root...
Stopping fwupd.service - Firmware update daemon...
Stopping getty@tty1.service - Getty on tty1...
Stopping packagekit.service - PackageKit Daemon...
[ OK ] Stopped plymouth-quit.service - Terminate Plymouth Boot Screen.
Stopping rsyslog.service - System Logging Service...
Stopping serial-getty@ttyS0.service - Serial Getty on ttyS0...
[ OK ] Stopped snapd.seeded.service - Wait until snapd is fully seeded.
Stopping snapd.service - Snap Daemon...
[ OK ] Stopped sysstat.service - Resets System Activity Logs.
[ OK ] Stopped systemd-machine-id-commit.…mit a transient machine-id on disk.
Stopping systemd-random-seed.service - Load/Save OS Random Seed...
Stopping udisks2.service - Disk Manager...
[ OK ] Stopped cron.service - Regular background program processing daemon.
[ OK ] Stopped ModemManager.service - Modem Manager.
[ OK ] Stopped rsyslog.service - System Logging Service.
[ OK ] Stopped getty@tty1.service - Getty on tty1.
[ OK ] Stopped serial-getty@ttyS0.service - Serial Getty on ttyS0.
[ OK ] Stopped packagekit.service - PackageKit Daemon.
[ OK ] Stopped session-1.scope - Session 1 of User ubuntu.
[ OK ] Stopped udisks2.service - Disk Manager.
[ OK ] Removed slice system-getty.slice - Slice /system/getty.
[ OK ] Removed slice system-serial\x2dget…slice - Slice /system/serial-getty.
[ OK ] Stopped target getty-pre.target - Preparation for Logins.
[ OK ] Stopped plymouth-quit-wait.service…old until boot process finishes up.
Stopping polkit.service - Authorization Manager...
Stopping systemd-logind.service - User Login Management...
Stopping user@1000.service - User Manager for UID 1000...
[ OK ] Stopped fwupd.service - Firmware update daemon.
[ OK ] Stopped polkit.service - Authorization Manager.
[ OK ] Stopped systemd-random-seed.service - Load/Save OS Random Seed.
[ OK ] Stopped systemd-logind.service - User Login Management.
[ OK ] Stopped blk-availability.service - Availability of block devices.
[ OK ] Stopped user@1000.service - User Manager for UID 1000.
Stopping systemd-user-sessions.service - Permit User Sessions...
Stopping user-runtime-dir@1000.ser…Runtime Directory /run/user/1000...
[ OK ] Stopped systemd-user-sessions.service - Permit User Sessions.
[ OK ] Stopped cloud-config.service - App…settings specified in cloud-config.
[ OK ] Stopped target cloud-config.target - Cloud-config availability.
[ OK ] Stopped target network-online.target - Network is Online.
[ OK ] Stopped target network.target - Network.
Stopping systemd-networkd.service - Network Configuration...
Stopping wpa_supplicant.service - WPA supplicant...
[ OK ] Unmounted run-user-1000.mount - /run/user/1000.
[ OK ] Stopped wpa_supplicant.service - WPA supplicant.
[ OK ] Stopped user-runtime-dir@1000.serv…r Runtime Directory /run/user/1000.
[ OK ] Stopped snapd.service - Snap Daemon.
[ OK ] Stopped systemd-networkd.service - Network Configuration.
[ OK ] Removed slice user-1000.slice - User Slice of UID 1000.
[ OK ] Stopped target network-pre.target - Preparation for Network.
[ OK ] Stopped target time-set.target - System Time Set.
[ OK ] Stopped apport.service - automatic crash report generation.
[ OK ] Stopped target basic.target - Basic System.
[ OK ] Stopped target paths.target - Path Units.
[ OK ] Stopped target remote-fs.target - Remote File Systems.
[ OK ] Stopped target remote-fs-pre.targe…reparation for Remote File Systems.
[ OK ] Stopped target slices.target - Slice Units.
[ OK ] Removed slice user.slice - User and Session Slice.
[ OK ] Stopped target sockets.target - Socket Units.
[ OK ] Closed cloud-init-hotplugd.socket - cloud-init hotplug hook socket.
[ OK ] Closed iscsid.socket - Open-iSCSI iscsid Socket.
[ OK ] Closed lxd-installer.socket - Helper to install lxd snap on demand.
[ OK ] Closed snapd.socket - Socket activation for snappy daemon.
[ OK ] Closed ssh.socket - OpenBSD Secure Shell server socket.
[ OK ] Closed syslog.socket - Syslog Socket.
[ OK ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[ OK ] Closed uuidd.socket - UUID daemon activation socket.
[ OK ] Stopped target sysinit.target - System Initialization.
[ OK ] Stopped target cryptsetup.target - Local Encrypted Volumes.
[ OK ] Stopped systemd-ask-password-conso…equests to Console Directory Watch.
[ OK ] Stopped systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[ OK ] Stopped target integritysetup.targ… Local Integrity Protected Volumes.
[ OK ] Stopped target veritysetup.target - Local Verity Protected Volumes.
[ OK ] Stopped cloud-init.service - Initi…nit job (metadata service crawler).
[ OK ] Stopped cloud-init-local.service -…al cloud-init job (pre-networking).
Stopping systemd-binfmt.service - Set Up Additional Binary Formats...
Stopping systemd-resolved.service - Network Name Resolution...
Stopping systemd-timesyncd.service - Network Time Synchronization...
[ OK ] Stopped systemd-update-done.service - Update is Completed.
[ OK ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[ OK ] Stopped systemd-journal-catalog-up….service - Rebuild Journal Catalog.
Stopping systemd-update-utmp.servi…ord System Boot/Shutdown in UTMP...
[ OK ] Stopped systemd-timesyncd.service - Network Time Synchronization.
[ OK ] Stopped systemd-resolved.service - Network Name Resolution.
[ OK ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[ OK ] Stopped systemd-modules-load.service - Load Kernel Modules.
[ OK ] Stopped systemd-binfmt.service - Set Up Additional Binary Formats.
[ OK ] Unset automount proc-sys-fs-binfmt…ormats File System Automount Point.
[ OK ] Stopped systemd-update-utmp.servic…ecord System Boot/Shutdown in UTMP.
[ OK ] Stopped systemd-tmpfiles-setup.ser…ate Volatile Files and Directories.
[ OK ] Stopped finalrd.service - Create f…untime dir for shutdown pivot root.
[ OK ] Stopped target local-fs.target - Local File Systems.
[ OK ] Stopped target snapd.mounts.target - Mounted snaps.
Unmounting boot-efi.mount - /boot/efi...
Unmounting run-snapd-ns-hello.mnt.mount - /run/snapd/ns/hello.mnt...
Unmounting snap-core20-1827.mount …t unit for core20, revision 1827...
Unmounting snap-hello-57.mount - Mount unit for hello, revision 57...
Unmounting snap-snapd-19070.mount …t unit for snapd, revision 19070...
[ OK ] Unmounted boot-efi.mount - /boot/efi.
[ OK ] Stopped systemd-fsck@dev-disk-by\x…m Check on /dev/disk/by-label/UEFI.
[ OK ] Removed slice system-systemd\x2dfs…slice - Slice /system/systemd-fsck.
[ OK ] Unmounted run-snapd-ns-hello.mnt.mount - /run/snapd/ns/hello.mnt.
[ OK ] Unmounted snap-core20-1827.mount -…unt unit for core20, revision 1827.
[ OK ] Unmounted snap-hello-57.mount - Mount unit for hello, revision 57.
[ OK ] Unmounted snap-snapd-19070.mount -…unt unit for snapd, revision 19070.
[ OK ] Stopped target snapd.mounts-pre.target - Mounting snaps.
Unmounting run-snapd-ns.mount - /run/snapd/ns...
[ OK ] Unmounted run-snapd-ns.mount - /run/snapd/ns.
[ OK ] Stopped target local-fs-pre.target…Preparation for Local File Systems.
[ OK ] Stopped target swap.target - Swaps.
[ OK ] Reached target umount.target - Unmount All Filesystems.
Stopping lvm2-monitor.service - Mo…ing dmeventd or progress polling...
Stopping multipathd.service - Devi…pper Multipath Device Controller...
[ OK ] Stopped systemd-tmpfiles-setup-dev…Create Static Device Nodes in /dev.
[ OK ] Stopped systemd-sysusers.service - Create System Users.
[ OK ] Stopped systemd-tmpfiles-setup-dev…ic Device Nodes in /dev gracefully.
[ OK ] Stopped multipathd.service - Devic…Mapper Multipath Device Controller.
[ OK ] Stopped systemd-remount-fs.service…mount Root and Kernel File Systems.
[ OK ] Stopped lvm2-monitor.service - Mon…using dmeventd or progress polling.
[ OK ] Reached target shutdown.target - System Shutdown.
[ OK ] Reached target final.target - Late Shutdown Services.
[ OK ] Finished systemd-poweroff.service - System Power Off.
[ OK ] Reached target poweroff.target - System Power Off.
[ 1546.110130] reboot: Power down
paelzer@Keschdeichel 11:12:28 ~/work/riscv64/noble-test-server

Should we somewhere in these test instructions put something like the following?
Dependencies:
- apt install opensbi u-boot-qemu qemu-system-misc
Then run the following against the downloaded image:
#!/bin/bash
# https://iso.qa.ubuntu.com/qatracker/milestones/460/builds/311641/testcas...
qemu-system-riscv64 \
-machine virt -nographic -m 2048 -smp 4 \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-device virtio-net-device,netdev=eth0 -netdev user,id=eth0,hostfwd=tcp::6666-:22 \
-drive file=riscv64/noble-test-server/noble-preinstalled-server-riscv64.img,format=raw,if=virtio

Finally, the test hints have screen commands that do not apply "Press "CTRL+a c" and type quit"

Link to the testcase revision
Passedslyon2024-08-29 04:47

ubuntu@ubuntu:~$ /snap/bin/hello
Hello, world!
ubuntu@ubuntu:~$ /usr/bin/hello
Hello, world!
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 6.8.0-41-generic #41.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 13 09:58:43 UTC 2024 riscv64 riscv64 riscv64 GNU/Linux
ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble

Link to the testcase revision
Add a test result

You need to be logged in to submit your test results.