From 0b430687e837ed2a50603254001dbc8fe74406cf Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 7 Aug 2024 07:25:02 +0200 Subject: [PATCH] Restructuring readme with instructions for fedora --- README.md | 109 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index ed8bba5..a9566f2 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,84 @@ +# xv6 + xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C. -ACKNOWLEDGMENTS +## Testing -xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer -to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, -2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides -pointers to on-line resources for v6. +The makefile exposes several targets inspired by FreeBSD: kernel, world and fs.img -The following people have made contributions: Russ Cox (context switching, -locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin -Clements. +```bash +make -j$(nproc) kernel +make -j$(nproc) world +make -j$(nproc) fs.img +``` -We are also grateful for the bug reports and patches contributed by -Takahiro Aoyagi, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian -Chen, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi, -eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel -Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt -Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John -Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, -Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin -Liew, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan -Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel -Nider, Hayato Ohhashi, OptimisticSide, Harry Porter, Greg Price, Jude -Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya -Shigemitsu, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Rafael Ubal, -Amane Uehara, Pablo Ventura, Xi Wang, WaheedHafez, Keiichi Watanabe, -Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, -ZhUyU1997, and Zou Chang Wei. +To do everything in one sweep: +```bash +make -j$(nproc) qemu +``` +## Dependencies -The code in the files that constitute xv6 is -Copyright 2006-2022 Frans Kaashoek, Robert Morris, and Russ Cox. + - Qemu (RV) + - Make (GNU variant) + - GCC (RV) + - clang-format (optional) -ERROR REPORTS +
+Fedora + ```bash + sudo dnf install make qemu-system-riscv gcc-riscv64-linux-gnu clang-format + ``` + Alternatively, if you want all "batteries included": + `sudo dnf group install "C Development Tools and Libraries" "Development Tools"` +
-Please send errors and suggestions to Frans Kaashoek and Robert Morris -(kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching -operating system for MIT's 6.1810, so we are more interested in -simplifications and clarifications than new features. +## From upstream readme: -BUILDING AND RUNNING XV6 - -You will need a RISC-V "newlib" tool chain from -https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for -riscv64-softmmu. Once they are installed, and in your shell -search path, you can run "make qemu". +> ACKNOWLEDGMENTS +> +> xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer +> to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, +> 2000)). See also https://pdos.csail.mit.edu/6.1810/, which provides +> pointers to on-line resources for v6. +> +> The following people have made contributions: Russ Cox (context switching, +> locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin +> Clements. +> +> We are also grateful for the bug reports and patches contributed by +> Takahiro Aoyagi, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian +> Chen, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi, +> eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel +> Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt +> Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John +> Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, +> Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin +> Liew, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan +> Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel +> Nider, Hayato Ohhashi, OptimisticSide, Harry Porter, Greg Price, Jude +> Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya +> Shigemitsu, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Rafael Ubal, +> Amane Uehara, Pablo Ventura, Xi Wang, WaheedHafez, Keiichi Watanabe, +> Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, +> ZhUyU1997, and Zou Chang Wei. +> +> +> The code in the files that constitute xv6 is +> Copyright 2006-2022 Frans Kaashoek, Robert Morris, and Russ Cox. +> +> ERROR REPORTS +> +> Please send errors and suggestions to Frans Kaashoek and Robert Morris +> (kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching +> operating system for MIT's 6.1810, so we are more interested in +> simplifications and clarifications than new features. +> +> BUILDING AND RUNNING XV6 +> +> You will need a RISC-V "newlib" tool chain from +> https://github.com/riscv/riscv-gnu-toolchain, and qemu compiled for +> riscv64-softmmu. Once they are installed, and in your shell +> search path, you can run "make qemu".