Page 1 of 1

Filesystem and System's Kernel

Posted: Sat Dec 15, 2007 7:32 am
by Icydemon
Hey there guys.

After much reading and failure i managed to assemble a little kernel that is able to jump to 64bit mode (x86-64) but the thing is that i understood that i cant load my kernel by reading the harddrive (and in my case, my usb stick that i use temorarily) endelssly since the kernel will always grow bigger (more reads, more modifications to the boot stages...)

The question is: Is there any efficient filesystem that i can implement in my 2nd stage boot loader (where i make the final jump to 64bit mode) to implement so that i store my files and load them ? And some help in implementation would be much appreciated :)

Thanks in advance

Posted: Sat Dec 15, 2007 10:20 am
by Combuster
FAT would be the best compromise between ease and support. SFS is easier but is new and not so well supported. Ext2 is more complete and free of the legal blabla that comes with FAT, but more difficult.

In all cases, search the wiki for more detailed information on each individual filesystem.

Posted: Tue Dec 18, 2007 11:16 pm
by mathematician
My intention is to read from absolute disk sectors, and then incorporate them into the file system in retrospect. You could go back and make a fancier boot loader once your file system was up and running, if you wanted to.

Posted: Wed Dec 19, 2007 4:20 am
by AndrewAPrice
Combuster wrote:and free of the legal blabla that comes with FAT, but more difficult.
What is the license behind FAT? MS owns all our code because we can read from a FAT partition?

Posted: Wed Dec 19, 2007 4:28 am
by Combuster
FAT's patented.

Posted: Wed Dec 19, 2007 4:56 am
by Brendan
Hi,

AFAIK FAT itself isn't patented, and anyone is free to implement code that supports it. However, Microsoft's "long file name extensions" to FAT are patented, so you're limited to 11 ASCII characters.

@Icydemon: For me *something* loads a boot image into memory, gets information from whatever firmware is present, puts the computer into a well defined state then passes control to the OS's Boot Manager. The OS itself doesn't care if it came from contiguous sectors, from some sort of filesystem somewhere, from a DHCP/TFTP server on the network, from ROM, etc; and also doesn't care if the firmware was PC BIOS, EFI, LinuxBIOS, a custom embedded ROM, etc.


Cheers,

Brendan

Posted: Wed Dec 19, 2007 1:26 pm
by bewing
Brendan is correct, any patent to FAT itself is long expired, if there ever was one. The LFN thing is a patent on the precise way that LFNs are stored in MSDOS v6 directory structures -- so you are not supposed to implement/write, or try to read DOS/Windows directory structures -- without paying a license fee to M$. (And, yes, I have read the patent itself.) The LFN patent expires in less than 6 years.
It is a common oversimplification in the programmer community to say that FAT is patented.

Posted: Wed Dec 19, 2007 2:34 pm
by Brynet-Inc
I don't think Microsoft is actively suing people who have implemented support for FAT with LFN yet though...

IMHO, It's "legally cloudy"... but how enforceable are software patents outside of the USA anyway? :wink:

BTW, The SFS project is dead or inactive now right? perhaps that one should have been advocated more.. :?

Posted: Wed Dec 19, 2007 4:55 pm
by Combuster
bewing wrote:It is a common oversimplification in the programmer community to say that FAT is patented.
A proper implementation of FAT will indeed suffer from the patent issue, so it isn't really an oversimplification. There are patents governing aspects of FAT. Besides the OP's post count is still at one so I wanted to spare him the recently posted "legal blabla" by sticking to the short answer.

I am well aware of the fact that the patent in question deals with LFNs only
Brynet-Inc wrote:BTW, The SFS project is dead or inactive now right?
I promote it at the chance I get, but I do stay realistic about it as in not taking a 100 watt amp and proclaiming its the best thing since superscalar architectures. :wink:

Also, there's a link in both candy's and my signature.

Once my OS will be able to support VFS and everything, SFS will be the second FS on the todo list. I am still hoping that an implementation for comparison will be available at the time instead of having on the correctness of my current implementation.

Posted: Tue Dec 25, 2007 8:14 pm
by crazygray1
I don't think Microsoft is actively suing people who have implemented support for FAT with LFN yet though...
Why does everybody have to be interested in suing everybody else?!!
Why can't programmers just write their bloody code and get on with life without worrying about breaking some patent or license??!!

Open Source RULES!!!
Propriety MUST BURNNN!!!!!

Ok I'll chill out now...

Ok ok I got it :)

Posted: Tue Jan 01, 2008 10:00 pm
by Icydemon
Since im focusing on other things from the beginning and dont want to implement a thing, then change it to another etc. etc. Im focusing on writting an EXT3 Driver for the Filesystem (this is the goodnews)

The bad news is that i am not sure if it is My best option i got out there and as far as i have read there are a bunch of filesystems that provide different things.

On the FAT thingie, yep, it easy i checked it out myself. On the other hand it is stupid (for me atleast) to have a 64bit OS with FAT(omg) support. Yes, at a point it will include fat support to read old HDDs and to be backward compatible with old systems but no, i dont wanna boot from a fat partition.

On the EXT(Put your number here) thingie: I believe it is the only Filesystem that i could implement in my OS (and i'll have some compatibility with my dev machine since i run linux there), but on the other hand there will be a long time before i implement a M$ FS driver to read and write them.

Thank you all for the comments :D