Заменяем эмулятор Qemu на самосборный

В Ubuntu эмулятор Qemu вечно сломан: сейчас он собран c поддержкой CPU emulation, что фатально для xv6: make qemu-smp зависает. До этого он собирался без подержки SMP, а в 9.10 --- привязан к kvm. В общем, с ним беда. Кроме того, при использовании qemu из многих свежих версиях дистрибутивов (Ubuntu, Fedora) возникает странная проблема: ssh/scp не могут соединиться с виртуальной машиной. Радикально исправим ситуацию сбором QEmu из исходников.

Установка необходимых пакетов

Debian и Ubuntu

Поставим пакеты, необходимые для сборки эмулятора Qemu из исходников. Удалим сам qemu и известные «мешающие» пакеты (пока к ним относится oss4-dev, вряд ли он вам так нужен).

sudo apt-get build-dep qemu
sudo apt-get remove qemu qemu-.* oss4-dev 
sudo apt-get install libsdl-dev wget # это на всякий случай

Если эта команда выругалась, то добавьте примерно такую строчку (она зависит от вашего дистрибутива)

deb-src http://mirror.yandex.ru/ubuntu/ karmic universe # для Ubuntu Karmic
deb-src http://mirror.yandex.ru/ubuntu/ hardy universe # для Ubuntu Hardy

в файл /etc/apt/sources и скажите

sudo apt-get update

Fedora

Пока помогло примерно следующее.

sudo yum remove qemu
sudo yum install SDL SDL-devel wget

Сборка и установка Qemu из исходников

Скачивем.

mkdir ~/packages; cd ~/packages
wget http://dev.iu7.bmstu.ru/temp/qemu/qemu-0.11.0.tar.gz
tar xf qemu-0.11.0.tar.gz && cd qemu-0.11.0

Кофигурируем QEmu. Ниже показана команда, позволяющая эмулировать архитектуры i386, amd64 и arm.

./configure --target-list="i386-softmmu i386-linux-user x86_64-softmmu x86_64-linux-user arm-softmmu arm-linux-user" 

Убедитесь, что в выводе приведённой выше команды есть следующие строчки.

SDL support       yes
curses support    yes

Наконец, собираем и устанавливаем QEmu.

make && sudo make install

Если вы не хотите сильно портить /usr/local, можете поставить к себе вот так.

./configure --target-list="i386-softmmu i386-linux-user x86_64-softmmu x86_64-linux-user arm-softmmu arm-linux-user"--prefix=$HOME/qemu
sudo ln -s ~/qemu/bin/qemu /usr/local/bin/qemu
make && make install

Заключение

До создание своего репозитория данное решение сгодится как временное.

Обсуждать проблему можно  здесь.