Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Sep 18, 2020 2:55 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Tue Nov 25, 2014 5:19 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Здравствуйте.

С системой познакомился буквально недавно, хочу поучаствовать в конкурсе игр (писать планирую на Си без плюсов). На данный момент главная проблема - быстрый перенос файлов из хост-системы (работаю в 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

_________________
Roman Shuvalov


Top
   
 Post subject:
PostPosted: Tue Nov 25, 2014 8:33 pm 
Offline
User avatar

Joined: Sat Oct 05, 2013 9:32 pm
Posts: 386
Запускаем виртуалку из под рута, запускаем kos, потом в нижней части окна virtualbox ищем "устройства" и там находим флешку. Флешка отмонтировывается от минта и появляется в кос. Потом там же флешку отмонтировываем от кос, она автоматически монтируется в минт. Ничего перезагружать не нужно.

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


Top
   
PostPosted: Tue Nov 25, 2014 9:00 pm 
Offline
User avatar

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

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

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

_________________
Roman Shuvalov


Top
   
PostPosted: Tue Nov 25, 2014 10:01 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
FTP клиент в KolibriOS сработал. Файл получен. Скажите, а нельзя ли каким-нибудь .bat-файлом (в KOS) сразу выкачать файл с ftp- или http-сервера? Чтобы не писать ftp-команды руками. Наподобие wget.

_________________
Roman Shuvalov


Top
   
PostPosted: Tue Nov 25, 2014 10:40 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1275
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...

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Wed Nov 26, 2014 12:41 am 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
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.

_________________
Roman Shuvalov


Top
   
PostPosted: Wed Nov 26, 2014 8:43 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1275
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.

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Wed Nov 26, 2014 11:53 am 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1275
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)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Wed Nov 26, 2014 2:14 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
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.

_________________
Roman Shuvalov


Top
   
PostPosted: Wed Nov 26, 2014 5:59 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
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.

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Nov 28, 2014 3:15 am 
Offline

Joined: Mon Feb 16, 2009 5:40 am
Posts: 80
как вариант:
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), и т. д.


Top
   
PostPosted: Mon Dec 01, 2014 5:49 pm 
Offline
User avatar

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

_________________
Roman Shuvalov


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 12 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited