Board.KolibriOS.org
http://board.kolibrios.org/

Отладка прикладного ПО. Перенос файлов в вирт. машину с KOS
http://board.kolibrios.org/viewtopic.php?f=2&t=2914
Page 1 of 1

Author:  ALPINE [ Tue Nov 25, 2014 5:19 pm ]
Post subject:  Отладка прикладного ПО. Перенос файлов в вирт. машину с KOS

Здравствуйте.

С системой познакомился буквально недавно, хочу поучаствовать в конкурсе игр (писать планирую на Си без плюсов). На данный момент главная проблема - быстрый перенос файлов из хост-системы (работаю в Linux Mint) в Колибри (запущена в Virtualbox). USB-Флешка распознаётся, но она не может быть примонтирована сразу в двух системах. При запуске виртуальной машины флешка пропадает из системы, таким образом, для каждого запуска создаваемой программы приходится перезагружать виртуальную машину, а это неудобно.

Как разработку ведёте вы? Есть ли удобный способ "расшарить" папку, которая распознастся в виртуальной машине и будет одновременно доступна для чтения и записи в хост-машине? Я вместо Виртуалбокса пробовал QEMU с виртуальным .img-образом, как HDD в Колибри он определился, но проблема та же: без перемонтирования не работает. Можно ли перекидывать файлы живьём и на лету?

Ближайшие планы - задействовать FTP. Но если есть более простое решение, подскажите, буду благодарен. Спасибо.

P.S. С FTP не всё так гладко, он не все команды поддерживает, в частности при
Code:
curl -u test:1234 -T ./test.txt ftp://10.15.11.108/test.txt
Получаю
Code:
EPSV
500 Unsupported command

Author:  e-andrew [ Tue Nov 25, 2014 8:33 pm ]
Post subject: 

Запускаем виртуалку из под рута, запускаем kos, потом в нижней части окна virtualbox ищем "устройства" и там находим флешку. Флешка отмонтировывается от минта и появляется в кос. Потом там же флешку отмонтировываем от кос, она автоматически монтируется в минт. Ничего перезагружать не нужно.

P.S.: чтобы fm увидел флешку, его нужно обновить. В eolite f5, в других не знаю. Можно перезагрузить fm.

Author:  ALPINE [ Tue Nov 25, 2014 9:00 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Quote:
Запускаем виртуалку из под рута, запускаем kos, потом в нижней части окна virtualbox ищем "устройства" и там находим флешку. Флешка отмонтировывается от минта и появляется в кос. Потом там же флешку отмонтировываем от кос, она автоматически монтируется в минт. Ничего перезагружать не нужно.
Ну это всё равно долго. Я как-то привык нажав F9 сразу видеть результат, ну или хотя бы скомпилированную программу, лежащую где надо и готовую к запуске. Это осуществимо?

FTP сервер ограничен в возможностях, возможно сервер стоит поднять на хост-машине и из KOS вытаскивать его в рамдиск. Пока попробую потыкаться в TFTP Client.

P.S. "Интернет загрузчик" (HTTP Downloader) не работает. Вбиваю URL, жму "Download", ноль эмоций. При том что текстовый браузер файл открывает успешно.

Author:  ALPINE [ Tue Nov 25, 2014 10:01 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

FTP клиент в KolibriOS сработал. Файл получен. Скажите, а нельзя ли каким-нибудь .bat-файлом (в KOS) сразу выкачать файл с ftp- или http-сервера? Чтобы не писать ftp-команды руками. Наподобие wget.

Author:  hidnplayr [ Tue Nov 25, 2014 10:40 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

To make kolibriOS FTPD run in virtualbox requires correct configuration of FTPD.INI and configuration of NAT in virtualbox
(dont forget to open data ports if you wan to use PASV)
If you want to use active mode, set your client to use local IP 127.0.0.1

Something like .bat files is tricky because there is no real shell/console.
But.. FTPC can transfer all files in a directory at once...

Author:  ALPINE [ Wed Nov 26, 2014 12:41 am ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Quote:
To make kolibriOS FTPD run in virtualbox requires correct configuration of FTPD.INI and configuration of NAT in virtualbox
It looks like it's not necessary, I configured virtualbox network in bridge mode, so actually host and virtual systems are in same subnet (both got IP from my router). So I have connection between host system and KOS, I can ping each other, both systems have internet access via router, I can access local (host) http webserver via text browser in kos, etc.

Problem is, probably, in particular implementation of FTPD. I'm trying to upload file:
Code:
curl --disable-epsv -u test:1234 -T ./test.txt ftp://10.15.11.108/test.txt

(--disable-epsv is required because EPSV command is not supported by FTPD, see above)
And nothing happens: curl stucks at 0% uploaded, and this is that I see in ftpd log in KOS:

Code:
Thread 27 created
220 Welcome to KolibriOS FTP daemon

USER test
Login ok
331 Please specify the password

PASS 1234
Password ok
230 You are now logged in

PWD
/

PASV
227 Entering passive mode (127,0,0,1,7,208)
_


And that's all. I have no idea why ftpd can't receive a file.

By the way, if I try to configure ftpd.ini and create new user with home directory /tmp0/1/ (RAM disk), I'll got error "Directory /tmp0/1/ doesn't exist", but it actually exists. I'm not sure if it is a bug or I'm doing something wrong.

Author:  hidnplayr [ Wed Nov 26, 2014 8:43 am ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

FTPD cant receive a file because it's telling curl to try to open a data connection on 127.0.0.1
Quote:
227 Entering passive mode (127,0,0,1,7,208)

It's quite dumb, so you'll need to set the IP of the correct interface in ftpd.ini (10.15.11.108, since 127.0.0.1 trick will not work in bridged mode)

/tmp0/1/ should work, I'll test again later to be sure.

Author:  hidnplayr [ Wed Nov 26, 2014 11:53 am ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Ps: I would recommend to use another way to transfer your files during development, because of unfortunate stability issues with network stack.
I personally use a USB device, or inject project inside kolibri.img (rebooting VM before every test run is no problem for me)

Author:  ALPINE [ Wed Nov 26, 2014 2:14 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Quote:
or inject project inside kolibri.img (rebooting VM before every test run is no problem for me)
Yes, I think that batch script which quickly inject executables into .img and than starting VM is good solution, I'll try it. Thank you.

Author:  ALPINE [ Wed Nov 26, 2014 5:59 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Solved.

Copying to USB Flash Drive, starting vm (vboxmanage startvm "kolibri", flash drive disappears from host system), testing, closing VM, USB Flash Drive returns to host system. Not ideal, but quite ok for initial development. Next stop - compiling Hello World under linux.

Thank you for your help.

Author:  Sergey_vl [ Fri Nov 28, 2014 3:15 am ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

как вариант:
1) в kolobrios.img в фаил settings/autorun.dat в конце дописать /hd0/1/myprog
2) компилировать программу на флешку (например /media/flashka/myprog, где /media/flashka = /dev/sdc1)
3) запуск программы - sudo qemu -fda kolibri.img -hda /dev/sdc -boot a
После чего загрузится система, и запустится только что скомпилированная вами программа. Посмотрели. Закрыли. Опять скомпилировали (п.2) и запустили (п.3), и т. д.

Author:  ALPINE [ Mon Dec 01, 2014 5:49 pm ]
Post subject:  Re: Отладка прикладного ПО. Перенос файлов в вирт. машину с

Quote:
1) в kolobrios.img в фаил settings/autorun.dat в конце дописать /hd0/1/myprog
О, а вот это отличный совет, спасибо. Авторан как раз то, что нужно.

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/