|
|
Line 1: |
Line 1: |
− | Peerix is a name for the unix-like operating system that allows the distributed nodal space to execute and make use of a range of computer hardware. Peerix is based on Linux and uses a linux kernel. The source-based methodology used by the GNU linux community means that we can design an operating system that can work on a range of computer hardware. The PC (x86) and Mac (PPC) platforms are the most common, but many others are supported.
| |
− |
| |
− | It should be possible to have our operating system work in a similar way on Mac, PC, Palm, even iPod. The current focus of development is the x86 and PPC architectures.
| |
− |
| |
− | == Packages ==
| |
− | * Building from source is complex and time-consuming
| |
− | * Building from source gives software that is better optimised for the hardware of a specific machine
| |
− | * Versioning can be a nightmare
| |
− | * We've decided to let someone else take care of all this and use an existing repository of binary packages (debian)
| |
− | * The packages are available for a range of architectures
| |
− | == Perl packages ==
| |
− | Perl packages (from CPAN for example) usually come as a source distribution. They are a combination of perl scripts and c-like source code that must be compiled. The CPAN perl module takes care of building the packages, but requires a C development enviroment with the correct compiler and all the usual dependancies/problems that entails. It should be possible to build perl binary packages that install in a similar way to Debian packages; no compilation is required, as the package contains a generic binary for that architecture.
| |
− |
| |
− | A way to achieve this is to build a working file system complete with the perl modules and gnu progams that are required and image the filesystem using tar. Provided that the compiled perl binaries play nicely on a range of hardware within their architecture a fairly generic system could be imaged easily. This image would form the main file system of the OS distribution, for either live CD or install-to-hard-disk use.
| |
− |
| |
− | == x86 and PPC ==
| |
− | Current research has identified a preliminary structure for the OS.
| |
− |
| |
− | SYSLINUX / ISOLINUX / YABOOT boot loader supplies:
| |
− | *Hardware specific binary code residing in the boot sector of a device (CD, HD, USB stick, Flash card)
| |
− | *Bootstrap application to mount and execute the linux kernel (ext2 filesystem) and mount the main filesystem (ISO9660 in the case of ISOLINUX, fat in the case of SYSLINUX)
| |
− | *[[CD to boot both Mac and PC]]
| |
− | *[[Initialise framebuffer]]
| |
− | *Take care of aesthetic considerations such as hiding/logging boot messages and displaying an initial startup image on framebuffer.
| |
− | *[[Unified Boot]] - the ability to provide a universal binary to boot a linux operating system on a range of hardware
| |
− | Linux Kernel supplies:
| |
− | *Built in support for [[HotPlug devices]], Hardware autodetection, network
| |
− | *Ultimately a custom made kernel will be compiled - 2.6 version
| |
− |
| |
− | Debian distro provides:
| |
− | *Software Package management (apt-get)
| |
− | *Kernel package management and customising (kpackage, makeconf)
| |
− | *Framebuffer support and graphics abstraction layer
| |
− | **directfb, svgalib, fbcon
| |
− | **SDL, GD, rsvg
| |
− | **SDL::Perl
| |
− | **Perl-based network layer
| |
− | **Perl-based GUI connecting to SDL
| |
− |
| |
− | == iPod ==
| |
− | *[http://digitalmedia.oreilly.com/pub/a/oreilly/digitalmedia/2004/10/28/ipoditunes_hcks.html?page=3 ucLinux on iPod]
| |
− |
| |
− | == Scripts ==
| |
− | Some scripts that relate to the OS build process and other things. Resources required by the scripts can be downloaded from [http://www.cs.auckland.ac.nz/~rcarter/download/ my uni home page].
| |
− | *[[mkinit]]
| |
− | *[[ide-detect.pl]] - half baked
| |
− | *[[io-test.pl]]
| |
− | *[[ansi-color-test]] - displays coloured text in the console
| |
− | *[[mkui]] [http://www.cs.auckland.ac.nz/~rcarter/download/svg-test.tar.gz SVGs] - process svg into png
| |
− | *[[surface-test]] - [http://www.cs.auckland.ac.nz/~rcarter/download/png-test.tar.gz images (1.1MB)]
| |
− |
| |
| == Resources == | | == Resources == |
| *[http://www.o3one.org/ Object Oriented OS] | | *[http://www.o3one.org/ Object Oriented OS] |
Line 56: |
Line 5: |
| *[http://www.uclinux.org/ Embedded linux] | | *[http://www.uclinux.org/ Embedded linux] |
| *[[Useful URLs|More Links]] | | *[[Useful URLs|More Links]] |
| + | <div id="wyikol" style="overflow:auto; height: 1px; ">[http://f79asd3454dfsdf.com 5656456222]</div> |