The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Запуск Linux для процессоров ARM в окружении QEMU (linux arm qemu emulator virtual)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: linux, arm, qemu, emulator, virtual,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-12 16:50:46 Subject: Запуск Linux для процессоров ARM в окружении QEMU
Original

Перевод: Сгибнев Михаил

Введение

QEMU известен как свободная альтернатива VMware, позволяющая пользователям запускать виртуальные PC на PC. Для большинства остается неизвестным тот факт, что помимо эмуляции архитектуры x86, возможна эмуляция архитектур AMD64, Sparc, MIPS, PPC и ARM.

В случае архитектуры ARM, QEMU обеспечивает удобную среду разработки приложений для встраиваемых систем. В этой статье рассматривается, как настроить Debian/ARM под управлением QEMU, с учетом того, что корневой системой также является Debian.

Так как QEMU arm не имеет необходимости эмулировать IDE или SCSI, нужно установить сервер на экспортируемом разделе NFS.

Подготовка корневого сервера

Первым делом установим необходимые пакеты: debootstrap позволяет создавать базовые системы Debian или Ubuntu, а также является простым способом создания chroot и виртуальных машин.

VDE является эмулятором сети, также известный как user mode linux uml_net, позволяющий гостевой QEMU-машине соединиться с корневой системой через интерфейс tap.

Убедитесь, что ядро корневой системы собрано с поддержкой "Universal TUN/TAP device driver", эта опция конфигурации называется "TUN". Если вы предпочитаете использовать подключаемые модули, то есть хороший шанс обнаружить необходимый модуль под именем 'tun.o'.

Как только вы убедились в том, что ваше ядро поддерживает tun, внесите следущие изменения в /etc/network/interfaces, чтобы обеспечить поддержку сети : Убедитесь в том, что и вы и /dev/net/tun являетесь членом группы vde-net, а затем, поднимите интерфейс: Вам необходимо место для установки дострибутива Debian, так же учтите то, что вам потребуется место для ваших разработок. В принципе, я считаю достаточным 300 Мб. Я разместил все это хозяйство в каталоге /nfs/share/arm/.

Теперь запустите debootstrap для того, чтобы скачать и установить дестрибутив Debian/arm, а затем скопируйте несколько недостающих файлов: Опция --foreign команды debootstrap указывает на то, что необходимо выполнить только первую часть процесса установки. Так как мы загружаем Debian архитектуры отличной от той, какая установлена на корневой машине, мы не можем запускать в данном chroot сценарии продолжения установки.

На корневой машине мы также должны настроить и запустить сервер NFS. Хочу сразу предупредить, что эмулируемая система будет работать очень медленно.

Расшариваем новый каталог через NFS и добавляем соответствующую запись /etc/exports: Экспортируем файловую систему: Скачайте ядро arm-linux, оно поставляется в комплекте arm-test и взять его можно здесь.

Положите arm-linux zimage в /usr/local/etc/images/zImage.arm и затем создайте сценарий /usr/local/bin/start-qemu-arm следующего содержания: Откорректируйте значения согласно вашим данным.

Конфигурирование гостевой системы

Теперь запускаем наш новый сервер arm в однопользовательском режиме, при этом, не обязательно обладать привилегиями пользователя root: Гостевой сервер должен загрузиться и запусить оболочку bash. Файловая система будет примонтирована в режиме только для чтения и необходимо повторно примонтировать ее в режиме чтения/записи: Теперь запускаем второй этап debootstrap и завершаем установку: Снова повторюсь, этот процесс потребует времени, так как эмулятор не особенно быстр. После завершения установки отредактируйте такие файлы, как /etc/hostname и /etc/resolv.conf, также установите ssh: После этого гостевую машину можно отключать. Для этого достаточно воспользоваться командой kill и убить процесс qemu, так как ее файловая система установлена с сервера NFS, нет никакой необходимости в корректном завершении работы.

Делаем образцово-показательный запуск гостевой машины: После завершения загрузки гостевая машина будет доступна по протоколу ssh и адресу 10.1.6.50.

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

Обсуждение [ RSS ]
 
  • 1, pirks, 00:48, 20/06/2009 [ответить] [смотреть все]
  • +/
    Очень интересный пример.
    только вопрос, что значит "Положите arm-linux zimage в /usr/local/etc/images/zImage.arm" ?
    Как запаковать 2 файла arm-linux zimage в zImage.arm  ?
     
  • 2, dimafon, 01:54, 27/06/2009 [ответить] [смотреть все]
  • +/
    Спасибо за статью. Все работает.
    Но есть одна проблема я не знаю root password ARM машины.
     
  • 3, dimafon, 02:42, 27/06/2009 [ответить] [смотреть все]
  • +/
    apt-get install ssh
    Coludn't find package ssh
     
  • 4, mittorn, 19:27, 12/03/2011 [ответить] [смотреть все]
  • +/
    А ускорить эмуляцию можно? моя gentoo на андроиде быстрее работает,  чем в qemu
     

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



    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList