Skip to content

Application Level Emulator for RISCV32: capable of running GNU coreutils and Busybox

License

Notifications You must be signed in to change notification settings

chillancezen/Hyrule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Core Features:
. statically linked riscv32 Linux applications. 
. userspace trapping and scheduling.
. mutltiprocessing and multithreading.
. an enhanced debugger.
. more and more GNU coreutils and Busybox tools.


Features on the way:
* dynamic linking.
* signaling.
* futex.
* networking.

Usage:
$VERBOSITY=5 ROOT=/home/linky/Hyrule/root/ sandbox/vmx root/bin/bash
bash: initialize_job_control: no job control in background: No such process
bash-5.0# uname -a
ZeldaLinux hyrule 5.4.0 v2020.03 riscv32 GNU/Linux
bash-5.0# ls -l /
total 24
drwxrwxr-x    2 1000     1000          4096 May  2 01:56 bin
drwxrwxr-x    2 1000     1000          4096 Apr  4 14:34 coreutils
drwxrwxr-x    2 1000     1000          4096 Mar 21 04:33 dev
drwxrwxr-x    2 1000     1000          4096 May  2 07:05 etc
lrwxrwxrwx    1 1000     1000            11 Mar 21 04:33 init -> bin/busybox
lrwxrwxrwx    1 1000     1000            11 Mar 21 04:33 linuxrc -> bin/busybox
drwxrwxr-x    2 1000     1000          4096 Mar 21 04:33 sbin
drwxrwxr-x    4 1000     1000          4096 Mar 21 04:33 usr
bash-5.0# pwd
/
bash-5.0# cat > text
Hello World
bash-5.0# ls
bin        coreutils  dev        etc        init       linuxrc    sbin       text       usr
bash-5.0# cat -n text
     1	Hello World
bash-5.0# cp text text.bak
bash-5.0# ls -l
total 32
drwxrwxr-x    2 1000     1000          4096 May  2 01:56 bin
drwxrwxr-x    2 1000     1000          4096 Apr  4 14:34 coreutils
drwxrwxr-x    2 1000     1000          4096 Mar 21 04:33 dev
drwxrwxr-x    2 1000     1000          4096 May  2 07:05 etc
lrwxrwxrwx    1 1000     1000            11 Mar 21 04:33 init -> bin/busybox
lrwxrwxrwx    1 1000     1000            11 Mar 21 04:33 linuxrc -> bin/busybox
drwxrwxr-x    2 1000     1000          4096 Mar 21 04:33 sbin
-rw-rw-r--    1 1000     1000            12 May  2 07:13 text
-rw-rw-r--    1 1000     1000            12 May  2 07:13 text.bak
drwxrwxr-x    4 1000     1000          4096 Mar 21 04:33 usr
bash-5.0# rm -f text*
bash-5.0# ls
bin        coreutils  dev        etc        init       linuxrc    sbin       usr
bash-5.0#



System Call Inventory of Hyrule:
17: getcwd
23: dup
24: dup3
25: fnctl
29: ioctl
35: unlinkat
48: faccessat
49: chdir
56: openat
57: close
61: getdents64
62: lseek
63: read
64: write
66: writev
71: sendfile
72: pselect
78: readlinkat
93: exit
94: exit_group
96: set_tid_address
99: set_robust_list
113: clock_gettime
129: kill
134: sigaction
135: sigprocmask
155: getpgid
160: uname
163: getrlimit
169: gettimeofday
172: getpid
173: getppid
174: getuid
175: getuid
176: getuid
177: getuid
179: sysinfo
198: socket
214: brk
215: munmap
220: clone (*)
221: execve (*)
222: mmap
226: mprotect
233: madvice
260: wait4
291: statx

About

Application Level Emulator for RISCV32: capable of running GNU coreutils and Busybox

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages