a talisman for solarpunks wandering a dark forest https://xj-ix.luxe/wiki/tomo/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
xj9 0c13bb7b6b trying to fix linker errors on musl 6 months ago
AIX/power add AIX/power port 4 years ago
DragonFly/386 Rune from ushort to uint 7 years ago
FreeBSD/386 Rune from ushort to uint 7 years ago
Inferno to keep the dir create by hg 5 years ago
Irix/mips Rune from ushort to uint 7 years ago
Linux Merge from inferno-os 4 years ago
MacOSX recompiled for MacOSX sierra 3 years ago
NetBSD Delete random assortment of ancient NetBSD/i386 binaries. 1 year ago
Nt/386 recompiled versions of Windows executable (root set to C:/inferno as before) 3 years ago
OpenBSD/386/include Use pthreads instead of rthreads on OpenBSD and add back FPU support 3 years ago
Plan9 define FPU for hardware fp 5 years ago
Solaris Rune from ushort to uint 7 years ago
acme updated by sys.m change of UTFmax 7 years ago
appl Merge branch 'master' into feature/pull-from-upstream 6 months ago
dis Merge branch 'master' into feature/pull-from-upstream 6 months ago
doc add AIX/power port 4 years ago
emu trying to fix linker errors on musl 6 months ago
fonts add oldschool pc font 6 months ago
icons 20060303-partial 14 years ago
include Merge branch 'master' into feature/pull-from-upstream 6 months ago
keydb 20060303-partial 14 years ago
lib Merge branch 'master' into feature/pull-from-upstream 6 months ago
lib9 do not use update variant of fp status store 2 years ago
libbio use va_copy if defined 7 years ago
libdraw Merge branch 'master' into feature/pull-from-upstream 6 months ago
libdynld remove 68000 references 5 years ago
libfreetype Update FreeType library to 2.4.6 9 years ago
libinterp Delete C headers for builtin modules re-generated during the build. 1 year ago
libkern remove 68000 references 5 years ago
libkeyring 20100810-2306 10 years ago
liblogfs 20111215-1640 9 years ago
libmath add AIX/power port 4 years ago
libmemdraw add AIX/power port 4 years ago
libmemlayer add AIX/power port 4 years ago
libmp 20100810-2306 10 years ago
libnandfs 20111215-1640 9 years ago
libprefab last update for 20070202 14 years ago
libsec 20100307-1033 11 years ago
libtk trying to fix linker errors on musl 6 months ago
limbo add out-style 1 year ago
locale 20081023-0945 12 years ago
man Fix xrefs, they are .IR, not .I 1 year ago
mkfiles Merged in nbuwe/inferno-os/NetBSD/powerpc (pull request #10) 2 years ago
module Merge branch 'master' into feature/pull-from-upstream 6 months ago
opt 20110516-2327 9 years ago
os Added dev: i2c,spi,gpio, codebase converge to 9pi 5 years ago
services add small version of image 2 years ago
tools MS compiler now messes up true as a variable 3 years ago
usr/inferno 20060303-partial 14 years ago
utils Merged in yk/inferno-os/AIX-power (pull request #17) 2 years ago
.dockerignore add Docker support 1 year ago
.env.Alpine commit linux env file 6 months ago
.env.Linux trying to fix linker errors on musl 6 months ago
.gitignore No binaries are committed for any of the NetBSD ports so ignore their 1 year ago
AUTHORS sign oath 6 months ago
CHANGES 20140525-1818 6 years ago
CONTRIBUTING sign oath 6 months ago
COPYING link COPYING to NOTICE to make srht happy 6 months ago
Dockerfile add Docker support 1 year ago
INSTALL control mkconfig with environment variables 6 months ago
NOTICE update NOTICE 6 months ago
OATH sign oath 6 months ago
README.md Merge branch 'master' into feature/pull-from-upstream 6 months ago
bitbucket-pipelines.yml enable bitbucket pipelines for Linux/386 4 years ago
makemk-AIX.sh add AIX/power port 4 years ago
makemk.sh add -m32 to get 32-bit executable (should fix definitions so it works in 64-bit) 6 years ago
mkconfig commit linux env file 6 months ago
mkfile avoid making appl by default 5 years ago

README.md

tomo el fuego

tomo el fuego is a 9family operating system derived from a series of labs which had the aim of porting the system to a raspberry pi. tomo continues the tradition of blending os research and educational resources together.

tomo represents services and resources in a file-like name hierarchy. Programs access them using only the file operations open, read/write, and close. ‘Files’ are not just stored data, but represent devices, network and protocol interfaces, dynamic data sources, and services. The approach unifies and provides basic naming, structuring, and access control mechanisms for all system resources. A single file-service protocol (the same as Plan 9’s 9P) makes all those resources available for import or export throughout the network in a uniform way, independent of location. An application simply attaches the resources it needs to its own per-process name hierarchy (‘name space’).

Inferno can run ‘native’ on various ARM, PowerPC, SPARC and x86 platforms but also ‘hosted’, under an existing operating system (including AIX, FreeBSD, IRIX, Linux, MacOS X, Plan 9, and Solaris), again on various processor types.

origins

This is compilation of Labs completed by LynxLine (http://lynxline.com/projects/labs-portintg-inferno-os-to-raspberry-pi/) into the source code repository.

We started a small and exciting project just for fun as “Porting Inferno OS to Raspberry Pi”. Of course we would like to run it there as native, not hosted. It was always declared that this OS is very simple for porting to new platforms, so let’s just research this and reach new distilled experiences of system programming. Also this OS is very small, simple and easy to tweak for research purposes.

We decided to organize it as some set of small labs with very detailed steps of what is done to reach results and make everything easy to reproduce.

Season 1: Road to boot…

  1. Lab 1, Compiler
  2. Lab 2, Hardware
  3. Lab 3, R-Pi Booting process
  4. Lab 4, Loading kernel
  5. Lab 5, Hello World
  6. Lab 6, Compile something
  7. Lab 7, linking, planning next
  8. Lab 8, memory model
  9. Lab 9, coding assembler part
  10. Lab 10, Bss, memory pools, malloc
  11. Lab 11, _div, testing print
  12. Lab 12, interrupts, part 1
  13. Lab 13, interrupts, part 2
  14. Lab 14, interrupts, part 3
  15. Lab 15, Eve, Hello World from Limbo!

Season 2: Close to hardware…

  1. Lab 16, Adding clocks, timers, converging to 9pi codes
  2. Lab 17, mmu init
  3. Lab 18, we have a screen!
  4. Lab 19, keyboard through serial, fixes to get Ls
  5. Lab 20, devusb, usbdwc and firq, first step to usb
  6. Lab 21, porting usbd, fixed in allocb, see usb in actions
  7. Lab 22, Usb keyboard
  8. Lab 23, hard disk or SD card
  9. Lab 24, network, part 1
  10. Lab 25, network, part 2
  11. Lab 26, floating point

Downloads:

Installation:

  1. Download latest zip package from Downloads
  2. Pepare SD card with first DOS partition for boot (about 100MB, there is a problem with dossrv and large partitions)
  3. Unzip all files to SD (boot.scr, kernel.bin, ... should in root of SD)
  4. Boot Raspberry Pi
  5. By default it starts styxlisten -A tcp!*!564 export /, so you can mount it on other host by mount -A tcp!10.0.56.101!564 /n/remote/rpi (-A means no auth, IP is for example, see what it got by DHCP)

Special thanks:

  • Charles Forsyth
  • Richard Miller
  • Peter D. Finn