BFS access in windows

As I mentioned on IRC, I have been working lately on reading the contents of a BFS partition in windows.

Right now this is only limited to a userland application, but adding more functionality and converting this to a filesystem driver is on the roadmap. However there is still a long way to go.

Current status:

  • mount multiple partitions
  • browse files
  • copy files to windows

some screenshots:

You may notice SkyFS in those screenshots. That’s because I started this to access skyfs partitions (skyfs is based on bfs) and as you can see, I can read both types.

I will keep you guys updated on my progress.



This IS good!

Such feature would encourange users to spend time using Haiku in more productive way without the fear that some required reboot to Windows would render their files inaccessble.

Keep it up!

This is exciting news, Peter. Good job on the work you’ve done, and good luck on continuing it. :slight_smile: Are there any plans to be able to write to BFS volumes, or will it be read-only, or have you not decided?

I hope when you get a driver finished, you will release the source code (preferably under the MIT license). :smiley:

Actually, because I have been using quite some Haiku code, it already includes a lot of code for handling writing. But some parts of the code are still missing. I’m still testing read support and adding more features like getting the attributes. I will definately try writing though.

I haven’t decided about the code yet, but I will probably open source it in the end.

Well, i hope you’ll decide to “port” it on ReactOS:wink:

Marco Ravich

Forward Agency

In progress we (always) trust.

Looks nice, and of course I will find some uses for it when released :), but… wouldn’t be nicer to use a similar approach to EXT2IFS?

Links: (closed source)

With Source:

GPL virus, granted, but… :slight_smile:

a filesystem driver is the final goal but a userspace application is much easier to work on and do testing without bringing down windows.

I already looked into those ext2 drivers but I first want to make the interesting stuff work before I attempt any driver stuff.

As a side note, I made some progress:
the application can now read attributes as well. It has been tried on both SkyFS and BFS partitions and appears to be working as expected :slight_smile:

1 Like

Kernel/User space: totally understandable, been there too :slight_smile:
Glad to know the end goal is a fs driver, and happy to read about your progress.

Thanks for your work!

Very nice Peter. I don’t think anyone else has mentioned that once this is fully working (even if just in a userland app), it makes the prospect of a Windows-based Haiku installer more realistic. I know some of the Linux distributions are moving in this direction (at least as another option to a LiveCD install), so it would be good to at least have some prospect of this for us as well.

Plus it is very handy to be able to access BFS files from Windows. Even if you eventually make a FS driver, a FTP-like app for reading (and maybe writing) files would be very useful.

windows based installers, now there is an idea I didn’t think of yet :slight_smile:

some new screenshots here:

This is great! Whatever happened to it?

Sorry for the long silence, I’m still alive!

I’m a little busy at the moment, mostly with some other SkyOS related projects and a full time job.

I really should look into the write support one day. Biggest todo for that is implement proper locking and a function to actually write to the raw disk.

I still have to see if I can compile this in visual studio 2008, I guess it might need a little tweaking.
I don’t know yet when there will be another update but I will certainly let you guys know.

I alwas wanted this, BFS always seemed a much better filesystem for storing media (read mp3 music) but by not wanting a duplicate copy I left everyting on NTFS :frowning: for years now

Will it only access partitions or will it be able to access images as well? I’ve ran into nothing but trouble when trying to transfer information to/from an image used for VM and thought it would be an iteresting learning experience to try to write a program to do that. With as good as this program looks I might need to consider learning something else or some other way!

Someone reminded me again of this project…

Since SkyOS seems more or less dead these days, I haven’t really continued on this.
However, I am willing to donate my code to the haiku community.

There is some ugly code in there but I’m sure there are some bright people here that may be able to sync this again with the current BFS code and make it a little more usefull (windows bfs driver anyone?)

Anyone interested?


I think that is a great offer. You should probably restate that offer to the haiku-development mailing list, where most of the core developers reside. Even if it isn’t worked on immediately, it will be good to have your code in SVN, so that volunteers can pick it up. Maybe it could be a GSOC candidate? (I’m just guessing)

BFS under windows sounds great.
Thank you that you want to donate your code to haiku.

But PieterPan is right, the mailing list is a better place for such offers.
Please post this on the mailinglist again, there is the place where the developers are.

I already launched an email on the 3rd party developer mailing list, but there was not so much response so far.

I am rather occupied at the moment, but perhaps I could already upload the code somewhere so people can already have a first look. (think sourceforge)

I think OSDrawer would be an excellent site for this, as it is meant for Haiku development, probably leading to exposure to the right people. This way it will not be forgotten.

It might also be a good idea to pass this past the ReactOS devs. They have a lot of experince with freeware Windows drivers, and there’s the possibility it could get taken up by one of them.