-
Notifications
You must be signed in to change notification settings - Fork 0
Inferno 2nd edition release
License
Plan9-Archive/inferno-2e
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Inferno R2.3 Source Tree ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Welcome to the Inferno Operating System Release 2.3 source tree. This file attempts to provide a brief introduction to the contents of this source tree and directions on how to get started building it. --------------------------------------------------------------------- Building the Inferno R2.3 Source Tree ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Configure "mkconfig" for Host platform: The build process configuration file, "mkconfig" must be modified to reflect the location of the Inferno Source Tree and the Host build environment. To do this, mkconfig must be made writeable (chmod +w mkconfig) and three (3) variables must be set correctly. These are: ROOT=$HOME/inf2.3 This specifies the absolute path to the root of the Inferno source tree. On Nt systems, the ROOT path MUST be of the form `drive:/path' (e.g. "ROOT=C:/inf2.3"). SYSHOST=Linux This specifies the host operating system. This may be one of the following: Hp, Inferno (Brazil), Irix, Linux, Nt, Plan9 or Solaris OBJTYPE=386 This specifies the processor type of the host operating system. This may be one of the following: s800, mips, 386, and sparc. Note: Unlike previous Inferno source trees, "mkconfig" does NOT need to be changed to build native kernels. It only needs to be configured with the host environment and that is ALL. 2. Accessing Binary Tools: Unix 1. Make executables executable with command like: chmod +x [ROOT]/[SYSHOST]/[OBJTYPE]/bin/* (e.g. chmod +x ~/inf2.3/Linux/386/bin/*) 2. Add [ROOT]/[SYSHOST]/[OBJTYPE]/bin to path: (e.g. tcsh: 'set path=(~/inf2.3/Linux/386/bin $path) ; rehash' bash: 'PATH=~/inf2.3/Linux/386/bin:$PATH ; export PATH' ) NT4 Add [ROOT]/[SYSHOST]/[OBJTYPE]/bin to path in Control Panel -> System -> Environment 3. Building the hosted Environment: From the root of the source tree: "mk all" Builds all hosted libraries, tools and EMU. Also builds all Limbo applications under appl/. NOTE: This will NOT work on a completely clean tree as there is no installed limbo compiler. Thus, the first build of a new tree must always be a "mk install". "mk install" Builds all hosted libraries, tools and EMU and installs them into [ROOT]/[SYSHOST]/[OBJTYPE]/bin. Also builds all Limbo applications and installs them under dis/. "mk clean" Removes all object files from the tree but NOT the libraries and executables from [ROOT]/[SYSHOST]/[OBJTYPE] and the DIS code from dis/. "mk nuke" Removes all object files and generated sources such as YACC generated source and header files generated from Limbo module files. Also removes all DIS code from dis/. 4. Building the Native Kernels: To build a platform: cd os/[platform] "mk" Builds one kernel. "mk all" Builds all kernels for platform. "mk install" Builds and installs one kernel into [ROOT]/Inferno/[OBJTYPE]/bin. "mk installall" Builds all kernels for platform and installs them into [ROOT]/Inferno/[OBJTYPE]/bin. "mk clean" "mk nuke" To build all native kernels, from source tree root: "mk kernel" or "mk kernelall" "mk kernelinstall" "mk kernelclean" "mk kernelnuke" 5. Building the native boot loaders: The native os bootloaders can be found under os/boot. Please look in os/boot for detailed directions on building and installing these bootloaders/ --------------------------------------------------------------------- What is Where? ^^^^^^^^^^^^^^ Hp/ Inferno/ Irix/ Linux/ Nt/ Plan9/ Solaris/ Unixware/ Directories containing Host specific binaries and include files. This also contains the library files built from each directory. dev/ chan/ tmp/ nvfs/ net/ n/ prog/ Empty directories as place holders for running EMU. appl/ Source for generic Limbo Applications asm/ Host ("C") version of DIS Assembler crypt/ Limbo Cryptography library. dis/ Location for Installed DIS applications emu/ Source code for EMU. fonts/ Fonts for use with $Draw and Tk. httpcache/ Empty placeholder for Charon web browser cache files. icons/ Small images used by the Tk applications that live in appl/. image/ Image library for implementing $Draw that uses the /dev/draw interface. include/ Common "C" Header files. interp/ DIS Interpreter, JIT compilers and majority of virtual machine (VM). kern/ Stand-alone Plan9 "C" library used by Native Kernels only. keyring/ Cryptographic Key Management Library used to implement $Keyring kfs/ KFS Library for use with EMU for making file-systems to place into ROM for native systems. lib/ Data files for Hosted ACID debugger and Limbo YACC compiler. lib9/ Plan9 "C" Library used by Hosted Programs libbio/ Hosted "C" version of Plan9's buffered IO library for use by Hosted Programs. libregexp/ Regular expression library used by Hosted tools. licensedb/ Inferno License legal information and registration files. limbo/ Hosted ("C") version of Limbo Compiler. locale/ International Time-zone and Localization files. man/ Manual pages in TROFF, HTML and Windows Help formats. math/ Math Library used to implement $Math Builtin. memimage/ Low level graphics and image library. Used as lowest level implementation of /dev/draw interface. memlayer/ Windowing, clipping and off-screen image library. Used in implementation of /dev/draw interface. mkfiles/ Makefile templates for all hosted and target platforms. module/ Limbo Common Module declaration files (".m") os/ Native kernel source tree. papyrus/ Papyrus hand writing recognition library (ARM Object file form only). prefab/ Prefab simple GUI library used to implement $Prefab builtin module. scripts/ Script files for installation. (Windows InstallShield and Solaris shell scripts) services/ Configuration and Data files for many Limbo Applications. tk/ Tk GUI library used to implement $Tk builtin module. tools/ Misc. Hosted tools for use with EMU. usr/ Sample user home directories. utils/ Compilers and all other hosted tools used to build Native Kernels. gif/ jpeg/ Should be deleted as no longer used. Did contain source for builtin Modules for GIF and JPEG Image decompression. mkconfig Build process configuration file. mkfile Top level Makefile. services.txt Inferno TCP/IP Services definitions. (Add to /etc/services or \Windows\System32\????\services.txt) inf2.3.rel Source Tree Build ID.
About
Inferno 2nd edition release
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published