реклама на сайте
подробности

 
 
> Установка Gentoo Linux c помощью QEMU
AlexMad
сообщение May 16 2007, 11:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Вот стоило улететь в Сибирь, где инет только по гпрс, и появилось описание sad.gif грустно, но ладно. Основной вопрос: ссылка с образом файловой системы http://phoenix.inf.upol.cz/~polakr/qemu/sda.img.bz2 непускает, говорит прав нету sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
COMA
сообщение Jun 4 2007, 05:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559



Прошу прощения за сумбурный стиль изложения. Торопился.

Установка Gentoo Linux c помощью QEMU - http://fabrice.bellard.free.fr/qemu/
Многие нужные файлы взяты с ресурса http://phoenix.inf.upol.cz/~polakr/


1. Настройка и проверка QEMU.

Нам понадобиться:
архив qemu-0.9.0-arm.zip содержащий ядро Linux и образ диска
http://www.h6.dion.ne.jp/~kazuw/qemu-win/qemu-0.9.0-arm.zip

ядро Linux с поддержкой видео и многих других опций -
http://phoenix.inf.upol.cz/~polakr/qemu/zImage

Конфиг можно посмотреть здесь -
http://phoenix.inf.upol.cz/~polakr/qemu/de...2.6.19.1.config

Распаковываем все это в одну папку.

Пишем bat файл для запуска qemu-arm. У меня он называется qemu-arm-gentoo.bat.
Лучше всего взять файл qemu-arm.bat за основу и поменять последнюю строчку:
qemu-system-arm.exe -L . -M versatilepb -kernel zImage -initrd arm_root.img

Описание параметров:
-L . - путь (папка) где находится файлы BIOS, VGA BIOS и keymaps. Точка - текущий каталог.
-M versatilepb - тип эмулируемой машины (процессора). В нашем случае ARM Versatile/PB (ARM926EJ-S), т.к. ядро собранно под эту архитектуру.
-kernel zImage - файл ядра Linux.
-initrd arm_root.img - файл initrd.

Запускаем qemu-arm-gentoo.bat. Если все сделано правильно, то увидим консоль и приглашение sh-3.00# (см рис. 1)

2. Запуск Gentoo Linux c готового образа.

Скачиваем образ виртуального диска для QEMU-
http://phoenix.inf.upol.cz/~polakr/qemu/sda.img.bz2

Размер архива 54.5 Mb. После распаковки занимает 1 Гб.
Он уже содержит Gentoo собранный под ARM архитектуру и swap диск. В принципе этого уже достаточно, для работы smile.gif

Правим файл qemu-arm-gentoo.bat последнюю строчку:
qemu-system-arm.exe -L . -M versatilepb -kernel zImage -hda sda.img -append "root=/dev/sda1 clock=pit"
Новые параметры:
-hda sda.img - файл образа 0-го HDD диска. QEMU его определяет как SCSI диск. (см рис. 2)
-append "root=/dev/sda1 clock=pit" - команды передаваемые ядру Linux. В данном случае это - root=/dev/sda1 и clock=pit. "clock=pit" - решение проблемы с неправильным ходом часов, чтобы не убегали.

Запускаем qemu-arm-gentoo.bat. Если все сделано правильно, то через какое то время мы увидим приглашение войти в систему (см рис. 3). Пользователь root, пароль - клавиша "Enter" smile.gif

3. Установка Gentoo Linux под архитектуру AT91RM9200.

В качестве носителей файловой системы QEMU может использовать физические устройства - HDD, USB флешки и т.п.
Будем использовать жесткий диск в качестве носителя файловой системы.
В моем компьютере установленно 2 диска. Первый используется системой, а второй свободен.

Для начала установим программу позволяющую системе Windows читать/писать на Linux разделы ext2.
http://www.fs-driver.org/index.html

Нужный нам раздел можно создавать из эмулятора QEMU, используя для этого готовый образ sda.img, или стороними утилитами из под системы Windows. Кому как удобнее.

Я разбивал диск под системой windows.
Создаем раздел 10Г, форматируем под ext2. Остальное нам не понадобиться. Пустое место можно использовать для других целей.
На это раздел (10Г) будем ставить Gentoo. Для установки нам понадобятся следующие файлы:

