Skip to content

Instantly share code, notes, and snippets.

@apivovarov
Last active May 23, 2024 05:49
Show Gist options
  • Save apivovarov/98120ffb2d92f9dfce39925801271606 to your computer and use it in GitHub Desktop.
Save apivovarov/98120ffb2d92f9dfce39925801271606 to your computer and use it in GitHub Desktop.
Run RISC-V Debian via QEMU #riscv #qemu

Run RISC-V Debian GNU/Linux bullseye/sid via QEMU.

  1. Run the latest version of Debian on regular x86_64 box (at least ver 10 Buster, better to run ver 11 Bullseye)
  2. If opensbi and u-boot-qemu packages are not found add testing apt repository (aka bullseye). Or even unstable (aka sid)
sudo vi /etc/apt/sources.list

# Add testing repo (or unstable)
deb http://cdn-aws.deb.debian.org/debian testing main
deb-src http://cdn-aws.deb.debian.org/debian testing main

sudo apt update
  1. Install riscv related packages
sudo apt install qemu-system-misc opensbi u-boot-qemu
  1. Download Debian riscv64-virt disk image from Debian Quick Image Baker. Thank you Giovanni Mascellani (gio)!
  2. Extract the archive and cd into extracted folder. The folder has disk image image.qcow2.
  3. readme.txt file inside the extracted folder has the command to run the VM, e.g. the command below uses 1G RAM and 8 cores. ssh port to connect to VM is 2222. Users are: debian/debian and root/root.
qemu-system-riscv64 -machine virt -m 1G -smp 8 -cpu rv64 \
-device virtio-blk-device,drive=hd \
-drive file=image.qcow2,if=none,id=hd \
-device virtio-net-device,netdev=net \
-netdev user,id=net,hostfwd=tcp::2222-:22 \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
-object rng-random,filename=/dev/urandom,id=rng \
-device virtio-rng-device,rng=rng \
-nographic -append "root=LABEL=rootfs console=ttyS0"

QEMU VM loading output:

OpenSBI v0.8
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name       : riscv-virtio,qemu
Platform Features   : timer,mfdeleg
Platform HART Count : 8
Boot HART ID        : 2
Boot HART ISA       : rv64imafdcsu
BOOT HART Features  : pmp,scounteren,mcounteren,time
BOOT HART PMP Count : 16
Firmware Base       : 0x80000000
Firmware Size       : 148 KB
Runtime SBI Version : 0.2

MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b109
PMP0    : 0x0000000080000000-0x000000008003ffff (A)
PMP1    : 0x0000000000000000-0xffffffffffffffff (A,R,W,X)


U-Boot 2020.10+dfsg-1 (Oct 05 2020 - 19:13:28 +0000)

CPU:   rv64imafdcsu
Model: riscv-virtio,qemu
DRAM:  1 GiB
In:    uart@10000000
Out:   uart@10000000
Err:   uart@10000000
Net:   eth0: virtio-net#1
Hit any key to stop autoboot:  0 

Device 0: QEMU VirtIO Block Device
            Type: Hard Disk
            Capacity: 10240.0 MB = 10.0 GB (20971520 x 512)
... is now current device
Scanning virtio 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
669 bytes read in 2 ms (326.2 KiB/s)
U-Boot menu
1:	Debian GNU/Linux bullseye/sid 5.10.0-1-riscv64
2:	Debian GNU/Linux bullseye/sid 5.10.0-1-riscv64 (rescue target)
Enter choice: 1
1:	Debian GNU/Linux bullseye/sid 5.10.0-1-riscv64
Retrieving file: /boot/initrd.img-5.10.0-1-riscv64
57113602 bytes read in 19 ms (2.8 GiB/s)
Retrieving file: /boot/vmlinux-5.10.0-1-riscv64
18104832 bytes read in 5 ms (3.4 GiB/s)
append: root=LABEL=rootfs rw noquiet root=LABEL=rootfs
Moving Image from 0x84000000 to 0x80200000, end=813bd000
## Flattened Device Tree blob at bf74b5a0
   Booting using the fdt blob at 0xbf74b5a0
   Using Device Tree in place at 00000000bf74b5a0, end 00000000bf74fe1d

