diff --git a/README.md b/README.md index d4a9b104..955d6fe4 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,29 @@ # Cartesi Machine Emulator Tools -The Cartesi Machine Emulator Tools a repository that contains a set of tools developed for the RISC-V Linux OS. +The Cartesi Machine Emulator Tools is a repository that contains a set of tools developed for the RISC-V Linux OS. It provides a RISC-V Debian package and a root filesystem for Ubuntu 22.04. ## Getting Started -Users looking to create cartesi-machine applications can use the artifact directly, no need to build this repository themselves. Also check the `example/` folder for the details. +Users looking to create cartesi-machine applications can use the provided Debian package and root filesystem directly, without needing to build this repository themselves. ### Requirements - Docker >= 18.x - GNU Make >= 3.81 +- bsdtar >= 3.7.2 +- xgenext2fs >= 1.5.3 ### Docker buildx setup +To set up riscv64 buildx, use the following command: + ```bash $ make setup ``` ### Building -A `make` invocation will download the dependencies if they are not present, build the ubuntu sdk, all tools and finally create the `machine-emulator-tools-$VERSION.tar.gz` artifact. +Invoking make will build all tools and create the `machine-emulator-tools-$VERSION.deb` Debian package along with the `rootfs-tools-$VERSION.ext2` root filesystem artifacts. ```bash $ make @@ -27,13 +31,17 @@ $ make #### Makefile targets -The following options are available as `make` targets: - -- **tgz**: create "machine-emulator-tools.tar.gz" -- **setup**: setup riscv64 buildx -- **setup-required**: check if riscv64 buildx setup is required -- **clean**: clean generated artifacts -- **help**: list makefile targets +The following commands are available as `make` targets: + +- **all**: Build Debian package and rootfs (Default) +- **deb**: Build machine-emulator-tools.deb package +- **fs**: Build rootfs.ext2 +- **setup**: Setup riscv64 buildx +- **setup-required**: Check if riscv64 buildx setup is required +- **help**: List Makefile commands +- **env**: Print useful Makefile variables as a KEY=VALUE list +- **clean**: Remove the generated artifacts +- **distclean**: Clean and remove dependencie ## Contributing