Comments (16)
@magicgoose Yeah, that's possible. Not high on my priority list though.
from v86.
Sorry for "necroposting", but… Is it realistic to also make networking work in Windows 9x images? I guess it would be a lot of fun to walk around in Internet Explorer 5, for example…
from v86.
- Integrate an FTP server (or something more fancy) to allow file exchange between browser (via FileSystem API) and VM
from v86.
The problem with integrating an standalone FTP server is, that you have to implement a full tcp stack in Javascript first including arp and probably dhcp.I am not sure, how easy that is. There are other options like shell control over uart ("ls", "cd", "dd", "cat", ...), an own Fuse driver, which interacts with the outer world or virtio/9p used in arm-js or jor1k. But all of the "easier" solutions work only under Linux.
from v86.
QEMU has an user mode udp/tcp/ip stack. You can find it in the directory "slirp" in the source code. 300kB of code. And it includes even an ftp server.
from v86.
You're right of course, building a complete network stack is going to be quite some effort to get working. FTP would have been nice because it works in KolibriOS and virtually any Linux distribution.
I'll probably need to look into the alternatives. Sharing code with other projects is of course always an option, as long as they're compatible with BSD (wink).
I'd prefer something that can be mounted (which is the case for FTP and virtio, but not transfer over UART).
from v86.
There's network support since 2fe66de. The server runs websockproxy, so it's already possible to make rate-limited connections to the internet. The emulated ne2k device works on Linux and KolibriOS.
Adding support for FTP or similar should be unnecessary, since we already have virtio/9p. Using the latter will be much easier if we want to implement file exchange between browser and emulated OS.
from v86.
@copy Are there any plans to add network support to one of the images per default, like jor1k has? I couldn't get network support working with the existing ones.
from v86.
@ysangkok Network support is enabled in the (currently experimental) Archlinux image: http://copy.sh/v86/?profile=archlinux after running dhcpcd -w4
It should also work in KolibriOS, but there seems to be a bug right now. If you're interested, I could also build another small Linux image with some network tools.
from v86.
@copy
I got it to work in the Arch image using ifconfig and route. However, this is cumbersome. Do you know if there is a DHCP client installed? dhclient
and udhcpc
didn't work.
The ttylinux-5.3 image (kernel 2.6.16) from my other bug (the bug with the slow entropy collection) has busybox and it's embedded udhcpc
DHCP client, and it works partially (the card emulation has bugs) in JPC (which emulates the same network card). However, when I launch udhcpc
in v86, it doesn't work. SIOCGIFINDEX: No such device
seems to suggest the device isn't recognized. I get the same issue in Scientific Linux 3.09 (kernel 2.4), which I have a 1GB harddisk image of. They both show an error in the kernel log: ne2k-pci: no I/O resource at PCI BAR #0
. The ne2k-pci driver in Linux has hardly changed, so how come it works in Arch but not in these two others?
It works perfectly using ttylinux-2015.01 though: http://copy.sh/v86/?profile=custom&cdrom.url=http://k%C3%A6n.guru/files/ttylinux-pc_i486-2015.01.iso
from v86.
@ysangkok dhcpcd
is a DHCP client (despite its name).
The fact that it doesn't seem to work in older Linuxes is a bug in the emulation of the ne2k card (or maybe in IO handling). I will look into this too.
from v86.
I can confirm, that it is not even working in latest Buildroot. same error: ne2k-pci: no I/O resource at PCI BAR #0
Kernel: 3.18.6
JAn
from v86.
@honzucha I can't reproduce this in the latest Buildroot. Could you send me the kernel config?
from v86.
@fabian, I have used default for i386.
Od: Fabian [email protected]
Odesláno: 2. bøezna 2015 19:10
Komu: copy/v86
Kopie: Jan Anto¹
Pøedmìt: Re: [v86] Network support (#23)
@honzuchahttps://github.com/honzucha I can't reproduce this in the latest Buildroot. Could you send me the kernel config?
Reply to this email directly or view it on GitHubhttps://github.com//issues/23#issuecomment-76765812.
from v86.
Buildroot make menuconfig
Kernel -->
Kernel Configuration (Using a defconfig)
(i386) defconfig name
from v86.
I see. The problem is actually related to a recent change in the kernel in PCI bus handling (not network emulation). I'll fix it, thanks!
from v86.
Related Issues (20)
- hardcoded 'partfile_alt_format' HOT 2
- Windows 98 floppy disk support
- how did you build this HOT 1
- NodeJS performance on alpine/arch running on v86 HOT 27
- cirrus vga HOT 3
- Sound in ReactOS HOT 3
- Will There Be An Virtual x64 HOT 1
- what is Fetching v86.wasm ... HOT 13
- Bios or UFEI HOT 3
- Suggestion - Fast floats HOT 6
- Qcow2 file not working HOT 1
- Request: add ACPI support to the bios, or switch to one that supports it(whichever is easier) HOT 14
- Can't Run any OS if IDM is installed in the Browser HOT 2
- chromium os? HOT 3
- QBasic can't access EGA or VGA modes in the DOS 6.22 image HOT 2
- Update Android-x86 Boot Time HOT 1
- Mechanism to communicate from emulated OS to API HOT 3
- issues HOT 4
- "Invalid argument" on creating file in 9p filesystem (Linux) HOT 13
- Windows 8 driver issue while using v86 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v86.