Starting kernel ...

[    0.000000] Linux version 5.10.0-1-riscv64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-1) 10.2.1 20201207, GNU ld (GNU Binutils for Debian) 2.35.1) #1 SMP Debian 5.10.4-1 (2020-12-31)
[    0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
[    0.000000] efi: UEFI not found.
[    0.000000] Initial ramdisk at: 0x(____ptrval____) (57114624 bytes)
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000080200000-0x00000000bfffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080200000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x00000000bfffffff]
[    0.000000] software IO TLB: mapped [mem 0x00000000ba74b000-0x00000000be74b000] (64MB)
[    0.000000] SBI specification v0.2 detected
[    0.000000] SBI implementation ID=0x1 Version=0x8
[    0.000000] SBI v0.2 TIME extension detected
[    0.000000] SBI v0.2 IPI extension detected
[    0.000000] SBI v0.2 RFENCE extension detected
[    0.000000] SBI v0.2 HSM extension detected
[    0.000000] riscv: ISA extensions acdfimsu
[    0.000000] riscv: ELF capabilities acdfim
[    0.000000] percpu: Embedded 26 pages/cpu s69016 r8192 d29288 u106496
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 257544
[    0.000000] Kernel command line: root=LABEL=rootfs rw noquiet root=LABEL=rootfs
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Sorting __ex_table...
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] Memory: 887864K/1046528K available (6849K kernel code, 4414K rwdata, 4096K rodata, 299K init, 477K bss, 158664K reserved, 0K cma-reserved)
[    0.000000] random: get_random_u64 called from __kmem_cache_create+0x40/0x440 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] ftrace: allocating 25513 entries in 100 pages
[    0.000000] ftrace: allocated 100 pages with 3 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] riscv-intc: 64 local interrupts mapped
[    0.000000] plic: plic@c000000: mapped 53 interrupts with 8 handlers for 16 contexts.
[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [2]
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns
[    0.000131] sched_clock: 64 bits at 10MHz, resolution 100ns, wraps every 4398046511100ns
[    0.004323] Console: colour dummy device 80x25
[    0.008042] printk: console [tty0] enabled
[    0.009768] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000)
[    0.010025] pid_max: default: 32768 minimum: 301
[    0.010954] LSM: Security Framework initializing
[    0.011894] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.014092] AppArmor: AppArmor initialized
[    0.014208] TOMOYO Linux initialized
[    0.015184] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.015331] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.045611] rcu: Hierarchical SRCU implementation.
[    0.048841] EFI services will not be available.
[    0.052131] smp: Bringing up secondary CPUs ...
[    0.068123] smp: Brought up 1 node, 8 CPUs
[    0.079625] devtmpfs: initialized
[    0.088934] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.089523] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.099405] NET: Registered protocol family 16
[    0.101884] audit: initializing netlink subsys (disabled)
[    0.103768] audit: type=2000 audit(0.096:1): state=initialized audit_enabled=0 res=1
[    0.106390] thermal_sys: Registered thermal governor 'fair_share'
[    0.106475] thermal_sys: Registered thermal governor 'step_wise'
[    0.132474] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.518722] iommu: Default domain type: Translated 
[    0.521972] vgaarb: loaded
[    0.532679] NetLabel: Initializing
[    0.532741] NetLabel:  domain hash size = 128
[    0.532774] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.533716] NetLabel:  unlabeled traffic allowed by default
[    0.535155] clocksource: Switched to clocksource riscv_clocksource
[    0.609638] VFS: Disk quotas dquot_6.6.0
[    0.609888] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.615110] AppArmor: AppArmor Filesystem Enabled
[    0.643883] NET: Registered protocol family 2
[    0.650770] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.651081] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.651352] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.651568] TCP: Hash tables configured (established 8192 bind 8192)
[    0.652645] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.652898] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.654806] NET: Registered protocol family 1
[    0.655478] NET: Registered protocol family 44
[    0.655765] PCI: CLS 0 bytes, default 64
[    0.659760] Trying to unpack rootfs image as initramfs...
[    3.913853] Freeing initrd memory: 55772K
[    3.917213] Initialise system trusted keyrings
[    3.918964] Key type blacklist registered
[    3.919865] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    3.929255] zbud: loaded
[    3.933663] integrity: Platform Keyring initialized
[    3.933781] Key type asymmetric registered
[    3.933862] Asymmetric key parser 'x509' registered
[    3.934089] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    3.935376] io scheduler mq-deadline registered
[    3.941975] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    3.954213] 10000000.uart: ttyS0 at MMIO 0x10000000 (irq = 2, base_baud = 230400) is a 16550A
[    3.981822] printk: console [ttyS0] enabled
[    3.987736] mousedev: PS/2 mouse device common for all mice
[    3.992047] goldfish_rtc 101000.rtc: registered as rtc0
[    3.993327] goldfish_rtc 101000.rtc: setting system clock to 2021-01-07T02:23:37 UTC (1609986217)
[    3.996212] syscon-poweroff soc:poweroff: pm_power_off already claimed (____ptrval____) sbi_shutdown
[    3.996871] syscon-poweroff: probe of soc:poweroff failed with error -16
[    3.998567] ledtrig-cpu: registered to indicate activity on CPUs
[    4.000875] NET: Registered protocol family 10
[    4.285556] Segment Routing with IPv6
[    4.286408] mip6: Mobile IPv6
[    4.287112] NET: Registered protocol family 17
[    4.288156] mpls_gso: MPLS GSO support
[    4.288947] registered taskstats version 1
[    4.289390] Loading compiled-in X.509 certificates
[    4.380236] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[    4.381237] Loaded X.509 cert 'Debian Secure Boot Signer 2020: 00b55eb3b9'
[    4.382927] zswap: loaded using pool lzo/zbud
[    4.385970] Key type ._fscrypt registered
[    4.386330] Key type .fscrypt registered
[    4.386653] Key type fscrypt-provisioning registered
[    4.388282] AppArmor: AppArmor sha1 policy hashing enabled
[    5.130577] Freeing unused kernel memory: 296K
[    5.132762] Run /init as init process
Loading, please wait...
Starting version 247.2-4
[    6.091787] virtio: module verification failed: signature and/or required key missing - tainting kernel
[    6.392259] virtio_blk virtio0: [vda] 20971520 512-byte logical blocks (10.7 GB/10.0 GiB)
[    6.392819] vda: detected capacity change from 0 to 10737418240
[    6.454687]  vda: vda1
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Warning: fsck not present, so skipping root file system
[   26.893437] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null)
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.
[   27.596181] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
[   27.717205] random: fast init done
[   28.090671] systemd[1]: Inserted module 'autofs4'
[   28.236650] systemd[1]: systemd 247.2-4 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[   28.240121] systemd[1]: Detected architecture riscv64.

