vercas / Beelzebub

The Lord of Files - A hobby operating system
Other
33 stars 6 forks source link

Could Beelzebub fit on a floppy? #28

Open informer2016 opened 6 years ago

informer2016 commented 6 years ago

Hi @vercas ! I just noticed that Beelzebub's ISO size from the latest release is just 830 KB - so it seems that Beelzebub could fit inside a floppy! Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your wonderful OS could be a part of someone's BIOS build! _(for coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards )_

Please tell , are there any planned Beelzebub releases in a floppy format? (even 2.88 MB is supported, although 1.44 MB will be preferred because a space inside a BIOS flash chip is very limited, could be just 4 MB total with about 3 MB free space left for floppies after the primary BIOS part)

vercas commented 6 years ago

I could do that, somehow, sure. What would be the end goal, though?

On Dec 14, 2017 14:33, "informer2016" notifications@github.com wrote:

Hi vercas! I just noticed that Beelzebub's ISO size from the latest release is just 830 KB - so it seems that Beelzebub could fit inside a floppy! Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your OS could be a part of someone's BIOS build! (for coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards https://www.coreboot.org/Supported_Motherboards )

Please tell , are there any planned Beelzebub releases in a floppy format? (even 2.88 MB is supported, although 1.44 MB will be preferred because a space inside a BIOS flash chip is very limited, could be just 4 MB total with about 3 MB free space left for floppies after the primary BIOS part)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vercas/Beelzebub/issues/28, or mute the thread https://github.com/notifications/unsubscribe-auth/ABvT_blkamd81lI1vOXtxE5daiOkKEhzks5tATHPgaJpZM4RCJiZ .

informer2016 commented 6 years ago

@vercas Your OS could potentially become useful for some practical purposes - like KolibriOS which also fits on a floppy. Also - if you have a chance to get a coreboot supported motherboard - wouldn't it be cool to be able to launch your own OS straight from the BIOS? ;) Its very easy to add any floppy to coreboot BIOS build and then you see it as a boot entry, multiple floppies could be added this way (as long as you have enough space, luckily LZMA compression could be used for the stored floppies to reduce their occupied size)

vercas commented 6 years ago

I can help produce a build that fits entirely within a floppy. Will also eventually eliminate the need for multiboot and an intermediate bootloader.

What are the exact requirements for booting from BIOS ROM, though?

On Dec 14, 2017 14:44, "informer2016" notifications@github.com wrote:

@vercas https://github.com/vercas Your OS could potentially become useful for some practical purposes - like KolibriOS which also fits on a floppy. Also - if you have a chance to get a coreboot supported motherboard - wouldn't it be cool to be able to launch your own OS straight from the BIOS? ;)

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/vercas/Beelzebub/issues/28#issuecomment-351730409, or mute the thread https://github.com/notifications/unsubscribe-auth/ABvT_be_w08xvK8y3o0nQfeabJbxnMZ-ks5tATRLgaJpZM4RCJiZ .

informer2016 commented 6 years ago

@vercas, for example - imagine you would like to edit some text files at your hard drive very quickly and don't want to wait for the main OS to boot (which could take a few minutes). You just start your "floppy OS" from a BIOS ROM and instantly could access and edit these files! It would be nice to have such an opportunity - and in any case it can be a good idea to occupy the remaining free space at BIOS ROM chip with something useful - or just for fun

vercas commented 6 years ago

Hm, I can certainly think of more use cases now.
Yeah, this is something I'd definitely work on eventually.

Only problem is: I don't have a coreboot-compatible mobo. Or a desktop, for that matter.

informer2016 commented 6 years ago

@vercas, Hopefully you will have a chance to get the coreboot-supported board in the future, e.g. I saw a used Lenovo G505S (powerful A10-5750M quad-core AMD laptop supported by coreboot, could have 16GB RAM also) for just $100 at eBay, not sure if its still there though... According to https://github.com/coreboot/seabios/blob/master/src/hw/floppy.c , any floppy could be added - as long as it is one of these sizes listed below

// 1 - 360KB, 5.25" - 2 heads, 40 tracks, 9 sectors
// 2 - 1.2MB, 5.25" - 2 heads, 80 tracks, 15 sectors
// 3 - 720KB, 3.5"  - 2 heads, 80 tracks, 9 sectors
// 4 - 1.44MB, 3.5" - 2 heads, 80 tracks, 18 sectors
// 5 - 2.88MB, 3.5" - 2 heads, 80 tracks, 36 sectors
// 6 - 160k, 5.25"  - 1 heads, 40 tracks, 8 sectors
// 7 - 180k, 5.25"  - 1 heads, 40 tracks, 9 sectors
// 8 - 320k, 5.25"  - 2 heads, 40 tracks, 8 sectors

it is possible to have more than 1 floppy of course, and if you use LZMA compression option while putting this floppy image to the BIOS - it will occupy less space there, and will be quickly uncompressed by the BIOS when you try to boot it

vercas commented 6 years ago

I am definitely interested in this with one goal in mind: being able to use the same OS installation with any disk, so you can swap disks in and out at any time, without having to make sure it's installed on each disk.
Beelzebub can also double as a bootloader in this case, so it may be able to chainload other OSes.
Or, even better: boot disks into VM.

I'll have to slim down the kernel a bit (which I'm already doing) and get rid of more bloat. For instance, the initrd shouldn't be the fake sysroot created in order to build the OS.
Things like headers and static libraries aren't needed.

informer2016 commented 6 years ago

@vercas yes there are a lot of possible opportunities ;) I will be following your project and wish you good luck

informer2016 commented 5 years ago

@vercas Hi there, Alexandru ! :wink: Any updates regarding a possible floppy build? I'll be updating my coreboot in the near future and that would be a good opportunity to test your OS as a part of coreboot - I will do it if a floppy would be available

vercas commented 5 years ago

@informer2016 Sorry for the lack of updates, I've been really busy with work.
Once I finish a major project at work (really soon actually), I'll get back to development.
I have lots of changes that I just haven't pushed to the repo yet... I will once I make sure the build is stable.

informer2016 commented 5 years ago

@vercas no problem, I'll be checking Beelzebub sometimes (nice name btw) to see if there are any news... Wish you a nice coming holidays ! :wink: :christmas_tree:

informer2016 commented 5 years ago

@vercas Happy to see you back at Beelzebub :smiley: any news about a floppy build? :wink:

vercas commented 5 years ago

@informer2016 There's a lot of bizzare issues to fix before I can have a proper build...
If I just build it with all the bugs, I won't know which has something to do with the floppy build specifically and which doesn't.

vercas commented 5 years ago

@informer2016 FYI I'm nearly done squashing bugs. There's some weird stuff going on, probably because I'm using a newer GCC version to compile and it's finding more UB in my code, but I'm working on it... e.g. When I remove the debug print at the beginning of the mailbox test, it stops working...

In the meantime, I added a proper scheduler (required for a couple of tests).

informer2016 commented 3 years ago

Good day @vercas ! Any news my friend?