Persistence

Overview

How System persistence works.

System persistence allows or you to customise the /system folder in Picotron (the system files of it)

Persisting Picotron

You can do this easily by opening the Picotron Terminal and typing

cp("/system","/system.")

This creates a clone of your picotron system that is editable by the Host Operating System - this causes all changes to /system to be permenant from both edits within and outside of Picotron.

Use cases

You could use this for editing system files such as the default software used, e.g: using a different filenav or code editor by default.

This is used within the Picotron Distribution System to allow custom operating systems.

v0.2.2 (unreleased)

Going by communications with Zep, /system persistence is going to be supported more, allowing for you to have passthrough files rather than cloning the entire /system drive to change something.

This allows for stuff like distributions to not affect the licensing of /system.

This works by:

Picotron's /system being defaulted to the system rom (stored within the Picotron runtime).

If the folder /picotron/drive/system exists, it will overwrite any files that exist in /picotron/drive/system into Picotron's loaded /system.

This adds better support for updating Picotron with a persistent system as you can safely edit stuff like system apps without losing any updates to other things like libraries or the wm & pm.

Example

Within /picotron/drive/system, you have the folder /apps/ which contains filenav.p64, this is a custom filenav for Picotron - rather than the built in filenav.

When opening Picotron, everything will be loaded as if that doesn't exist and the filenav.p64 will then overwrite /system/apps/filenav.p64 in Picotron.

This happens before the boot sequence (running boot.lua) so that your system can be fully edited.