Welcome to Debian GNU/Linux bullseye/sid!

[   28.251976] systemd[1]: Set hostname to <debian>.
[   29.508910] systemd[1]: Queued start job for default target Graphical Interface.
[   29.516781] random: systemd: uninitialized urandom read (16 bytes read)
[   29.544966] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[   29.549069] random: systemd: uninitialized urandom read (16 bytes read)
[   29.555421] systemd[1]: Created slice system-modprobe.slice.
[  OK  ] Created slice system-modprobe.slice.
[   29.557060] random: systemd: uninitialized urandom read (16 bytes read)
[   29.563236] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[   29.567971] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[   29.572611] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[   29.593488] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[  OK  ] Set up automount Arbitrary…s File System Automount Point.
[   29.596377] systemd[1]: Reached target Local Encrypted Volumes.
[  OK  ] Reached target Local Encrypted Volumes.
[   29.598218] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[   29.599995] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[   29.601638] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[   29.603370] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[   29.609304] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[   29.613257] systemd[1]: Listening on fsck to fsckd communication Socket.
[  OK  ] Listening on fsck to fsckd communication Socket.
[   29.616747] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[   29.621846] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[   29.626621] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[   29.631816] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[   29.637568] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[   29.641637] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[   29.643617] systemd[1]: Reached target Sockets.
[  OK  ] Reached target Sockets.
[   29.663539] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[   29.680372] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[   29.700438] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[   29.719684] systemd[1]: Mounting Kernel Trace File System...
         Mounting Kernel Trace File System...
