This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
developersguide:start [2014/11/12 17:52] lionelsambuc |
developersguide:start [2017/05/19 14:46] jeanbaptisteboric move things around a bit |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== MINIX 3 Developers Guide Table of Contents ====== | ||
+ | The Developers Guide provides information on how to hack on MINIX 3. If you're new to MINIX 3 development, you should start here. | ||
+ | |||
+ | |||
+ | ===== Newcomers/beginners ===== | ||
+ | |||
+ | - ** Introduction ** | ||
+ | - [[.:crosscompiling|Cross-compiling MINIX 3]] | ||
+ | - [[.:rebuildingsystem|Compiling MINIX 3]] | ||
+ | - ** Developing MINIX 3 ** | ||
+ | - [[.:overviewofminixarchitecture|Overview of MINIX 3 architecture]] | ||
+ | - [[.:programmingminix|Programming in MINIX 3]] | ||
+ | - [[.:trackingcurrent|Tracking Current]] | ||
+ | - [[.:testsuite|Test Suite]] | ||
+ | - ** Contributing ** | ||
+ | - [[.:usinggit|Using Git]] | ||
+ | - [[.:codingstyle|Coding Style]] | ||
+ | - [[.:commitmessages|Commit Message Format]] | ||
+ | - [[:wishlist:|Ideas for volunteers to work on]] | ||
+ | |||
+ | ===== Tutorials ===== | ||
+ | |||
+ | - [[.:liveupdate|Live update and rerandomization]] | ||
+ | - [[.:driverprogramming|Device Driver Programming in MINIX 3]] | ||
+ | - [[.:debugging|Debugging tips - Serial out, GDB]] | ||
+ | - [[.:newkernelcall|Adding a new Kernel Call]] | ||
+ | - [[.:performancemeasurement|Performance measurement]] | ||
+ | - [[.:eclipsetutorial|Using Eclipse in MINIX 3 with Remote Explorer]] | ||
+ | - [[.:gcov|Using GCOV to gather service code coverage info]] | ||
+ | ===== Reference documentation ===== | ||
+ | |||
+ | - ** Micro-kernel ** | ||
+ | - [[.:overviewofminixkernel|Overview of MINIX 3 micro-kernel]] | ||
+ | - [[.:kernelapi|Kernel system calls API]] | ||
+ | - [[.:memorygrants|Memory grants]] | ||
+ | - [[.:messagepassing|Message passing]] | ||
+ | - ** Drivers ** | ||
+ | - [[.:overviewofminixdrivers|Overview of MINIX 3 drivers]] | ||
+ | - [[.:blockprotocol|The Block Device protocol]] | ||
+ | - [[.:datalinkprotocol|The Data Link (inet-ethernet) protocol]] | ||
+ | - [[.:i2cprotocol|The I2C Device Protocol]] | ||
+ | - [[.:rtcprotocol|The RTC Protocol]] | ||
+ | - ** Servers ** | ||
+ | - [[.:overviewofminixservers|Overview of MINIX 3 servers]] | ||
+ | - [[.:vminternals|VM Internals]] | ||
+ | - [[.:vfsinternals|VFS Internals]] | ||
+ | - ** Userland ** | ||
+ | - [[.:overviewofminixuserland|Overview of Minix userland]] | ||
+ | - [[.:portingguide|Guide to Porting Software]] | ||
+ | - ** Minix-specific ** | ||
+ | - [[.:usefultools|Useful tools specific to MINIX 3]] | ||
+ | - ** NetBSD ** | ||
+ | - [[.:portingnetbsduserland|Porting NetBSD Userland]] | ||
+ | - [[.:portingnetbsdstepbystep|Step by Step porting Guide for NetBSD userland]] | ||
+ | - ** pkgsrc** | ||
+ | - [[.:pkgsrcguide|Pkgsrc Guide]] | ||
+ | - [[.:bulkpkgsrc|Bootstrapping and bulk-building with Pkgsrc]] | ||
+ | - [[.:syncpkgsrc|Syncing the MINIX 3 pkgsrc Repository with Upstream]] | ||
+ | - [[.:pkgsrcupstreaming|Pkgsrc Upstreaming]] | ||
+ | - [[.:pkgsrconarm|Pkgsrc on ARM (not yet working)]] | ||
+ | - ** Machine-dependent ** | ||
+ | - ** i386 ** | ||
+ | - [[.:cpureferencemanuals|X86 CPU Reference Manuals]] | ||
+ | - ** ARM ** | ||
+ | - [[.:minixonarm|Building MINIX 3 for ARM]] | ||
+ | - [[.:testsuite|Test Suite]] | ||
+ | - [[.:testingminixarm|Testing Minix/arm]] | ||
+ | - ** Miscellaneous ** | ||
+ | - [[.:earlyboot|Early Boot]] - technical details of kernel getting loaded and its memory layout | ||
+ | - [[.:frompowerontologinprompt|From power-on to the login prompt...]] | ||
+ | - [[.:magicdebugkeys|Magic debugging keys]] | ||
+ | |||
+ | ====== MINIX 3 Old Developers Guide Table of Contents ====== | ||
+ | |||
+ | As discussed on [[https://groups.google.com/forum/#!topic/minix3/3Pe2KYxfqHE|minix3]], here is the old developers guide table of contents: | ||
+ | |||
+ | - **Programming** | ||
+ | - [[.:usefultools|Useful tools specific to MINIX 3]] | ||
+ | - [[.:driverprogramming|Device Driver Programming in MINIX 3]] | ||
+ | - [[.:i2cdriverprogramming|I2C Device Driver Programming in MINIX 3]] | ||
+ | - [[.:i2cdevinterface|I2C /dev Interface]] | ||
+ | - [[.:bbcapes|Adding support for new BeagleBone Capes]] | ||
+ | - [[.:eclipsetutorial|Using Eclipse in MINIX3 with Remote Explorer]] | ||
+ | - [[.:posixandminix|POSIX and MINIX 3]] | ||
+ | - [[.:programmingminix|Programming in MINIX 3]] | ||
+ | - [[.:cpureferencemanuals|X86 CPU Reference Manuals]] | ||
+ | - [[.:performancemeasurement|Performance measurement]] | ||
+ | - [[.:newkernelcall|Adding a new Kernel Call]] | ||
+ | - [[.:debugging|Debugging tips - Serial out, GDB]] | ||
+ | - [[.:gcov|Using GCOV to gather servers code coverage info]] | ||
+ | - **Rebuilding the System** | ||
+ | - [[.:trackingcurrent|Tracking Current]] | ||
+ | - [[.:rebuildingsystem|Rebuilding the System]] | ||
+ | - [[.:crosscompiling|Crosscompile MINIX]] | ||
+ | - [[.:minixonarm|Building MINIX for ARM]] | ||
+ | - [[.:testsuite|Test Suite]] | ||
+ | - [[.:testingminixarm|Testing Minix/arm]] | ||
+ | - **API Documentation** | ||
+ | - [[.:minixapi|The MINIX 3 API]] | ||
+ | - [[.:kernelapi|The Kernel API]] | ||
+ | - [[.:vfsfsprotocol|The VFS-FS protocol]] | ||
+ | - [[.:datalinkprotocol|The Data Link (inet-ethernet) protocol]] | ||
+ | - [[.:blockprotocol|The Block Device protocol]] | ||
+ | - [[.:i2cprotocol|The I2C Device Protocol]] | ||
+ | - [[.:rtcprotocol|The RTC Protocol]] | ||
+ | - [[.:datastore|The DataStore API]] | ||
+ | - [[.:sef|The System Event Framework (SEF)]] | ||
+ | - [[.:vtreefs|The VTreeFS library]] | ||
+ | - [[.:vmcalls|VM calls]] | ||
+ | - **Internals** | ||
+ | - [[.:frompowerontologinprompt|From power-on to the login prompt...]] | ||
+ | - [[.:earlyboot|Early Boot]] - technical details of kernel getting loaded and its memory layout | ||
+ | - [[.:vminternals|VM Internals]] | ||
+ | - [[.:vfsinternals|VFS Internals]] | ||
+ | - [[.:i2cinternals|I2C Internals]] | ||
+ | - [[.:edidreading|EDID Reading]] | ||
+ | - [[.:userspacescheduling|Userspace scheduling]] | ||
+ | - **Writing or Porting Software** | ||
+ | - [[.:portingguide|Guide to Porting Software]] | ||
+ | - [[.:portingnetbsduserland|Porting NetBSD Userland]] | ||
+ | - [[.:pkgsrcguide|Pkgsrc Guide]] | ||
+ | - [[.:bulkpkgsrc|Bootstrapping and bulk-building with Pkgsrc]] | ||
+ | - [[.:syncpkgsrc|Syncing the Minix pkgsrc Repository with Upstream]] | ||
+ | - [[.:pkgsrcupstreaming|Pkgsrc Upstreaming]] | ||
+ | - **Source Code** | ||
+ | - [[.:usinggit|Using Git]] | ||
+ | - [[.:codingstyle|Coding Style]] | ||
+ | - [[.:commitmessages|Commit Message Format]] | ||
+ | - **TODO** | ||
+ | - [[:wishlist:|Ideas for volunteers to work on]] | ||