====== 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. - **Introduction** - [[.:directorystructure|Directory Structure]] - **Programming** - [[.:posixandminix|POSIX and MINIX 3]] - [[.:programmingminix|Programming in MINIX 3]] - [[.:cpureferencemanuals|X86 CPU Reference Manuals]] - [[.: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]] - [[.:gcov|Using GCOV to gather servers code coverage info]] - [[.:performancemeasurement|Performance measurement]] - [[.:newkernelcall|Adding a new Kernel Call]] - [[.:usingnetbsdcode|Using the NetBSD libc and other NetBSD imported code]] - [[.:debugging|Debugging tips - Serial out, GDB]] - **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]] - [[.:pfsvfsprotocol|The PFS-VFS 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]] - [[.:userspace_scheduling|Userspace scheduling]] - [[.:pipefs|PipeFS]] - **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]]