[   29.743616] systemd[1]: Starting Create list of static device nodes for the current kernel...
         Starting Create list of st…odes for the current kernel...
[   29.773743] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[   29.793675] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[   29.801435] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[   29.803912] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[   29.846686] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[   29.880868] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[   29.904492] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[   29.932613] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[   30.004347] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[   30.011195] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[   30.018874] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[   30.026510] systemd[1]: Mounted Kernel Trace File System.
[  OK  ] Mounted Kernel Trace File System.
[   30.049864] systemd[1]: Finished Create list of static device nodes for the current kernel.
[  OK  ] Finished Create list of st… nodes for the current kernel.
[   30.062598] fuse: init (API version 7.32)
[   30.084177] systemd[1]: modprobe@configfs.service: Succeeded.
[   30.099811] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[   30.120124] systemd[1]: modprobe@fuse.service: Succeeded.
[   30.127083] EXT4-fs (vda1): re-mounted. Opts: user_xattr,errors=remount-ro
[   30.130515] systemd[1]: Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Module fuse.
[   30.154161] systemd[1]: Finished Load Kernel Modules.
[  OK  ] Finished Load Kernel Modules.
[   30.167932] systemd[1]: Finished Remount Root and Kernel File Systems.
[  OK  ] Finished Remount Root and Kernel File Systems.
[   30.192962] systemd[1]: Mounting FUSE Control File System...
         Mounting FUSE Control File System...
[   30.217296] systemd[1]: Mounting Kernel Configuration File System...
         Mounting Kernel Configuration File System...
[   30.224815] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[   30.227406] systemd[1]: Condition check resulted in Platform Persistent Storage Archival being skipped.
[   30.245619] systemd[1]: Starting Load/Save Random Seed...
         Starting Load/Save Random Seed...
[   30.281214] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[   30.308693] systemd[1]: Starting Create System Users...
         Starting Create System Users...
[   30.361144] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted Kernel Configuration File System.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Finished Coldplug All udev Devices.
         Starting Helper to synchronize boot up for ifupdown...
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[   31.623722] random: crng init done
[   31.624395] random: 7 urandom warning(s) missed due to ratelimiting
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[  OK  ] Finished Helper to synchronize boot up for ifupdown.
         Starting Raise network interfaces...
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Basic System.
[  OK  ] Reached target System Time Set.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Reached target Timers.
[  OK  ] Started Regular background program processing daemon.
         Starting Remove Stale Onli…t4 Metadata Check Snapshots...
         Starting getty on tty2-tty…nd logind are not available...
         Starting System Logging Service...
[  OK  ] Started System Logging Service.
[  OK  ] Finished getty on tty2-tty… and logind are not available.
[  OK  ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[  OK  ] Finished Raise network interfaces.
[  OK  ] Reached target Network.
         Starting OpenBSD Secure Shell server...
         Starting Permit User Sessions...
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Getty on tty2.
[  OK  ] Started Getty on tty3.
[  OK  ] Started Getty on tty4.
[  OK  ] Started Getty on tty5.
[  OK  ] Started Getty on tty6.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.

Debian GNU/Linux bullseye/sid debian ttyS0

debian login: debian
Password: 
Linux debian 5.10.0-1-riscv64 #1 SMP Debian 5.10.4-1 (2020-12-31) riscv64

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

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
debian@debian:~$ cat /etc/issue
Debian GNU/Linux bullseye/sid \n \l

debian@debian:~$ uname -a
Linux debian 5.10.0-1-riscv64 #1 SMP Debian 5.10.4-1 (2020-12-31) riscv64 GNU/Linux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment