The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

FreeBSD QEMU + Windows 2000: новые подробности. (qemu freebsd emulator windows)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: qemu, freebsd, emulator, windows,  (найти похожие документы)
From: Bachilo Dmitry <root@solink.ru.> Newsgroups: email Date: Mon, 23 Jun 2006 14:31:37 +0000 (UTC) Subject: FreeBSD QEMU + Windows 2000: новые подробности. В статье http://community.livejournal.com/ru_root/710103.html описывался процесс установки Windows 2000. Сатья просто замечательная, но в ней есть упущения, делающие прямой подход к QEMU по статье невозможным. Во-первых в командах запуска QEMU не указана раскладка клавиатуры, что в результате сдвигает всю клавиатуру на 1 клавишу вправо и делает её практически неюзабельной, особенно функциональные клавиши. Во-вторых не указаны некоторые особенности модуля ускорения kqemu и особенности установки Windows 2000. В-третьих, указан стомегабитный сетевой адаптер, не определяющийся в Windows 2000, а следовательно такой винде никак не попасть в сеть, адаптер надо эмулировать другой. Не знаю как у других, а у меня Windows 2003 не увидела вообще ни одного из эмулируемых адаптеров и её попытка её установки таким образом вообще бессмысленна. Ну и главная ошибка автора этой статьи в том, что он предложил использовать какой-то древний бриджинг, совершенно нефункциональный и неудобный (ну это субъективно). Кроме того не рассказано, как быть, если установка идет с Windows-машины с иксами, ведь если виртуальная винда для входа попросит нажать Ctrl+Alt+Del под Windows это невозможно будет сделать. Выход предоставляет сам QEMU. И так, что же собственно предлагается? Лично я бы написал эту статью так: +++ Задача Поставить Windows 2000 Server на qemu под FreeBSD и удаленно ей управлять. +++ Сборка и установка # cd /usr/ports/emulator/qemu # make -DWITH_KQEMU -DWITH_HACKS && make install clean +++ Установка Windows Создаем образ жесткого диска для Windows размером 4Гб: # mkdir /usr/local/win # qemu-img create /usr/local/win/win.img 4096M Лично я ставил это всё на сервер в стойке и потому не имея монитора экспортировал окно QEMU на Windows. Для этого поднял простой X-Server X-Deep и всё, куда проще, чем поднимать Cygwin. И так, во фре, даем команду export DISPLAY=xxx.xxx.xxx.xxx:0 где ххх - это адрес виндоуз машины. Если процесс идет с этой же машины через путти - всё равно. Никаких манипуляций с путти не требуется. Ставим Windows с образа компакт-диска или прямо с диска (тогда -cdrom /dev/acd0): # qemu -k ru -win2k-hack -full-screen -localtime -m 512 \ -cdrom /tmp/win.iso -boot d /usr/local/win/win.img -m 512 ___ количество памяти, которое QEMU отожрет от физической машины. ВНИМАНИЕ! Не давайте отожрать лишнего. Если QEMU съест всю память и весь SWAP, он будет убит. -win2k-hack - чтобы винда не начала жаловаться на отсутствие места на диске. Нужно только при установке. Потом эта опция будет только замедлять работу с диском. -k - чтобы не сдвигать клавиатуру, -full-screen, чтобы работала мышь. Таковы уж виндовые иксы. Когда Windows попросит для входа нажать Ctrl+Alt+Delete, нажмите Ctrl+Alt+3 и попадете в консоль QEMU. Наберите там sendkey ctrl-alt-delete нажмите энтер и затем нажмите Ctrl+Alt+2 чтобы вернуться в виртуальную машину. +++ KQemu KQemu - модуль ядра, обеспечивающий акселерацию qemu, без него вся затея имхо теряет смысл. Подгружаем его: # kldload kqemu Чтобы подгружался автоматически при старте системы, пишем в /boot/loader.conf: kqemu_load="YES" ВНИМАНИЕ! Когда этот модуль включен, в лог и нулевую консоль сыпется мусор типа __kernel: npxdna: fpcurthread == curthread 33966 times__ где-то одна строчка в секунду в течение всего времени, пока запущен QEMU с этим кернел-модулем. Но без него действительное медленнее. ОДНАКО! Если памяти у вас совсем мало, например 256 мегабайт, использование модуля имеет строго обратный эффект. Будьте внимательны. +++ Сеть Как только Windows установлена, сразу хочется увидеть ее работоспособность в сети, для этого: Создаем /etc/qemu-ifup (там по умолчанию qemu ищет скрипт для "-net tap"), туда пишем: kldload bridge sysctl net.link.ether.bridge.enable=1 sysctl net.link.ether.bridge.ipfw=1 # эту строчку пишем, если хотим использовать ipfw для фильтрования # пакетов внутри моста через ipfw. По умолчанию не нужна. sysctl net.link.ether.bridge.ipf=1 # эту строчку пишем, если хотим фильтровать пакеты внутри моста # через ipfilter. По умолчанию не нужна. sysctl net.link.ether.bridge.config=rl0,tap0 # где rl0 - физический сетевой интерфейс, через который виртуальная винда # должна будет видеть вашу сеть. Крайне желательно, чтобы у вас в сети был DHCP-сервер. Windows как-то странно ведет себя со статическим адресом, но может быть, это только у меня... Потом, конечно: # chmod +x /etc/qemu-ifup +++ Использование Запускаем qemu: # qemu -k ru -kernel-kqemu -full-screen -localtime -boot c \ /usr/local/win/win.img -net nic -net tap -m 512 В Windows я поотключал всякие ненужные сервисы и прочее, дал доступ к Terminal Service и залогинился со своей машины. На FreeBSD затем я зафаерволил все нежелательные порты Windows. +++ Уводим в бэкграунд У меня qemu с Windows запускается при загрузке из rc.local следующей строкой: /usr/local/bin/screen -dmS qemu /usr/local/bin/qemu -nographic -parallel null \ -serial null -monitor null -k ru -kernel-kqemu -localtime -net nic -net tap \ -m 512 -boot c /usr/local/win/win.img & Вот и всё.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, DukeArtem (ok), 18:49, 23/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мои коментария:
    Молодца!
     
  • 1.2, VecH (??), 19:23, 23/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ушел пробовать
    автор маладца
     
  • 1.3, Квагга (?), 20:54, 23/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Медленно, блын.

    Зато научился Цигвин ставить и удаленно юзать Гнома с Виндового терминала :)

    Но для демо\тестов\экспериментов Кему конечно рульз!

     
  • 1.4, mikevmk (?), 23:50, 24/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пошу прощения, но я в заметке http://community.livejournal.com/ru_root/710103.html
    1) описывал установку 2003, а не 2000 и ей, как показала практика, не требуется опция -win2k-hack
    2) Проблем с раскладкой у меня не возникло
    3) Сетевой интерфейс отлично увиделся. И дефолтный (на 10 Мб) и другой (на 100)
    4) Ctrl-alt-del - это не проблема, потому что установленая 2003 с сетью замечательно пускает на удаленный рабочий стол одного алминистратора
    5) Бриджинг - да каюсь. Просто был взят тот, который хорошо мне известен :)

    Так что, видимо, у нас какие-то расхождения в условиях или версиях софта

     
     
  • 2.5, Bocha (??), 04:34, 25/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Да, так скорее всего и есть, для того я и написал свою версию статьи - на случай, если у меня не одного такой список проблем. Ваш Оригинал - просто отличная статья, мне она очень помогла, я лишь дописал то, что мне пришлось изменить, чтобы всё это реально заработало в моих условиях.
     

  • 1.6, chip (??), 00:43, 26/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Ну и главная ошибка автора этой статьи в том,  что он предложил использовать какой-то древний бриджинг, совершенно нефункциональный и неудобный

    Использование bridge, как раз и является устаревшим подходом. man bridge наглядно это демонстрирует (с ПЕРВЫХ строк!!!):
         This bridge implementation is made obsolete by: if_bridge(4) and will be removed from future releases.

     
     
  • 2.7, Bocha (??), 08:33, 26/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    :-)))) Если я всё правильно понял, это было сделано еще в 5.3 и стех пор bridge=if_bridge.
    Но если я и ошибаюсь, то это не меняет главного - автор оригинала предлодил использовать бриджинг, который нельзя фаерволить. Или как я сказал "совершенно нефункциональный и неудобный", я не говорю "старый" и не говорю что мой сверхсовременный и лучший. Просто в bridge есть поддержка ipfw. Всё.
     
     
  • 3.8, chip (??), 10:43, 26/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >:-)))) Если я всё правильно понял, это было сделано еще в 5.3
    >и стех пор bridge=if_bridge.

    bridge!=if_bridge и по сей день. Обе технологии сосуществуют параллельно.

    >Но если я и ошибаюсь, то это не меняет главного - автор
    >оригинала предлодил использовать бриджинг, который нельзя фаерволить.

    Это так критично для виртуальной машины? Что мешает firewall'ить выходной интерфейс? Учитывая то, что адрес виртуальной машины известен.

    > Или как я сказал
    >"совершенно нефункциональный и неудобный", я не говорю "старый" и не говорю
    >что мой сверхсовременный и лучший. Просто в bridge есть поддержка ipfw.

    А разве ipfw привязан к конкретной реализации моста?! ipfw заслуживает отдельного писания о костылестроении.


     
     
  • 4.10, Bocha (ok), 07:08, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не читали саму статью чтоли? Я же сказал, на сервере уже стоит самба и винс-сервер, если поднять винду и не зафаерволить её 135-139 порты, она перекроет самбу на физическом сервере и сеть пойдет к чертям, проверено. Фаерволить физический сервер никакого смысла не имеет, мне ведь не надо фаерволить самбу, только винду. На bridge этот фаерволинг раздельно возможен, на ng_bridge - нет.
     
     
  • 5.13, chip (ok), 11:02, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Вы то упоминаете if_bridge, то ng_bridge Остановитесь таки на чем-нибудь А вы ... большой текст свёрнут, показать
     
     
  • 6.14, Bocha (ok), 12:01, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >>На bridge этот фаерволинг раздельно возможен, на ng_bridge - нет.
    >
    >Вы то упоминаете if_bridge, то ng_bridge. Остановитесь таки на чем-нибудь!

    Вы в самом деле не понимаете что я пишу, или просто упрямитесь? Еще раз. В оригинале была статья на ng_bridge. Он не умеет фаерволить. Я предложил другой мост, который фаерволить может. Им оказался bridge. if_bridge я не использовал, потому что man if_bridge не существуется, я воспользовался тем, что нашел.

    >
    >А вы читали ман к if_bridge?

    Соответственно нет, искал но не нашел и потому if_bridge не юзал, об этом написано.

    >
    >Вы действительно считаете, что если собираются убирать поддержку bridge(4) в пользу if_bridge(4) не предусмотрели аналогичного функционала?

    Это вы сами только что придумали, я вообще не спорю о бриджах.

    >Как я и утверждал ранее Ваш вариант относится к "древний бриджинг, совершенно
    >нефункциональный и неудобный"

    На здоровье, мне нужен был только ipfw, потому я отказался от ng_bridge в пользу bridge
    Никакой другой функционал ведь не нужен был, статья-то - не ман, а опыт конкретного эксперемента, удачно, между прочим, завершившегося, о чем и статья.

    Вы в самом деле не понимаете что я пишу, или просто упрямитесь? Еще раз. В оригинале была статья на ng_bridge. Он не умеет фаерволить. Я предложил другой мост, который фаерволить может. Им оказался bridge. if_bridge я не использовал, потому что man if_bridge не существуется, я воспользовался тем, что нашел.

     
     
  • 7.18, chip (??), 23:56, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >if_bridge я не использовал, потому что man if_bridge не существуется, я
    >воспользовался тем, что нашел.

    "man if_bridge не существуется"

    Подразумевалось не существует? http://www.freebsd.org/cgi/man.cgi?query=if_bridge&apropos=0&sektion=0&manpat

    ps: я не упрямлюсь, а лишь говорю о том что описанный _ВАМИ_ подход является как раз устаревшим. Неоправданно хаять чужой подход...

     
     
  • 8.19, Bocha (ok), 11:49, 28/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Да, подразумевалось не существует конечно же Спасибо за ссылку Хорошо, bridg... текст свёрнут, показать
     

  • 1.9, lexx (??), 16:51, 26/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А Win2000 Pro можно поставить вместо сервера?
    Я так понят это что-то типа VMware...
     
     
  • 2.11, Bocha (ok), 07:10, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >А Win2000 Pro можно поставить вместо сервера?
    >Я так понят это что-то типа VMware...


    Ставьте на здоровье. Но если вы ставите себе винду чтобы работать в еёграфическом интерфейсе непосредственно, воспользуйтесь VMWare, она быстрее.

    QEMU для других целей всё же сделан.

     

  • 1.12, markos (??), 08:19, 27/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем всё это?
    особенно вот это:
    +++ Уводим в бэкграунд
    ???
     
     
  • 2.15, Bocha (ok), 12:02, 27/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Статья описывает решение конкретно моей рабочей задачи, где это было нужно - сервер должен быть запущен всегда, с постоянным терминальным доступом для всех. Ну не держать же мне на компе терминал всё время открытый.
     

  • 1.16, fox_mulder_cp (?), 20:49, 27/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а играться лучше под виндой в куему или в вмваре? и как там с драйверами к физ устройствам?
     
     
  • 2.20, Bocha (ok), 13:02, 28/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    в варе лучше, быстрее во всяком случае.
     

  • 1.17, fox_mulder_cp (?), 21:04, 27/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и еще - как лучше всего вывести его на отдельный виртуал консоль, к примеру на альт-ф12... чтобы Х отдельно а винда отдельно...
     
     
  • 2.21, Bocha (ok), 13:04, 28/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >и еще - как лучше всего вывести его на отдельный виртуал консоль,
    >к примеру на альт-ф12... чтобы Х отдельно а винда отдельно...


    ну вы уже жечь-то заканчивайте :-))) qemu - это такое же окно иксов как и все другие. Ну поднимите еще один икссервер и выводите туда винду посредствам qemu -full-screen. Зачем такие муки?

     

  • 1.22, shmit (?), 10:19, 22/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    зачем ставить иксы ради одного раза если есть такая опция как -vnc display
     
  • 1.23, Guest (??), 09:52, 27/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо за статью !
     
  • 1.24, elop (?), 19:50, 21/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нашол грамотные сылки по настройки экселератора qemu и прочие полезные вещи http://www.google.ru/
     
  • 1.25, drurus (?), 13:55, 24/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если указывать -k ru перестает нормально функционировать клава, так например НЕВОЗМОЖНО ввести символ слеша / :))
    проверялл на ноуте, там нум пада нет :)
     
  • 1.26, ja (?), 12:38, 15/07/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Возникла проблема с установкой qemu под freebsd7.0, просит указать пачи для freebsd. Никто незнает как это можно вылечить или хотяб что это за пачи и где их взять. Поиск по нету ничего не дал :(

    Но всеже я его установил через pkg_add -k qemu. но при запуске он выдает Segmentation fault.

     
     
  • 2.27, max_demon (?), 02:27, 07/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    попробуй поставить qemu-devel, ставит всё что нужно!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру