[Перевод] Xv6: учебная Unix-подобная ОС. Инструменты для сборки и запуска xv6 под QEMU

ccd7a5f8ef5d5e65364f8b21172c5a64

Эта инструкция — приложение к книге об учебной ОС xv6.

Xv6 работает на RISC-V. Для сборки кода xv6 и запуска под QEMU понадобятся RISC-V версии инструментов: QEMU 5.1+, GDB 8.3+, GCC, и Binutils.

Debian и Ubuntu

sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

Arch Linux

sudo pacman -S riscv64-linux-gnu-binutils riscv64-linux-gnu-gcc riscv64-linux-gnu-gdb qemu-emulators-full

Установка под Windows

Рекомендуем избавиться от Windows установить Linux или использовать WSL2 — Windows Subsystem for Linux 2.

Используйте Windows Terminal вместо Powershell/Command Prompt.

Убедитесь, что используете WSL2. WSL1 устроена иначе, что ведет к проблемам при запуске лабораторных работ. Скомандуйте wsl -l -v в терминале и убедитесь, что работает WSL2 и подходящая версия Ubuntu.

Установите

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

Вы найдете файлы WSL в директории "\\wsl$\". Пример: домашняя директория пользователя Ubuntu 20.04 доступна как "\\wsl$\Ubuntu-20.04\home\\".

Запуск виртуальной машины Linux

Linux работает и под виртуальной машиной. Выбирайте платформу:

VirtualBox работает медленнее и предлагает меньше настроек, зато бесплатный.

Загрузите установочный диск ОС, например Ubuntu Desktop для 64-битной машины. Создайте 64-битную виртуальную машину, установите ОС с диска и запустите.

Установка на macOS

Инструментарий разработчика:

xcode-select --install

Менеджер пакетов Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Инструменты для сборки под RISC-V:

brew tap riscv/riscv
brew install riscv-tools

Добавьте путь к компилятору в $PATH:

PATH=$PATH:/usr/local/opt/riscv-gnu-toolchain/bin

Установите QEMU:

brew install qemu

Проверка работы

Теперь вы можете собрать и запустить xv6, как это описано в первой лабораторной работе:

cd xv6-riscv/
make qemu

Убедитесь, что установлена подходящая версия QEMU:

$ qemu-system-riscv64 --version
QEMU emulator version 5.1.0

и одна из RISC-V версий компилятора GCC:

$ riscv64-linux-gnu-gcc --version
riscv64-linux-gnu-gcc (Debian 10.3.0-8) 10.3.0
...
$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (GCC) 10.1.0
...
$ riscv64-unknown-linux-gnu-gcc --version
riscv64-unknown-linux-gnu-gcc (GCC) 10.1.0
...

© Habrahabr.ru