Скачивать можно с ресурса http://gentoo.osuosl.org/
Или с других ресурсов. Список зеркал - http://www.gentoo.org/main/en/mirrors.xml


1. Архив образа стадии (stage).
Нам понадобиться следующий архив - stage1-arm-uclibc-softfloat-20050811.tar.bz2
из названия видно, что этот архив используется для системы с архитектурой ARM, используется библиотека uClibc, и эмуляция поддержки float.
Скачиваем отсюда - http://gentoo.osuosl.org/experimental/arm/...0050811.tar.bz2

2. Снимок портежей (snapshot).
Я использовал snapshots от 21-го мая - portage-20070521.tar.bz2, но можно использовать последний доступный.
Скачиваем отсюда http://gentoo.osuosl.org/snapshots/

portage-20070521.tar.bz2 я выложил на местный фтп.

3. Файлы исходников (distfiles).

Качаем отсюда http://gentoo.osuosl.org/distfiles/ или отсюда - http://distfiles.gentoo.org/distfiles/

Список необходимых файлов прикреплен к сообщению.
Список содержит файлы, которые нужны при установке системы со снимком портежей от 21-го мая. Если у вас portage от другого числа, то придется дополнительно скачать необходимые файлы.

Кладем все эти файлы на наш диск, предназначенный для установки gentoo. Допустим, в папку files. Файлы исходников лучше положить в отдельную папку - files/distfiles.

Также понадобятся файлы - make.conf make.globals portage.mask. (см. вложение)

Запуск QEMU с поддержкой HDD.

Для запуска QEMU с поддержкой HDD правим bat файл. Последнюю строчку, добавляем -hdb \.PhysicalDrive1.
Нумерация жестких дисков начинается с 0. Нужный нам доступен под номером 1.

Получаем следующее -
qemu-system-arm.exe -L . -M versatilepb -kernel zImage -hda sda.img -hdb \.PhysicalDrive1 -append "root=/dev/sda1 clock=pit"

В QEMU появляется новое устройство диск sdb, который соответствует нашему физическому диску под номером 1.
Система грузиться с диска sda1, с образа диска.

Запускаем QEMU.
При запуске видим, что появилость новое устройство (см. рис 1).

В моем случае это HDD 80Гб, с двумя разделами.

После загрузки входим с систему, регистрируемся.

Устанавливаем правильную дату. К примеру, время 13-10 29 мая 2007г. - 052913102007

создаем папку /mnt/gentoo.

Установка стадии.

монтируем раздел диска в папку /mnt/gentoo

mount /dev/sdb1 /mnt/gentoo

переходим в папку - cd /mnt/gentoo

Распакуем архив stage1 - tar xvjpf /mnt/gentoo/files/stage1-arm-uclibc-softfloat-20050811.tar.bz2

Распакуем архив снимка дерева портежей командой - tar
tar xvjf /mnt/gentoo/files/portage-20070521.tar.bz2 -C /mnt/gentoo/usr

Скопируйте файлы исходников из /mnt/gentoo/files/distfiles в /mnt/gentoo/usr/portage/distfiles/


Установка базовой системы Gentoo.

Переходим в новую среду:

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

Выбор нужного профиля системы:

ln -snf /usr/portage/profiles/uclibc/arm /etc/make.profile

копируем файлы make.conf make.globals portage.mask (см. архив etc.rar)

make.conf и make.globals в папку /etc/,
файл portage.mask в папку /etc/portage.

make.conf - содержит настройку флагов, используемых при компиляции системы под конкретную архитектуру.
make.globals - то же, что и make.conf, но только глобальные установки.

Вот часть содержимого файла make.conf:

Самое важное:
CFLAGS="-mcpu=arm920t -msoft-float -Os -pipe" - указывает тип архитектуры и ключи при компиляции
CHOST="arm-softfloat-linux-uclibc" - тип системы

Более подробно можно почитать на сайте www.gentoo.org в разделе документация.

файл portage.mask содержит в себе ограничение на версиюю пакетов которые можно ставить. Связанно с тем, что не все версии программ собираются на ARM системе.

Содержимое файла:
>sys-devel/gcc-3.4.6-r2
>sys-devel/binutils-2.16.1-r3
>sys-kernel/linux-headers-2.6.11-r3
>dev-libs/popt-1.7-r1
>sys-apps/busybox-1.2.2.1

