This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
The Crazy Phoenix's profile picture

Freeze BIOS (Beta) - A new bootloader | Fully Compatible | Now with an auto-updater

Started by The Crazy Phoenix, 18 January 2016 - 06:56 AM
The Crazy Phoenix #1
Posted 18 January 2016 - 07:56 AM
Freeze BIOS

A new Computercraft bootloader



Freeze BIOS is a simple Computercraft bootloader which allows you to run any OS, each in their own environment.
The operating system doesn't even need to have a compatible installer.
Freeze BIOS also supports the use of disk drives, allowing you to share your files using floppy disks.
It now also supports password protection.

How can I install this?

Warning: Before you install Freeze BIOS, I recommend you copy all your files to a floppy disk, unless if you wish to lose them. I am not responsible if you lose files when using the installer.

Note: Greyscale support is currently unavailable, but will be soon (i.e. when I get the time to add it).

Installing Freeze BIOS is easy, just run "pastebin run cfkxk94k" in the command line and let the installer do it's thing.
Also note that installing Freeze BIOS when it's already installed will (probably) simply cause the computer to shutdown whenever the OS it's installed to is ran.

How can I install an OS?

If you have already installed this bootloader but want to add another OS, reboot your computer and on the boot screen press any key, which will open setup. Select the "Install OS" option and pick "Install from disk" (install from Pastebin is planned but not yet implemented). From there, select the disk from which you want to install. If you don't have a disk, you can easily get the OS's installer and save it as "startup" on the disk. Only disks with a startup file will be visible in the list. Once you have selected a disk, just enter the name of the OS and let Freeze BIOS run the installer for you. After the installation, it will automatically boot in the default OS.

I've found a bug, how do I report it?

If you've found a bug, simply click here and create a new issue so I can rapidly patch it. The source code can also be found here, so if you wish to help speed up the bug fixing process, you can locate the mistake in the code. You can even go so far as to make a pull request containing the patches. I also accept issues that request for features.
Edited on 20 January 2016 - 06:34 PM
The Crazy Phoenix #2
Posted 18 January 2016 - 05:50 PM
Released a new update!

Features and bugfixes:
- Fixed "Install OS" menu exiting straight into OS when "Cancel" was selected
- Fixed "Install from disk" crashing if there were no available disks to install from

Planned features for next update (not yet available):
- Uninstall option.
- Install OS from Pastebin
- Update function? (depends on how long it takes to write)
Edited on 18 January 2016 - 04:52 PM
Tobias SN #3
Posted 19 January 2016 - 06:25 AM
Most people use a trick where it checks a number inside the code, and if it is higher than in the installed code, it starts the update procces, else, it simply just runs the code. Or you could be like me and make it like this:

Updater:
Have a seperate file on Pastebin like this:
newVersion = x
And make the local code like this:
version = x
    shell.run("pastebin run xxxxxx")
    if newVersion > version then
	  <Insert fs.delete() for every file used by Freeze BIOS to run>
	  <Insert shell.run("pastebin run [size=4]cfkxk94k")[/size]
[size=4]    end[/size]
	  
The Crazy Phoenix #4
Posted 19 January 2016 - 06:33 PM
Released a new update!

Features and bugfixes:
- Fixed installers using the shell API crashing
- Added uninstall option
- Added install OS from Pastebin

Planned features for next update (not yet available):
- Auto-updater (will take some time)
- Improved individual OS setup menu (if auto-updater doesn't take as long as I think it will)

Unless if you would like to test Freeze BIOS for bugs, I recommend you wait for the update with the auto-updater. However, I highly value bug reports as they help me fix and improve the bootloader.
I'm also open to suggestions. If any suggestion seems feasible and is a decent feature for a bootloader, then I will add it to my TODO list.

Most people use a trick where it checks a number inside the code, and if it is higher than in the installed code, it starts the update procces, else, it simply just runs the code.

I've already thought about this, but thanks for pointing it out. There's a file called "build" in the "bios" directory (can be viewed on GitHub) which stores the build number.
That build number will only change every time when the auto-updater has been released. If demand is high, I might make a special dev build which will be updated much more often.
Here's a fun fact: I haven't yet changed the installer on Pastebin. That's because it installs straight off GitHub.
Edited on 19 January 2016 - 07:28 PM
The Crazy Phoenix #5
Posted 20 January 2016 - 07:41 PM
Released a new update!

Features and bugfixes:
- Added an auto-updater (hooray!), thus marking the start of Freeze BIOS Beta
- Improved auto-updating system to try to avoid reinstalls, while still allowing the repository to tell the updater the system requires a reinstall

Planned features:
- Fix buggy shell API emulation (Craft OS version dependant) by replacing it with a real sandboxed shell
- Improve individual OS setup menu
The Crazy Phoenix #6
Posted 21 January 2016 - 08:59 PM
Released a new update!

Features and bugfixes:
- Fixed the auto-updater (I hadn't got the time to test it last time, but I know it works now)
- Removed the buggy shell API emulation when running installers and instead ran the installers through the real shell

Planned features:
- Improve individual OS setup menu
- Add a bunch of utility methods to the BIOS environment so I don't need to keep redefining them (internal change)
The Crazy Phoenix #7
Posted 22 January 2016 - 06:28 PM
Released a new update!

Features and bugfixes:
- Added the "Change Password" option, it previously did nothing.
- Added internal libraries (internal change) to keep the code less messy.

Planned features:
- Improve individual OS setup menu (will take a while)