Custom File System BIOS Parameter Block
Posted: Sat Oct 22, 2011 1:14 pm
When creating a custom file system, do I need to put in the BPB?
If so, what information would it need?
If so, what information would it need?
The Place to Start for Operating System Developers
http://f.osdev.org/
If you are creating your own file system you can put what you like in the bios paramether block, or leave it out completely. The bpb is part of the FAT and NTFS file systems; it is not compulsory for other file systems.m12 wrote:When creating a custom file system, do I need to put in the BPB?
If so, what information would it need?
I'm not so sure about that. The BPB is part of the boot sector, and BIOS / other boot-loaders expect the boot-sector to have a certain layout. If not, it would not attempt to boot from them.Casm wrote:If you are creating your own file system you can put what you like in the bios paramether block, or leave it out completely. The bpb is part of the FAT and NTFS file systems; it is not compulsory for other file systems.m12 wrote:When creating a custom file system, do I need to put in the BPB?
If so, what information would it need?
The BIOS might notice the AA55 signature, but I am not sure even about that. In any case, it isn't part of the BIOS parameter block.rdos wrote:I'm not so sure about that. The BPB is part of the boot sector, and BIOS / other boot-loaders expect the boot-sector to have a certain layout. If not, it would not attempt to boot from them.Casm wrote:If you are creating your own file system you can put what you like in the bios paramether block, or leave it out completely. The bpb is part of the FAT and NTFS file systems; it is not compulsory for other file systems.m12 wrote:When creating a custom file system, do I need to put in the BPB?
If so, what information would it need?
I'm pretty sure that it notices much more than the AA55 signature. Just remember what I what I wrote in the Bochs thread: Bochs didn't like my floppy image, that works on real hardware, and it does contain an AA55 signature, and a BPB. I'm pretty sure that boot-sectors for PCs cannot look anyway they want to look like themselves, because then some BIOSes and / or chain-loaders will refuse to boot.Casm wrote:The BIOS might notice the AA55 signature, but I am not sure even about that. In any case, it isn't part of the BIOS parameter block.
I'm tempted to disagree. Why would BIOS scan the boot-sector to see if there is any BPB present? Even 0xAA55 signature check has been dropped from newer BIOSes. Besides, Bios Parameter Block is the courtesy of the Filesystem.rdos wrote:I'm pretty sure that it notices much more than the AA55 signature. Just remember what I what I wrote in the Bochs thread: Bochs didn't like my floppy image, that works on real hardware, and it does contain an AA55 signature, and a BPB. I'm pretty sure that boot-sectors for PCs cannot look anyway they want to look like themselves, because then some BIOSes and / or chain-loaders will refuse to boot.
You mean you have never seen: "No devices to boot from" when you have inserted a bootable floppy? I have, and I know that BIOS requires certain things to be present in the boot-sector before it will attempt to boot. But different BIOSes will have different opinions about what should be present, which means the best is to provide everything that BIOS might check for!Chandra wrote:I'm tempted to disagree. Why would BIOS scan the boot-sector to see if there is any BPB present? Even 0xAA55 signature check has been dropped from newer BIOSes. Besides, Bios Parameter Block is the courtesy of the Filesystem.
No, not at least under BOCHS. While I won't further argue on this issue since I don't have too many BIOSes to test on, I'd assume those are the faulty BIOSes.rdos wrote:You mean you have never seen: "No devices to boot from" when you have inserted a bootable floppy?
That's the most likely result of incorrect configuration. Instead of blaming Bochs, you may want to post your Bochsrc file to let us find the problem.rdos wrote:Just remember what I what I wrote in the Bochs thread: Bochs didn't like my floppy image, that works on real hardware, and it does contain an AA55 signature, and a BPB.
Rather of an non-intuitive dialog for selecting floppy images. First, it is required a select a format (3.5'' 1.44MB), then an image file, type of image (1.44 again), and lastly one must check "inserted". If any of these are not made, it won't work. As soon as a floppy image is selected, format settings and "inserted" should be turned on automatically!Chandra wrote:That's the most likely result of incorrect configuration. Instead of blaming Bochs, you may want to post your Bochsrc file to let us find the problem.
That technically depends on what you expect of the medium. If you want to boot from it, chances are the BPB is read by the BIOS and interpreted accordingly. This reportedly applies to USB sticks in particular which lack a CHS geometry of their own.When creating a custom file system, do I need to put in the BPB?
The Bios Parameter block contains stuff which is specific to the file system, such as the number of FATs, sectors per FAT, number of entries in the root directory, number of reserved sectors, and so on. IBM had written the BIOS before MS-DOS, or the FAT file system, was even a gleam in Bill Gate's eye.rdos wrote:I'm pretty sure that it notices much more than the AA55 signature. Just remember what I what I wrote in the Bochs thread: Bochs didn't like my floppy image, that works on real hardware, and it does contain an AA55 signature, and a BPB. I'm pretty sure that boot-sectors for PCs cannot look anyway they want to look like themselves, because then some BIOSes and / or chain-loaders will refuse to boot.Casm wrote:The BIOS might notice the AA55 signature, but I am not sure even about that. In any case, it isn't part of the BIOS parameter block.
If you want to ensure loaders would load your boot-loader, you make sure that you follow the standards. Regardless of your FS. Period.
Basically, if it is a floppy, the BPB will be required, but not if it is a hard-drive. That makes sense, because I think BIOS will get fundamental floppy-parameters from the BPB (like type of floppy).Combuster wrote:I just cleared out my recollections and I located the original reference for the problem: BPBs on USB do matter, real hardware included.