inferno-rpi

NameLast commit messageLast commit date
acmeupdated by sys.m change of UTFmax13 years ago
applLess tracings10 years ago
disLess tracings10 years ago
doccorrect definitions of several instructions10 years ago
DragonFlyRune from ushort to uint13 years ago
emusave hardware fp status10 years ago
fontsadd fonts that were excluded by .hgignore11 years ago
FreeBSDRune from ushort to uint13 years ago
icons20060303-partial19 years ago
includeMerge from https://bitbucket.org/yshurik/inferno-os-freetype, freetype is updated to 2.4.6, some patents are expired10 years ago
Infernoto keep the dir create by hg10 years ago
IrixRune from ushort to uint13 years ago
keydb20060303-partial19 years ago
libMerge from https://bitbucket.org/inferno-os/inferno-os/10 years ago
lib9move setfcr to lib911 years ago
libbiouse va_copy if defined13 years ago
libdrawWas used non-updated compiler 5c/5l - reverting now12 years ago
libdynldremove 68000 references11 years ago
libfreetypeUpdate FreeType library to 2.4.615 years ago
libinterpuse lwz not lhz for 21-bit runes11 years ago
libkernremove 68000 references11 years ago
libkeyring20100810-230616 years ago
liblogfs20111215-164014 years ago
libmathsuppress clang warnings that are well-meant and sometimes justified, but need changes to shared source11 years ago
libmemdraw20100718-154616 years ago
libmemlayer20080522-235418 years ago
libmp20100810-230616 years ago
libnandfs20111215-164014 years ago
libprefablast update for 2007020219 years ago
libsec20100307-103316 years ago
libtk20110330-092615 years ago
limbosuppress cyclic errors by default; -y to enable them11 years ago
LinuxMerge from inferno-os10 years ago
locale20081023-094518 years ago
MacOSXupdate executables11 years ago
manrefer to Limbo version11 years ago
mkfilesmake macos version a single value, and build for 10.5 (Leopard)11 years ago
moduleMerge from https://bitbucket.org/inferno-os/inferno-os/10 years ago
NetBSDRune from ushort to uint13 years ago
Ntdiscard MS environ definition. issue 339.11 years ago
OpenBSDRune from ushort to uint13 years ago
opt20110516-232715 years ago
osAdded dev: i2c,spi,gpio, codebase converge to 9pi10 years ago
Plan9define FPU for hardware fp10 years ago
services2010072216 years ago
SolarisRune from ushort to uint13 years ago
toolsuse extraneous type specifier socklen_t [wwtt?]11 years ago
usr20060303-partial19 years ago
utilsdefine environ11 years ago
.hgignorea few more things to ignore11 years ago
CHANGES20140525-181812 years ago
INSTALL20081024-164218 years ago
makemk.shadd -m32 to get 32-bit executable (should fix definitions so it works in 64-bit)11 years ago
mkconfigrevert10 years ago
mkfileavoid making appl by default11 years ago
NOTICEbump date11 years ago
README.mdREADME.md edited online with Bitbucket10 years ago
README.md

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