По первой строчке можно понять, что GCC выше версии gcc-3.4.6-r2 считаются заблокированными и не устанавливаются. И т.д.

Самогенерация системы.

Обнавляем пакет portage (текущий очень старый)
emerge -avO portage

По окончании может появиться сообщение:
".....
emerge --help config"
если появилось, то надо обновить конфигурационные файлы командой etc-update

Самогенерация системы запускается сценарием scripts/bootstrap.sh в каталоге /usr/portage. Этот скрипт можно запускать с разными ключами:

/usr/portage/scripts/bootstrap.sh -p - смотрим список пакетов необходимых для самогенерация системы.

/usr/portage/scripts/bootstrap.sh -f -p - смотрим ссылки по которым можно скачать необходимые пакеты.

/usr/portage/scripts/bootstrap.sh -f - проверка исходников на "валидность", т.е. проверка на контрольные суммы и т.п.

Если последняя команда с ключом -f не даст предупреждений, можно запускать процесс самогенерации системы.

После проверки запускаем скрипт на выполнение -
/usr/portage/scripts/bootstrap.sh

Самогенерация системы может занять длительное время, поэтому оставить это дело на ночь smile.gif

Если все будет удачно, можно приступить к установка системы.


Установка системы.

Установка системы запускается командой emerge -e system.

emerge -pve system - смотрим какие пакеты будут ставиться. Обращаем внимание на размер для скачивания (size of downloads). Тут должно быть 0 Kb.

emerge -fve system - проверяем на "валидность".
Если появяться сообщения что надо скачать файл, то придется скачать файл, выйти из эмулятора (командой poweroff) и записать файлы на диск. И занов приступить к этапу "Установка системы".

Запускаем установку системы - emerge -ave system

Также может занять длительное время, поэтому оставить это дело на 2-ю ночь smile.gif

По окончании может появиться сообщение:
".....
emerge --help config"
если появилось, то надо обновить конфигурационные файлы командой etc-update

правим fstab.

У меня так:

/dev/sda1 / ext2 noatime 0 0

# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0


Меняем пароль.
Выключаем QEMU командой poweroff.



Правим bat файл. Последнюю строчку:

Получаем следующее -
qemu-system-arm.exe -L . -M versatilepb -kernel zImage -hda \.PhysicalDrive1 -append "root=/dev/sda1 clock=pit"

Запускаем QEMU, регистрирумся.

Мы в системе gentoo, собранной под наш процессор AT91RM9200 smile.gif

Далее можно ставит пакеты которые нам нужны.

Cистему можно переписать на USB flash или MMC карточку и стартовать плату с этих носителей.

P.S. Далее можно собрать kernel, u-boot, romboot. smile.gif

4. Настройка поддержки сети в QEMU.

Большое спасибо Andy Great за помощь.

1. Установка сетевого адаптера TAP-Win32
ПУСК -> Панель управления -> Установка оборудования -> Далее
Выбираем "Да, устройство уже подсоединено" -> Далее
Выбираем "Добавление нового устройства" -> Далее
Выбираем "Установка оборудования выбранного из списка вручную" -> Далее
Выбираем "Сетевые платы" -> Далее
Выбираем "Установить с диска" Указываем путь к папке с драйвером WinTAP32 (см. вложение).
Выбираем сетевой адаптер TAP-Win32 Adapter V8 -> Далее -> Все равно продолжить -> Готово

Появится новое сетевое подключение с именем устройства "TAP-Win32 Adapter V8".
Настроим TAP-Win32 Adapter V8
Переименуем в TAP-Win32.
Настроим TCP/IP - IP: 10.0.2.6 Маска: 255.255.255.0

2. настройка QEMU.
Поправим bat файл для запуска QEMU с поддержкой сети. Добавим следющую строчку -
-net nic -net tap,ifname=TAP-Win32

Запускаем QEMU. Если все правильно, то в системном трее появится значок нового сетевого подключения.

Настроим сеть в эмуляторе QEMU
правим файл /etc/conf.d/net

config_eth0=("10.0.2.5/24")
routes_eth0=("default via 10.0.2.2")
Go to the top of the page
 
+Quote Post
PrSt
сообщение Jun 4 2007, 09:52
Сообщение #3


http://uschema.com
****

Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394



