Как скомпилировать и запустить xv6 на windows?

Нас учат xv6 в нашем курсе. В настоящее время мы используем для входа на сервер Linux нашей школы, используя замазку в Windows.

Там мы вносим изменения в исходный код xv6 (используя vim), затем компилируем и запускаем его в qemu просто

make clean
make
make qemu-nox

Не всегда возможно подключиться к их серверам, поэтому я хочу иметь возможность компилировать и запускать xv6 без окон (очевидно, в некоторых эмуляторах).

Какой эмулятор я могу использовать для вышеуказанной работы? (редактировать код, компилировать и запускать) и как?

6 ответов

Решение

Ну, есть разумные инструкции о том, как создать среду для сборки и использования XV6 под Windows на сайте http://www.cs.mta.ac.il/~carmi/Teaching/OS.xv6/index.html. Эмулятор, который они используют для запуска - Bochs.

Если вы хотите использовать WSL (подсистему Windows для Linux) в Windows 10, это может помочь.

Следуйте инструкциям относительно Windows здесь или

Шаг 1: включите и настройте WSL после этого.

Шаг 2: запустите WSL bash и установите необходимые материалы на WSL.

  • открыть CMD
  • тип cd <xv6-source-path>
  • тип bash и это переключит CMD в bash WSL
  • затем sudo apt-get update && sudo apt-get install git nasm build-essential qemu gdb

Шаг 3: отключите видеоустройство для qemu в Makefile.

  • Откройте Makefile в исходном каталоге xv6 в любом текстовом редакторе.

  • найти строку, начинающуюся с

QEMUOPTS =

  • присоединять -display none в эту строку и сохраните файл.

Шаг 4: введите команды linux like в этом терминале, т.е.

  • первый make
  • затем make qemu

Теперь, если все в порядке, вы должны быть в терминале xv6

Вы можете запустить Linux внутри VirtualBox, что даст вам ту же среду на вашем компьютере, что вы используете на школьном сервере. Тогда вы можете продолжить запускать xv6 в qemu. Для этого вам понадобится достаточно мощная машина - двухъядерный процессор с 4G памяти - это минимум, с которым я бы попытался.

Я бы тоже выбрал какое-то решение для виртуальной машины (как предложено TMN), но, возможно, стоит попробовать построить его на Cygwin, если у вас нет оборудования для запуска достаточно специализированной виртуальной машины.

Я пробовал выше, но make qemu-nox дал мне эту ошибку:

Cannot set up guest memory 'pc.ram': Cannot allocate memory

Я открыл графический интерфейс Virtual Box, щелкнул правой кнопкой мыши на виртуальной машине, когда она была выключена (остановлена), я щелкнул правой кнопкой мыши на виртуальной машине, затем щелкнул вкладку "система" и изменил объем памяти материнской платы более чем на 2000 МБ.

После этого я побежал:

make
make qemu-nox

Это сработало для меня, хотя ничего больше не сработало.

Мне удалось собрать и запустить xv6 с помощью командной строки (cmd.exe) в Windows 10. Вот что я сделал. Ни в Linux, ни в среде Windows10 + WSL, ни в среде Windwos10 + Cygwin или MSYS, я создал ее в Windows10 с помощью командной строки. Для Windows вам потребуется следующее: MinGW, BusyBox и QEMU. Модифицированный мной исходный код xv6 можно загрузить по следующему URL.

https://github.com/mirokuuno/xv6-windows

Подробности описаны в разделе «Как собрать и запустить Unix-xv6 с помощью командной строки в Windows».

Другие вопросы по тегам