Sharing SD Card Content over LAN; Mount as a network drive on Windows?

Wasn't sure if this thread belonged in the Networking board or this one~ I was originally concepting the unit on Raspberry Pi architecture but thought, if possible, if I could base it on Arduino, I could skip the loading of Linux, Samba, FTP stuff etc. and actually have a faster, cheaper and more available system (The large line to recieve the Pi?).

Regardless, I am making a prototype for a kind of network backup/storage unit that a user (Primarily aimed at a student... But may make Home and Professional units too) (Not getting into too many specifics such as the auto-backups etc...) can simply set up and use. I'm giving the user a Network-interfacing device so not only can they access it wirelessly, they can also eave it at home and not worry about losing it; Also so they can access their files off it from other computers or even let a group of students collaborate locally.

Now, I was wondering, is it at ALL possible to do the following, and how would one go about getting it to work; Arduino and an Ethernet Shield. Ethernet has an 8GB SD Flash card installed. Something is programmed in so the entire contents of the SD card are shared through the ethernet port and it can be seen and mounted in Windows AND Linux as a Network Drive, so that a client I have written can connect to it AS a network drive (Tested this using a spare desktop and sharing its HDD over LAN and the client worked fine...)?

... [TL;DR Version: Using the Ethernet Shield, how would I go about sharing the contents of an attached SD card over LAN so a Windows or Linux computer can connect to it as a network drive, and move files onto it, around it, delete them etc.?]

Now, I was wondering, is it at ALL possible to do the following

No. Some of what you want to do is possible, but not all of it.

Ethernet has an 8GB SD Flash card installed. Something is programmed in so the entire contents of the SD card are shared through the ethernet port

This part is possible, and fairly easy.

and it can be seen and mounted in Windows AND Linux as a Network Drive

This is the part that, while possible, is not going to be easy. This requires drivers to perform the interface between the OS and the Arduino as network client. I would be daunted by the task of writing such a driver for one OS, let alone two. And what about Mac users? They will not be forgotten easily.

Ethernet has an 8GB SD Flash card installed. Something is programmed in so the entire contents of the SD card are shared through the ethernet port

This part is possible, and fairly easy.

and it can be seen and mounted in Windows AND Linux as a Network Drive

This is the part that, while possible, is not going to be easy. This requires drivers to perform the interface between the OS and the Arduino as network client. I would be daunted by the task of writing such a driver for one OS, let alone two. And what about Mac users? They will not be forgotten easily. [/quote] Thanks. If the card is formatted as Fat32; should it theoretically be seen by both Windows and Mac? (I am primarily tailoring this for Windows users with room to go into Mac if need be; this is aimed at uni students which I've noticed mostly have PCs) Any pointers on where to get started? I thought it would be as simple as sharing the SD Card over LAN, the same way one can share a folder on one's computer :\

Another option I could take is sharing the SD card libraries through the USB socket rather than LAN; is there a way so that one can plug the device (using the square-usb to standard USB cable) into their computer and read files off the SD card (sorta like a removable disk)? I've been doing some digging around and most modern routers will actually share this system (theoretically like a USB Drive) over LAN; so this too could be a doable path. Could this be possible (or if possible, easier than sharing over LAN)? Thanks :P ~Julian

EDIT: I believe that the USB port is actually Serial and a driver may be needed? If so then I wouldn't mind supplying a driver; where can I get my hands on some source driver code to tweak, compile and install with the software? Thanks :3