tiqwab / xv6-rust

xv6 implementation in rust
MIT License
6 stars 1 forks source link

xv6 implementation in Rust.

### run OS
$ make qemu

### run OS with debug log
$ make DEBUG=1 qemu

### debug OS with GDB
$ make qemu-gdb

# in another console
$ make gdb
# (if required) reset symbol-file to debug user library
(gdb) symbol-file user/sh
...

### QEMU monitor (at the same console executing qemu)
# press Ctrl+A and then C
(qemu)
...
# press Ctrl+A and then C again to go back

A simple shell supports redirect and pipe.

$ ls
.            1 1 512
..           1 1 512
hello        2 2 21384
filetest     2 3 26128
sh           2 4 39604
argstest     2 5 21444
malloctest   2 6 26812
ls           2 7 31692
pwd          2 8 21436
mkdir        2 9 21528
echo         2 10 21644
whello       2 11 21744
cat          2 12 25880
pipetest     2 13 26132
wc           2 14 26528
console      3 15 0

$ ls > one.txt

$ cat one.txt
.            1 1 512
..           1 1 512
hello        2 2 21384
filetest     2 3 26128
sh           2 4 39604
argstest     2 5 21444
malloctest   2 6 26812
ls           2 7 31692
pwd          2 8 21436
mkdir        2 9 21528
echo         2 10 21644
whello       2 11 21744
cat          2 12 25880
pipetest     2 13 26132
wc           2 14 26528
console      3 15 0
one.txt      2 16 366

$ ls | wc
17 68 388