Log In  


Arc - First system loader ever made for Picotron

Arc system loader, or shortly arc is a system made inspired by multi-booting in computers. Arc tries to replicate this behaviour by mounting /system on host and switching between systems as user wants.
This can open door to new systems and more customizations! You can make your own changes and publish them on net so everyone can try it.

Warning

Arc is still in very early development. And the development takes time as the only source to debug this kind of system is via logs. I have to personally test tens not if hundreds of ways to achieve such problems. Initial release took about 15~ hours to make -it is not even that long!-. If you want to contribute to project you are free to. Github links below.

How to use Arc

  • Install arc via load #arcsystem
  • Ensure you have network setting on and have access to a network!
  • Run arcsystem and install it.
  • Now you can access to system selector.
  • Download any system you want and put them under /system/{name}.
  • Now you can run arc again, select your system and reboot to your selected system!
  • If you ever want to delete it. Go to your drive folder on %appdata%/Picotron/drive and delete /systems and /system.

Technical Information About How It Works

Installer:

Installer creates a new folder with name of /systems. This is where your systems are stored. By default your current /system is copied to /systems/picotron. It is always the default system. Any modifications made by you persists.

While copying, boot.lua is renamed to sysboot.lua which is entry point of any arc system.
The reason is that boot.lua is replaced with custom boot file that copies selected system from /systems/{name} to /system and runs sysboot.lua. More details on boot.lua section.

After creation of systems folder and copy operation, /system directory is mounted on host. However, any changes made to /system does not persist. More details on boot.lua section.

Then boot.lua gets downloaded from github repo and is put under /system

Finally, metadata of /system is set to {system="picotron"}. You can access the current system via fetching metadata this way. Which is a huge + considering there might be apps that targets to work on multiple systems.

Custom booter (boot.lua)

The job of boot.lua is pretty simple. It fetches current system from /systems folder.

After fetching, it prepares /system folder by removing anything inside /system folder and then copying everything from /systems/{selected system} to /system.

Finally it fetches /system/sysboot.lua, loads it and runs it.

Any more details of how they really work can be found on files.

Github

Cart #arcsystem-0 | 2024-06-28 | Embed ▽ | No License
4

4


This is genius


1

Arcsystem 1.0.0 is here!

We spent hours of work to this version and there is still to add so many things!

Changelog

  • Added safety features to boot.lua. A system crash will revert back to picotron. If picotron default os is faulty, deletes /system folder.
  • Installer new GUI from 369px!
  • New bootscreen feature! ?store_metadata("/systems", {type=1})

I know it might seem a few changes. But it is really indeed hard to develop such an app. The amount of crashes we had, it was pretty hard to debug and sometimes we spent hours trying to find simple mistakes. On the next update, you will see much cooler things!

Cart #arcsystem-1 | 2024-07-16 | Embed ▽ | No License
1


Update for 0.1.0h

Hey arc system users, as you might have noticed an issue with arc after updating your picotron to 0.1.0h. We temporarily released an update for the issue. In any case, you have to delete your /system and /systems (do not forget to back up any custom OS you might have). And re-install the arc. This was our first time that we saw an update on Picotron and we weren't ready for it. We will work on a update protection system. Sorry for the inconvenience.

Cart #arcsystem-2 | 2024-07-21 | Embed ▽ | No License



[Please log in to post a comment]