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)
- IP via vpn? HOT 1
- Boot Blue Jay? HOT 1
- Mounting CDROM ISO after loading emulator??? HOT 2
- Screen appears to "loop around" when resolution goes above 1024x768 on Alpine Linux
- Endless black screen loading from large .img file when selfhosting, no issues manually loading on website HOT 4
- resizing dom terminal HOT 2
- fetch-based networking follow-ups HOT 5
- linux kernel crashing in browsers HOT 2
- Is it possible to network v86 instances together inside the browser? HOT 10
- my idea for the V86 Browser HOT 1
- Support for other code pages in text terminal? HOT 39
- Windows 95 sound support HOT 4
- Why does Android x86 doesnt work? HOT 5
- Boot reactos HOT 1
- lots of images are available by default, why only 26 listed on index? HOT 4
- Windows Me support HOT 2
- ReactOS - cant load initial state HOT 6
- OpenWrt 23.05.4 is working HOT 2
- Arch linux has no networking HOT 5
- Mouse doesn't work in Arch Linux HOT 2
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.