Page 1 of 2
Снова qemu [РЕШЕНО]
Posted: Sun Oct 03, 2010 7:33 pm
by SoUrcerer
Возникло у меня желание использовать сеть из Колибри. Разумеется, на реальной машине. Ага, желание возникло, но реализовать его пока что не могу
Поэтому хочу хотя бы через qemu соединиться с интернетом.
Предварительно перечитал форум, все предолжения (кроме OpenVPN) попробовал. Как уже писалось ранее на форуме, команда, запускающая у Alexus'a qemu с сетью, на новых версиях qemu не работает.
Linux Mint 9, QEMU 0.12.
После запуска:
Code: Select all
Zero-config service:
Detected card: 813910EC
MAC: 52-54-00-12-34-56
K: net_socket_alloc (0x80BC3000)
K: socket_open (0x80BC3000)
Timeout!
K: socket_close (0x00000001)
K: net_socket_free (0x80DC3000)
Link Local IP assigned: 169.254.154.77
Waiting 2350mc
Sending Probe
Еще пару "Waiting" и "Sending Announce", и всё. Сеть не работает
Есть какие-нибудь предложения?
Re: Снова qemu
Posted: Sun Oct 03, 2010 8:06 pm
by SoUrcerer
Теперь взял QEMU 0.9 для Windows, запускаю через wine. Веселее!
Прописал вручную ip, теперь downloader заканчивает свою работу не на "Resolving...", а
Code: Select all
"GotResponse"
"GotResponse"
"Resolved"
GET /index.php?s=index.htm HTTP/1.1
Host: nigma.ru
User-Agent: Kolibrios Downloader
Connection: Close
rid
close socket: 00000000
pos = 0000C3A5
chunks end
Результат - нулевой, файл .download не создается, а если таковой имелся - то удаляется.
Ядро пишет на доску отладки, что занимает сокет, открывает, закрывает, освобождает.
upd: торрро! нужно было переместить окошко htmlv, чтобы оно перерисовалось!
немного сеть работает
красота...
но жду нативного решения?:)
Re: Снова qemu
Posted: Sun Oct 03, 2010 8:52 pm
by Mario
А куда оно сохраняет загруженное? Вроде на рамдиск, тогда надо места поболее выделить - удали что-нибудь ненужное.
Re: Снова qemu
Posted: Sun Oct 03, 2010 9:04 pm
by SoUrcerer
Cтер docpack
замечательно работает все...
Вот что подумалось - я пробую в linux-версии последнюю ночную сборку, а в windows-версии - 0.7.7.0
Надо сравнить...
Re: Снова qemu
Posted: Sun Oct 03, 2010 9:08 pm
by SoUrcerer
Не помогло. Видимо, дело действительно в настройках qemu. По совету hidnplayr'a ставлю сейчас в qemu другую ОС, чтобы убедиться в правильности настроек сети
Re: Снова qemu
Posted: Sun Oct 03, 2010 9:57 pm
by SoUrcerer
Те же настройки, в minix 3 сеть есть
Интересно, и в то же время печально
Re: Снова qemu
Posted: Mon Oct 04, 2010 1:07 am
by Mario
Ты забываешь, что в Minix полноценная сетевая подсистема, а в Колибри не факт, что реализовано все. Например в реальном железе оно может работать, а на эмуляторе нет и наоборот. А потом окажется что разработчики устройства или эмулятора что-то не учли, или наоборот мы что-то не учли из стандартов. Или вообще в стандарте этого нет.
Сравни кстати какие сетевые карточки эмулируются в Виндовой версии, а какие в Linux версии.
Re: Снова qemu
Posted: Mon Oct 04, 2010 8:59 am
by SoUrcerer
Конечно, я понимаю, что история minix гораздо больше, и многое из того, что есть в ней, отсутствует в Колибри. Но ведь печален факт, что сеть не работает
В linux'овой версии RTL8139, а в виндовой - RTL8029. Вроде бы должно работать? Однако: в windows версии qemu 0.9 сеть можно настроить, в linux версии qemu 0.12.3 сетевая карта определяется, но сеть настроить не удалось, а в версии qemu 0.12.2 для windows вообще сетевая карта не определяется.
Хочу еще попробовать версию 0.9 для linux, только ее видимо придется компилировать ручками, чтобы не перетереть свежую
Re: Снова qemu
Posted: Mon Oct 04, 2010 9:29 am
by Mario
На английском форуме есть статья:
http://meos32.7.forumer.com/viewtopic.php?t=220
но по ней я не смог настроить.
Можешь описать подробно что и куда прописывал в Qemu под Виндовс? (что в самом Qemu, а что в Колибри)
Re: Снова qemu
Posted: Mon Oct 04, 2010 9:40 am
by SoUrcerer
QEMU я запускаю как обычно:
qemu -L . -fda kolibri.img -boot a
Затем в Колибри открываю board, жду результатов zeroconf, затем запускаю stackcfg и ставлю настройки 1 в 1 как на английском форуме.
После этого в qemu 0.9 в windows или wine все работает.
Re: Снова qemu
Posted: Mon Oct 04, 2010 10:16 am
by Mario
В общем надо соблюсти несколько условий:
1) В конфигурацию в Колибри вбить:
Code: Select all
Fixed: 10.0..2.15 (our machine IP)
Gateway: 10.0.2.2 (qemu’s gateway)
Subnet: 255.255.255.0
DNS IP: 10.0.2.3
2) На рамдиске должно быть достаточно места для загрузки страницы - 2 Кб явно не достаточно.
3) Адрес должен быть правильным и известным для DNS. (например
http://www.ya.ru)
4) Страница не должна быть сжатой. Так как сетевой загрузчик это не обрабатывает.
5) Запрос должен пройти - почему-то загрузчик не запрашивает несколько раз при неудачной загрузке, хотя как раз это следовало реализовать сразу. Скажем цикл из 5-10 запросов при неудачном результате. Все-же сеть это такая штука, что теряет пакеты.
Это работает в Виндовс версии Qemu 0.9.1.
С Линуксовой надо разбираться.
Re: Снова qemu
Posted: Mon Oct 04, 2010 10:20 am
by SoUrcerer
В линуксовой 0.9.1 все точно так же.
Чем новее версия qemu, тем больше проблем судя по всему
Re: Снова qemu
Posted: Mon Oct 04, 2010 10:22 am
by Mario
Вечером, дома, попробую и отпишусь.
Re: Снова qemu
Posted: Mon Oct 04, 2010 11:06 am
by SoUrcerer
Итак, удалось поднять сеть в Колибри в qemu 0.9 и qemu 0.12.2 и в windows, и в linux.
Инструкция
Если у вас qemu 0.9:
Spoiler:
1. Запускаем qemu командой
Опционально можно добавить любые параметры из руководства qemu. Пользователям windows возможно придется использовать параметр -L .
2. После запуска Колибри запускаем board - чтобы посмотреть, что же происходит. Если zeroconf пишет, что "no device found", сразу смотрим раздел "Если ничего не получилось"
3. Запускаем какую-нибудь сетевую программу, например, nslookup, htmlv или airc. Если работает - значит, поздравляю! dhcp сработал, Колибри уже в сети, и дальше уже можно не читать
4. Не заработало? Ничего страшного. Запускаем настройки сети (stackcfg), выбираем "Packet driver (ethernet)", "Fixed" и вбиваем настройки
Code: Select all
Fixed: 10.0.2.15
Gateway (шлюз): 10.0.2.2
Subnet (подсеть): 255.255.255.0
DNS IP: 10.0.2.3
Жмем Apply (Применить), и повторяем пункт 3. Не заработало? Смотрим раздел "Если ничего не получилось"
Если у вас qemu 0.12:
Spoiler:
1. Запускаем qemu командой
Code: Select all
qemu -fda kolibri.img -boot a -net nic,model=ne2k_pci -net user
Параметры сети обязательны, без них точно ничего не заработает.
Опционально можно добавить любые параметры из руководства qemu. Пользователям windows возможно придется использовать параметр -L .
2. После запуска Колибри запускаем board - чтобы посмотреть, что же происходит. Если zeroconf пишет, что "no device found", сразу смотрим раздел "Если ничего не получилось"
3. Запускаем какую-нибудь сетевую программу, например, nslookup, htmlv или airc. Если работает - значит, поздравляю! dhcp сработал, Колибри уже в сети, и дальше уже можно не читать
4. Не заработало? Очень странно! Отписываемся на форуме, затем запускаем настройки сети (stackcfg), выбираем "Packet driver (ethernet)", "Fixed" и вбиваем настройки
Code: Select all
Fixed: 10.0.2.15
Gateway (шлюз): 10.0.2.2
Subnet (подсеть): 255.255.255.0
DNS IP: 10.0.2.3
Жмем Apply (Применить), и повторяем пункт 3. Не заработало? Смотрим раздел "Если ничего не получилось"
Если ничего не получилось:
Spoiler:
1. В этой ветке форума показываем содежимое доски отладки
2. Для qemu 0.9 принудительно указываем -net nic,model=ne2k_pci -net user
3. Если qemu 0.12 или в qemu 0.9 все равно прошлый метод не помог, перебираем все варианты model согласно документации qemu, повторяем все пункты по настройке сети и отписываемся в форуме
Обладатели других версий, пожалуйста, поделитесь опытом.
Re: Снова qemu
Posted: Mon Oct 04, 2010 11:08 am
by SoUrcerer
Просьба модераторам пометить тему как "[Решено]".
Чтобы проще было искать решения проблем.