Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Apr 20, 2024. It is now read-only.

minexew/Shrine

Repository files navigation

Shrine is a TempleOS distribution full of sin.

Screenshot


Shrine aims to be 99% compatible with TempleOS programs, but also to improve OS in several ways:

  • Ease of use: Shrine ships with Lambda Shell, which feels a bit like a classic Unix command interpreter
  • Connectivity: TCP/IP stack & internet access out of the box
  • Software discovery: Shrine includes a package downloader

You can run Shrine in a virtual machine such as VirtualBox or QEMU, or on a machine compatible with standard TempleOS. Improvements in hardware support are planned and contributions are welcome.

Software included in Shrine:

  • Mfa (minimalist file access)
  • Lsh (Lambda Shell)
  • Pkg (package downloader)
  • Wget

Networking & host-VM communication

  • With a virtual AMD PCNet adapter (recommended)

    • configure your VM networking: Adapter Type: PCnet-PCI II (in QEMU: -netdev user,id=u1 -device pcnet,netdev=u1)
    • Attached to: NAT seems to be the most reliable setting, Bridged Mode also works somewhat
    • On boot, Shrine will automatically attempt to acquire an IP address. If you don't see a message about "Configuring network", the adapter was not detected.
  • Tunelled through serial port (Snail):

    • configure your VM: COM3 - TCP, server, 7777 (in VirtualBox, server = UNCHECK Connect to existing)
    • (make sure to disable networking for the VM, otherwise Native Stack will get precedence)
    • start the VM
    • run ./snail.py
    • you will now be able to access the Internet, try for example pkg-list
  • File access through Mfa:

    • configure your VM: COM1 - TCP, server, 7770
    • start /Apps/Mfa.HC.Z in the VM
    • on the host, use ./mfa.py to transfer commands and files
    • for example: ./mfa.py list /Apps/Mfa.HC.Z Mfa.HC

Networking and Mfa can be used simultaneously.

Package management functions

Note: In Lsh, use pkg-install xyz in place of PkgInstall("xyz") etc.

  • PkgList;

    List all packages available in the repository.

  • PkgInstall(U8* package_name);

    Download & install a specific package.

  • PkgInstallFromFile(U8* manifest_path);

    Manually install a downloaded package. Manifest must reference an existing .ISO.C path.

  • PkgMakeFromDir(U8* manifest_path, U8* src_dir);

    Build a package from directory contents. For an example manifest, check here. Manifest must reference a valid .ISO.C path which will be used as output!

  • PkgMakeFromFile(U8* manifest_path, U8* file_path);

    Build a package from a single file. See above for details.

See here for more information about how packages work.

Building from source

See here

About

A TempleOS distro for heretics

Topics

Resources

License

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /