How to Run Linux on RISC-V with QEMU Emulator

ucbvax login: root


    ____                   ____                     __    _                

   / __ )__  _________  __/ __ )___  ____ ______   / /   (_)___  __  ___  __

  / __  / / / / ___/ / / / __  / _ / __ `/ ___/  / /   / / __ / / / / |/_/

/ /_/ / /_/ (__  ) /_/ / /_/ /  __/ /_/ / /     / /___/ / / / / /_/ />  <  

/_____/__,_/____/__, /_____/___/__,_/_/     /_____/_/_/ /_/__,_/_/|_|  


root@ucbvax:~# uname -a

Linux ucbvax 4.14.000032gd10799b22913dirty #79 Sun Dec 17 10:41:31 NZDT 2017 riscv64 GNU/Linux

root@ucbvax:~# df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/root                58.0M     44.9M      8.6M  84% /

devtmpfs                 59.8M         0     59.8M   0% /dev

none                     59.9M         0     59.9M   0% /tmp

none                     59.9M         0     59.9M   0% /var/tmp

root@ucbvax:~# cat /proc/cpuinfo

hart : 0

isa : rv64imafdcsu

mmu : sv48


root@ucbvax:~# busybox

BusyBox v1.27.2 (20171215 12:14:50 NZDT) multicall binary.

BusyBox is copyrighted by many authors between 19982015.

Licensed under GPLv2. See source distribution for detailed

copyright notices.


Usage: busybox [function [arguments]...]

   or: busybox list[full]

   or: busybox install [s] [DIR]

   or: function [arguments]...


BusyBox is a multicall binary that combines many common Unix

utilities into a single executable.  Most people will create a

link to busybox for each function they wish to use and BusyBox

will act like whatever it was invoked as.


Currently defined functions:

[, [[, addshell, addgroup, adduser, ar, arp, arping, ash, awk, base64,

basename, blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat,

chattr, chgrp, chmod, chown, chpasswd, chroot, chrt, cksum, clear,

comm, cp, cpio, crond, crontab, cut, date, dd, delgroup, deluser, df,

diff, dirname, dmesg, dos2unix, dpkg, dpkgdeb, du, echo, ed, egrep,

env, expand, expr, factor, fallocate, false, fdisk, fgrep, find,

findfs, flock, fold, fsck, fsfreeze, fsync, fuser, getty, grep, groups,

gunzip, gzip, halt, head, hostid, hostname, id, ifconfig, ifdown, ifup,

inetd, init, install, iostat, ip, ipaddr, iplink, ipneigh, iproute,

iprule, iptunnel, kill, killall, klogd, last, less, link, ln, logger,

login, logname, logread, losetup, ls, lsattr, lsof, lspci, lsscsi,

lsusb, lzcat, lzma, makedevs, man, md5sum, microcom, mkdir, mkdosfs,

mke2fs, mkfifo, mkfs.ext2, mkfs.vfat, mknod, mkpasswd, mkswap, mktemp,

more, mount, mv, nameif, nc, netstat, nice, nl, nohup, nproc, nslookup,

ntpd, od, partprobe, passwd, paste, patch, pgrep, pidof, ping, ping6,

pipe_progress, pivot_root, pkill, pmap, poweroff, printenv, printf, ps,

pstree, pwd, pwdx, rdev, readlink, realpath, reboot, removeshell,

renice, reset, rev, rm, rmdir, route, rpm, rpm2cpio, runparts,

runlevel, script, sed, seq, setpriv, setserial, setsid, sh, sha1sum,

sha256sum, sha3sum, sha512sum, shred, shuf, sleep, sort, split,

ssl_client, startstopdaemon, stat, strings, stty, su, sum, swapoff,

swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, taskset,

tee, telnet, test, time, timeout, top, touch, tr, traceroute,

traceroute6, true, truncate, tty, tunctl, tune2fs, udhcpc, uevent,

umount, uname, uncompress, unexpand, uniq, unix2dos, unlink, unlzma,

unshare, unxz, unzip, uptime, users, usleep, uudecode, uuencode, vi, w,

wall, watch, wc, wget, which, who, whoami, whois, xargs, xxd, xz,

xzcat, yes, zcat