Цитата(COMA @ Jun 4 2007, 08:51) *
Прошу прощения за сумбурный стиль изложения. Торопился.


Внушает!
Не плохо описал, тольно есть существенный недостаток в этом посту - нужно объеденить начальный пост топика(с QEMU) с последним (про GENTOO) !
А то так неудобно листать постоянное - вверх-вниз и обратно...
А в общем - первосходно!
Можно даже по этой статье пробовать... 8)))
И даже должно получиться чтото...

Эх жаль небыло этой стать когда я GENTOO пробовал ставить.... 8(

.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexMad   Установка Gentoo Linux c помощью QEMU   May 16 2007, 11:20
- - COMA   Странно, меня тоже не пускает.   May 16 2007, 13:58
|- - v_shamaev   Цитата(COMA @ May 16 2007, 21:58) Странно...   May 16 2007, 15:30
- - COMA   Есть. Могу все выложить на фтп. Но только вечером,...   May 17 2007, 00:26
- - astro   По-моему не хватает пункта 0, где было бы расписан...   May 17 2007, 11:47
- - COMA   Планирую описать в пункте 3. А пока рекомендую поч...   May 17 2007, 11:50
- - astro   У меня gentoo далеко не первый дистрибутив, тем не...   May 17 2007, 12:07
- - COMA   что за инструкция? выложил файлы сюда: upload/MCs...   May 18 2007, 05:12
|- - slava2005   Цитата(COMA @ May 18 2007, 09:12) что за ...   May 18 2007, 07:42
|- - Doka   Цитата(slava2005 @ May 18 2007, 11:42) А ...   May 18 2007, 08:09
- - COMA   У кого есть доступ на фтп, выложите. У меня с траф...   May 18 2007, 08:15
|- - TATA   Цитата(COMA @ May 18 2007, 12:15) У кого ...   May 20 2007, 17:32
|- - slava2005   Цитата(TATA @ May 20 2007, 21:32) Смотри ...   May 21 2007, 17:55
- - COMA   Смотрю. Может расшифруете?   May 20 2007, 17:36
- - COMA   Посмотрел. sda.img.bz2 - минимальный rootfs. Но ни...   May 21 2007, 21:33
|- - v_shamaev   Цитата(COMA @ May 22 2007, 01:33) Посмотр...   Jun 2 2007, 18:00
|- - COMA   Цитата(v_shamaev @ Jun 2 2007, 22:00) Мож...   Jun 4 2007, 03:57
- - slava2005   Господа! Ну кто-нибудь, выложите в доступное...   May 22 2007, 15:54
|- - makc   Цитата(slava2005 @ May 22 2007, 19:54) Го...   May 22 2007, 16:04
- - slava2005   Спасибо!   May 22 2007, 18:11
- - COMA   Пристыжен. Работа одолела. Черновик написан, надо...   May 29 2007, 11:48
- - makc   Перенес описание процесса установки в тему http://...   Jun 4 2007, 14:04
- - AlexMad   Вопрос знатокам QEMU , как его запустить так, чтоб...   Jul 15 2007, 22:23
- - COMA   Цитатахочет получить файл portage-2.1.2.2, на фтп ...   Jul 16 2007, 03:44
- - COMA   4. Настройка поддержки сети в QEMU. Большое спаси...   Jul 17 2007, 04:36
- - COMA   Полезная ссылка - http://www.ursidae.ru/gentoo-doc...   Jul 19 2007, 05:52
- - AlexMad   ЦитатаПолезная ссылка - http://www.ursidae.ru/gent...   Jul 19 2007, 11:16
- - COMA   размер файла 2.25 Мб. - Gentoo_doc-1.1.pdf.tar.tar...   Jul 20 2007, 03:49
- - AlexMad   Не стал смотреть, на что именно она ругается, дума...   Jul 20 2007, 07:38
- - AlexMad   Вопросы и замечания по руководству к установке: Ци...   Jul 21 2007, 14:59
- - COMA   1. Процесс сборки Gentoo выглядит так: stage1 -...   Jul 21 2007, 15:14
- - AlexMad   Цитата3. Скрипт лежит тут - /usr/portage/scripts/....   Jul 21 2007, 15:35
- - COMA   Только что посмотрел - у меня установлена версия ...   Jul 21 2007, 15:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 03:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01631 секунд с 7
ELECTRONIX ©2004-2016