--- tags: RISC-V, jserv --- # Assignment2: RISC-V Toolchain contributors: < [`MicahDoo`](https://github.com/MicahDoo) > ## Linux Distribution Selection Without much prior experience with Linux, I decided to take a page out of [`tobychui`](https://hackmd.io/@wIVnCcUaTouAktrkMVLEMA/SJEP_amvK)'s book and settled on Debian. Not without my own reading into this matter, though. Some articles I've read through to stick with this decision: * [Debian vs Ubuntu: What’s the Difference? Which One Should You Use?](https://itsfoss.com/debian-vs-ubuntu/) * Debian: base distribution, no-frill stability focused. Lightweight. Fast. * Ubuntu: based on Debian, more features, more up to date. * [Debian vs. Ubuntu on PhoenixNap](https://phoenixnap.com/blog/debian-vs-ubuntu) * [Difference between Fedora and Debian](https://www.geeksforgeeks.org/difference-between-fedora-and-debian/) * Fedora: less user friendly, less stable, less hardware support than Debian. ### Parallels on Apple M1 Operating on a M1 Macbook Air, my personal experience favors **Parallels** over **UTM** because the former offers a more seamless, albeit not perfect, experience with the native OS. [Here](https://linuxhint.com/run-linux-m1-based-mac/) is an article that explores current options. * 5.32 GB on disk. ## RISC-V Emulator Installation Following the instrucitons in [lab 2](https://hackmd.io/@sysprog/SJAR5XMmi#Sample-Usage-on-Ubuntu-Linux) ### gcc version ```shell parallels@ubuntu-linux-22-04-desktop:~$ riscv-none-elf-gcc -v riscv-none-elf-gcc: command not found parallels@ubuntu-linux-22-04-desktop:~$ source riscv-none-elf-gcc/setenv parallels@ubuntu-linux-22-04-desktop:~$ riscv-none-elf-gcc -v Using built-in specs. COLLECT_GCC=riscv-none-elf-gcc COLLECT_LTO_WRAPPER=/home/parallels/riscv-none-elf-gcc/bin/../libexec/gcc/riscv-none-elf/12.2.0/lto-wrapper Target: riscv-none-elf Configured with: /Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/sources/gcc-12.2.0/configure --prefix=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc --prefix=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc --infodir=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc/share/doc/info --mandir=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc/share/doc/man --htmldir=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc/share/doc/html --pdfdir=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc/share/doc/pdf --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu --target=riscv-none-elf --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libsanitizer --disable-libssp --disable-nls --disable-shared --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/libs --with-newlib --with-pkgversion='xPack GNU RISC-V Embedded GCC aarch64' --with-gnu-as --with-gnu-ld --with-system-zlib --with-sysroot=/Host/home/ilg/Work/riscv-none-elf-gcc-12.2.0-1/linux-arm64/install/riscv-none-elf-gcc/riscv-none-elf --with-native-system-header-dir=/include --with-abi=ilp32 --with-arch=rv32imac --enable-multilib Thread model: single Supported LTO compression algorithms: zlib gcc version 12.2.0 (xPack GNU RISC-V Embedded GCC aarch64) ``` :::danger Remember to change `x64` to `arm64` since I'm working this on an M1 MacBook through Parallels. :::