Funicular
Version 0.7. Subject to change in backwards-incompatible ways.
Funicular is a system that semi-automates the creation of computing environments on eclectic architectures.
"Semi-automate" means it automates what it can, and provides repeatable instructions for you to follow for what it can't.
"Computing environment" could mean a "development environment", i.e. a system in which you can build (and perhaps even write) software, populated with interpreters and compilers, debuggers, text editors, and the like. Or it could mean any other environment that could be set up on a computer system.
"Eclectic architectures" is not terribly-well defined, but it includes retrocomputing and esoteric architectures. Basically, if you've got an emulator for it, and installation images for it, you might be able to install and outfit and run a system for it, using Funicular.
TL;DR it's kind of like a Vagrant, but instead of provisioning VMs, it provisions emulators.
It currently supports:
- i386 running NetBSD under QEMU
- i386 running FreeDOS under QEMU
- Amiga 500 (etc) running AmigaDOS under E-UAE
- Commodore 64 with a 1541 floppy drive under VICE
- VIC-20 with a 1541 floppy drive under VICE
- Apple //e running AppleDOS under Linapple
Funicular unifies and replaces the older, discrete, ad-hoc projects NetBSD-Gondola, FreeDOS-Gondola, and Amiga-Gondola, which are now deprecated.
Quick Start
cdinto a directory that has aFunicularfile.- Run
funicular init system. - Acquire the appropriate install image.
- Run
funicular install. - Run
funicular init setup. - Run
funicular setup. - You now have a configured Funicular. Run
funicular startto use it.
Documentation
The reference implementation of the funicular tool is written in Bourne
shell. A Funicularfile is also written in Bourne shell, but it mostly
contains configuration, not functionality.
You can look at the settings in the example Funicularfiles in eg/ and
look them up in the source code in script/ to divine what they mean.
Because the entire thing was recently rewritten (converting it from Lua to Bourne shell), there really isn't any further documentation right now except for this out-of-date set of notes.
License
The contents of this repository are in the public domain. This, of course,
applies only to the contents of this repository, and not to the contents of
any particular Funicular you build with with this software. See the file
UNLICENSE in this directory for more information.
Commit History
@master
git clone https://git.catseye.tc/Funicular/
- Embed populate.sh in Funicularfile to make it more self-contained. Chris Pressey 11 years ago
- Rewrite large parts of the README. Chris Pressey 11 years ago
- Small fixes to C64 Funicular settings, script-running. Chris Pressey 11 years ago
- dist and distboot commands for x64 and xvic emus. Chris Pressey 11 years ago
- Special case is no longer special. Chris Pressey 11 years ago
- Tweaks to what we convert. Chris Pressey 11 years ago
- Took down v7.0? Why'd you do that? Also process other Illgols. Chris Pressey 11 years ago
- Merge. Chris Pressey 11 years ago
- ILLGOL is almost there. Untested. Probably has a bug. Chris Pressey 11 years ago
- Merge. Chris Pressey 11 years ago
- Improve instructions; get a bit closer to an ILLGOL distribution. Chris Pressey 11 years ago
- Added tag 0.1-2015.0105 for changeset ba25e6621afe Chris Pressey 11 years ago
- Update notional version of NetBSD to NetBSD 6.1.5. Chris Pressey 11 years ago
- The skell for ILLGOL will undoubtedly look a bit like this. Chris Pressey 11 years ago
- Testing reveals what is wrong with things. Chris Pressey 11 years ago
- Merge. Chris Pressey 11 years ago
- Add untested (and poorly-named) zip_unversioned option. Chris Pressey 11 years ago
- Added tag 0.1 for changeset 92abce3aded8 Chris Pressey 11 years ago
- Update README for "release" of "version" 0.1. Chris Pressey 11 years ago
- I don't know why, but that order gave FreeDOS indigestion ("general failure reading drive A:", wtf?) Chris Pressey 11 years ago
- Add yasm license, CWSDPMI, and license.txt for Shelta dist image. Chris Pressey 11 years ago
- Place Shelta on system image; batchfile to make Shelta dist image. Chris Pressey 11 years ago
- Merge. Chris Pressey 11 years ago
- Remove versions of some repos temporarily. Chris Pressey 11 years ago
- restore -f flag, name_map repos, plus FreeDOS improvements. Chris Pressey 11 years ago
- More FreeDOS changes, INST{DGJP,PLAT}, licensing guidance. Chris Pressey 11 years ago
- So it all goes in A:\FREEDOS ... Chris Pressey 11 years ago
- A bunch of FreeDOS changes, in-progress. Chris Pressey 11 years ago
- Move towards more FreeDOS-looking floppies. Maybe. Chris Pressey 11 years ago
- Support name_map. Simplify FreeDOS INSTPLAT; use TOOLS dir. Chris Pressey 11 years ago