================================================================ _ _ _ _ | | _____ _ __ (_) | ___ ___| |__ a tool to install, | |/ / _ \| '_ \| | |/ _ \ / __| '_ \ update, and run a | < (_) | | | | | | (_) |\__ \ | | | local konilo system. |_|\_\___/|_| |_|_|_|\___(_)___/_| |_| ================================================== 2024.04.30 == Overview: Konilo can be a little tricky to setup and update. This is a shell script using standard Unix tools to take care of downloading and running a Konilo system. It can also handle downloading and merging updates. Prerequisites: * BSD, Linux, or other Unix-like system * Standard shell (ksh, bash, sh, etc) * Standard Unix tools (chmod, cp, dd, echo, find, gunzip, gzip, mkdir, mv, rm, sed, stty, tr, uname) * One of ftp (OpenBSD or NetBSD), fetch (FreeBSD), curl, or wget Download it: ftp http://konilo.org/konilo.sh # OpenBSD or # NetBSD fetch http://konilo.org/konilo.sh # FreeBSD curl http://konilo.org/konilo.sh -o konilo.sh # curl wget http://konilo.org/konilo.sh # wget Make it executable: chmod +x konilo.sh Before Running: Take a few minutes to read through the source code and these instructions. Do not run it if it seems questionable, and please send questions or concerns to me so I can try to address them. I suggest putting a copy of konilo.sh in your $PATH for easy access, but this is not required. Configuration: There are two variables near the top of the file. The first, MULTILO="N" Tells the script to use a standard ilo build. Set this to "Y" if you want to use mult/ilo instead. The second: BACKUPS="Y" Tells the script to maintain a rolling set of backups of the blocks. Set this to "N" to disable this. (See the Backups section for details on the backup system) One more item of importance: The default configuration will use a prebuilt binary by default. If you do not wish to trust tis, either set MULTILO to "Y" or change the TRIPLE to something custom. For local builds, you will need a C compiler runnable as "cc". Using It: Edit the script to make any changes desired, then run it: ./konilo.sh This will check for a local copy of Konilo. If found, it will start it. If not, a copy will be downloaded before running. Updating: ./konilo.sh update Updating will replace the ilo.rom and merge in the reference blocks & latest documentation. The update process replaces blocks 3-1024, and 6144-13,312. These ranges hold the standard library, basic examples, additional optional vocabularies, and documentation. Blocks 1025-6143 are not altered. Updating does not replace the konilo.sh or ilo executable. Removing: ./konilo.sh uninstall Notes on the Installation: This script will store your Konilo system in ~/.konilo/ For common systems, this will try to use the prebuilt binaries from https://konilo.org/binaries/. If none is found, it will attempt to build the ilo VM from source using a local C compiler. Backups: Each time Konilo is exited, the script will create a backup of your blocks in ~/.konilo/_backups/. These are compressed with gzip to save space. After the backup runs, any backups older than 7 days are removed. The script does not provide an automated restore process for backups. Mult/ilo: As noted in the configuration, this can run mult/ilo. Mult/ilo is a version of ilo, providing three sessions that you can switch between using CTRL+n and CTRL+p. (These are *not* multi-tasking, so only one session is active at a time). If using mult/ilo, press CTRL+a to shut down.