Put in remaining pages and wiki contents.
authorCharlie <root@www.shiningsilence.com>
Sun, 4 Jan 2009 03:49:54 +0000 (22:49 -0500)
committerCharlie <root@www.shiningsilence.com>
Sun, 4 Jan 2009 03:49:54 +0000 (22:49 -0500)
607 files changed:
docs/MyStartingPage.mdwn [new file with mode: 0644]
docs/developer/AMD64.mdwn [new file with mode: 0644]
docs/developer/AMD64GSoC.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-C_Book_License.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_1_C_For_Beginners.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_2_Programming_for_the_DragonFly_BSD_Userland.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_3_Developing_the_DragonFly_BSD_Kernel.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_4_Resources_for_DragonFly_BSD_Developers.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_5_Networking_and_Interprocess_Communication_in_DragonFly_BSD.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_6_Secure_Programming_Concepts.mdwn [new file with mode: 0644]
docs/developer/C_Development_Under_DragonFly_BSD-Volume_7_Glossary_and_Tables_for_all_Volumes.mdwn [new file with mode: 0644]
docs/developer/CheckpointFeatures.mdwn [new file with mode: 0644]
docs/developer/Code_Bounties.mdwn [new file with mode: 0644]
docs/developer/CrossToolChainAMD64.mdwn [new file with mode: 0644]
docs/developer/Development.mdwn [new file with mode: 0644]
docs/developer/DragonFly_BSD_License.mdwn [new file with mode: 0644]
docs/developer/DragonFly_Technologies.mdwn [new file with mode: 0644]
docs/developer/EnhanceDmaGSoC.mdwn [new file with mode: 0644]
docs/developer/GoogleSoC2008.mdwn [new file with mode: 0644]
docs/developer/GoogleSoC2008Student.mdwn [new file with mode: 0644]
docs/developer/HackAthonTopics.mdwn [new file with mode: 0644]
docs/developer/HandyHints.mdwn [new file with mode: 0644]
docs/developer/KmodDebugging.mdwn [new file with mode: 0644]
docs/developer/LiveDVDGSoC.mdwn [new file with mode: 0644]
docs/developer/LwpUserland.mdwn [new file with mode: 0644]
docs/developer/Mercurial.mdwn [new file with mode: 0644]
docs/developer/NetMP.mdwn [new file with mode: 0644]
docs/developer/NewkernelBook.mdwn [new file with mode: 0644]
docs/developer/PatchMaking.mdwn [new file with mode: 0644]
docs/developer/PbulkBuilding.mdwn [new file with mode: 0644]
docs/developer/PreprocessorDirective.mdwn [new file with mode: 0644]
docs/developer/ProjectsPage.mdwn [new file with mode: 0644]
docs/developer/PropLib.mdwn [new file with mode: 0644]
docs/developer/RegressionTest.mdwn [new file with mode: 0644]
docs/developer/SimonsTODOs.mdwn [new file with mode: 0644]
docs/developer/Standards.mdwn [new file with mode: 0644]
docs/developer/StandardsCLanguage.mdwn [new file with mode: 0644]
docs/developer/StandardsCLanguageISO_IEC_9899_1999.mdwn [new file with mode: 0644]
docs/developer/StandardsConformanceProject.mdwn [new file with mode: 0644]
docs/developer/StandardsPOSIX.1-2001.mdwn [new file with mode: 0644]
docs/developer/StandardsPOSIX.mdwn [new file with mode: 0644]
docs/developer/Status-NetworkStack.mdwn [new file with mode: 0644]
docs/developer/TechnicalSpecifications.mdwn [new file with mode: 0644]
docs/developer/Tokens.mdwn [new file with mode: 0644]
docs/developer/TypicalGitUsage.mdwn [new file with mode: 0644]
docs/developer/Yanyh_AMD64Notes.mdwn [new file with mode: 0644]
docs/developer/index.mdwn [new file with mode: 0644]
docs/faq/FAQ-Chinese.mdwn [new file with mode: 0644]
docs/faq/FAQ-Danish.mdwn [new file with mode: 0644]
docs/faq/FAQ-Dutch.mdwn [new file with mode: 0644]
docs/faq/FAQ-English.mdwn [new file with mode: 0644]
docs/faq/FAQ-French.mdwn [new file with mode: 0644]
docs/faq/FAQ-German.mdwn [new file with mode: 0644]
docs/faq/FAQ-Hungarian.mdwn [new file with mode: 0644]
docs/faq/FAQ-Italian.mdwn [new file with mode: 0644]
docs/faq/FAQ-Norwegian.mdwn [new file with mode: 0644]
docs/faq/FAQ-Polish.mdwn [new file with mode: 0644]
docs/faq/FAQ-Romanian.mdwn [new file with mode: 0644]
docs/faq/FAQ-Russian.mdwn [new file with mode: 0644]
docs/faq/FAQ-Spanish.mdwn [new file with mode: 0644]
docs/faq/FAQ-Swedish.mdwn [new file with mode: 0644]
docs/faq/FAQ-Ukrainian.mdwn [new file with mode: 0644]
docs/faq/index.mdwn [new file with mode: 0644]
docs/handbook/Tables.mdwn [new file with mode: 0644]
docs/handbook/handbook-InstallDiskSetup.mdwn [new file with mode: 0644]
docs/handbook/handbook-InstallDragonFlyFromCD.mdwn [new file with mode: 0644]
docs/handbook/handbook-InstallFirstSteps.mdwn [new file with mode: 0644]
docs/handbook/handbook-InstallToDisk.mdwn [new file with mode: 0644]
docs/handbook/handbook-InstallationSystemSetup.mdwn [new file with mode: 0644]
docs/handbook/handbook-LEGALNOTICE.mdwn [new file with mode: 0644]
docs/handbook/handbook-acpi-debug.mdwn [new file with mode: 0644]
docs/handbook/handbook-acpi-overview.mdwn [new file with mode: 0644]
docs/handbook/handbook-adding-swap-space.mdwn [new file with mode: 0644]
docs/handbook/handbook-advanced-networking.mdwn [new file with mode: 0644]
docs/handbook/handbook-appendices.mdwn [new file with mode: 0644]
docs/handbook/handbook-backup-basics.mdwn [new file with mode: 0644]
docs/handbook/handbook-backups-floppybackups.mdwn [new file with mode: 0644]
docs/handbook/handbook-backups-tapebackups.mdwn [new file with mode: 0644]
docs/handbook/handbook-basics-daemons.mdwn [new file with mode: 0644]
docs/handbook/handbook-basics-devices.mdwn [new file with mode: 0644]
docs/handbook/handbook-basics-more-information.mdwn [new file with mode: 0644]
docs/handbook/handbook-basics-processes.mdwn [new file with mode: 0644]
docs/handbook/handbook-basics.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-adminguides.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-hardware.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-history.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-journals.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-osinternals.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-programmers.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-security.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography-userguides.mdwn [new file with mode: 0644]
docs/handbook/handbook-bibliography.mdwn [new file with mode: 0644]
docs/handbook/handbook-binary-formats.mdwn [new file with mode: 0644]
docs/handbook/handbook-book-preface.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot-blocks.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot-init.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot-introduction.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot-kernel.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot-shutdown.mdwn [new file with mode: 0644]
docs/handbook/handbook-boot.mdwn [new file with mode: 0644]
docs/handbook/handbook-colophon.mdwn [new file with mode: 0644]
docs/handbook/handbook-config-network-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-config-tuning.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-appconfig.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-configfiles.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-core-configuration.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-cron.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-disk.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-initial.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-kernel-limits.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-rcng.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-starting-services.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-sysctl.mdwn [new file with mode: 0644]
docs/handbook/handbook-configtuning-virtual-hosts.mdwn [new file with mode: 0644]
docs/handbook/handbook-consoles.mdwn [new file with mode: 0644]
docs/handbook/handbook-creating-cds.mdwn [new file with mode: 0644]
docs/handbook/handbook-creating-dvds.mdwn [new file with mode: 0644]
docs/handbook/handbook-crypt.mdwn [new file with mode: 0644]
docs/handbook/handbook-cvs-tags.mdwn [new file with mode: 0644]
docs/handbook/handbook-cvsup.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop-browsers.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop-finance.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop-productivity.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop-summary.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop-viewers.mdwn [new file with mode: 0644]
docs/handbook/handbook-desktop.mdwn [new file with mode: 0644]
docs/handbook/handbook-dialout.mdwn [new file with mode: 0644]
docs/handbook/handbook-dialup.mdwn [new file with mode: 0644]
docs/handbook/handbook-dirstructure.mdwn [new file with mode: 0644]
docs/handbook/handbook-disk-organization.mdwn [new file with mode: 0644]
docs/handbook/handbook-disks-adding.mdwn [new file with mode: 0644]
docs/handbook/handbook-disks-naming.mdwn [new file with mode: 0644]
docs/handbook/handbook-disks-virtual.mdwn [new file with mode: 0644]
docs/handbook/handbook-disks.mdwn [new file with mode: 0644]
docs/handbook/handbook-editors.mdwn [new file with mode: 0644]
docs/handbook/handbook-eresources-news.mdwn [new file with mode: 0644]
docs/handbook/handbook-eresources-web.mdwn [new file with mode: 0644]
docs/handbook/handbook-eresources.mdwn [new file with mode: 0644]
docs/handbook/handbook-firewalls.mdwn [new file with mode: 0644]
docs/handbook/handbook-floppies.mdwn [new file with mode: 0644]
docs/handbook/handbook-getting-started.mdwn [new file with mode: 0644]
docs/handbook/handbook-history.mdwn [new file with mode: 0644]
docs/handbook/handbook-install-cd-disk.mdwn [new file with mode: 0644]
docs/handbook/handbook-install-cd-postinstall.mdwn [new file with mode: 0644]
docs/handbook/handbook-install-cd-preinstall.mdwn [new file with mode: 0644]
docs/handbook/handbook-install-cd-to-disk.mdwn [new file with mode: 0644]
docs/handbook/handbook-install.mdwn [new file with mode: 0644]
docs/handbook/handbook-installation-system-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-introduction.mdwn [new file with mode: 0644]
docs/handbook/handbook-ipsec.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails-application.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails-build.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails-intro.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails-terms.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails-tuning.mdwn [new file with mode: 0644]
docs/handbook/handbook-jails.mdwn [new file with mode: 0644]
docs/handbook/handbook-kerberos5.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig-building.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig-config.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig-custom-kernel.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig-nodes.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig-trouble.mdwn [new file with mode: 0644]
docs/handbook/handbook-kernelconfig.mdwn [new file with mode: 0644]
docs/handbook/handbook-l10n-basics.mdwn [new file with mode: 0644]
docs/handbook/handbook-l10n-compiling.mdwn [new file with mode: 0644]
docs/handbook/handbook-l10n.mdwn [new file with mode: 0644]
docs/handbook/handbook-lang-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-advanced.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-lbc-install.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-maple.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-mathematica.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-matlab.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu-oracle.mdwn [new file with mode: 0644]
docs/handbook/handbook-linuxemu.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-advanced.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-agents.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-changingmta.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-fetchmail.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-procmail.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-trouble.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail-using.mdwn [new file with mode: 0644]
docs/handbook/handbook-mail.mdwn [new file with mode: 0644]
docs/handbook/handbook-mirrors-ftp.mdwn [new file with mode: 0644]
docs/handbook/handbook-mirrors.mdwn [new file with mode: 0644]
docs/handbook/handbook-mount-unmount.mdwn [new file with mode: 0644]
docs/handbook/handbook-multimedia.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-bluetooth.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-bridging.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-dhcp.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-diskless.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-dns.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-inetd.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-ipv6.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-isdn.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-natd.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-nfs.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-nis.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-ntp.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-plip.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-routing.mdwn [new file with mode: 0644]
docs/handbook/handbook-network-wireless.mdwn [new file with mode: 0644]
docs/handbook/handbook-nutshell.mdwn [new file with mode: 0644]
docs/handbook/handbook-one-time-passwords.mdwn [new file with mode: 0644]
docs/handbook/handbook-openssh.mdwn [new file with mode: 0644]
docs/handbook/handbook-openssl.mdwn [new file with mode: 0644]
docs/handbook/handbook-outgoing-only.mdwn [new file with mode: 0644]
docs/handbook/handbook-permissions.mdwn [new file with mode: 0644]
docs/handbook/handbook-pgpkeys.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-broken.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-finding-applications.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-nextsteps.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-overview.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-sourcetree-using.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc-using.mdwn [new file with mode: 0644]
docs/handbook/handbook-pkgsrc.mdwn [new file with mode: 0644]
docs/handbook/handbook-ppp-and-slip.mdwn [new file with mode: 0644]
docs/handbook/handbook-ppp-troubleshoot.mdwn [new file with mode: 0644]
docs/handbook/handbook-ppp.mdwn [new file with mode: 0644]
docs/handbook/handbook-pppoe.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-advanced.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-intro-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-intro-spooler.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-lpd-alternatives.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-troubleshooting.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing-using.mdwn [new file with mode: 0644]
docs/handbook/handbook-printing.mdwn [new file with mode: 0644]
docs/handbook/handbook-quotas.mdwn [new file with mode: 0644]
docs/handbook/handbook-raid.mdwn [new file with mode: 0644]
docs/handbook/handbook-sapr3.mdwn [new file with mode: 0644]
docs/handbook/handbook-securing-freebsd.mdwn [new file with mode: 0644]
docs/handbook/handbook-security-intro.mdwn [new file with mode: 0644]
docs/handbook/handbook-security.mdwn [new file with mode: 0644]
docs/handbook/handbook-sendmail.mdwn [new file with mode: 0644]
docs/handbook/handbook-serial.mdwn [new file with mode: 0644]
docs/handbook/handbook-serialcomms.mdwn [new file with mode: 0644]
docs/handbook/handbook-serialconsole-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-shells.mdwn [new file with mode: 0644]
docs/handbook/handbook-slip.mdwn [new file with mode: 0644]
docs/handbook/handbook-smtp-auth.mdwn [new file with mode: 0644]
docs/handbook/handbook-smtp-dialup.mdwn [new file with mode: 0644]
docs/handbook/handbook-smtp-uucp.mdwn [new file with mode: 0644]
docs/handbook/handbook-sound-mp3.mdwn [new file with mode: 0644]
docs/handbook/handbook-sound-setup.mdwn [new file with mode: 0644]
docs/handbook/handbook-system-administration.mdwn [new file with mode: 0644]
docs/handbook/handbook-term.mdwn [new file with mode: 0644]
docs/handbook/handbook-tvcard.mdwn [new file with mode: 0644]
docs/handbook/handbook-updating-before-building.mdwn [new file with mode: 0644]
docs/handbook/handbook-updating-makeworld.mdwn [new file with mode: 0644]
docs/handbook/handbook-updating-using.mdwn [new file with mode: 0644]
docs/handbook/handbook-updating.mdwn [new file with mode: 0644]
docs/handbook/handbook-userppp.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-groups.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-introduction.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-limiting.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-modifying.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-personalizing.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-superuser.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-system.mdwn [new file with mode: 0644]
docs/handbook/handbook-users-user.mdwn [new file with mode: 0644]
docs/handbook/handbook-users.mdwn [new file with mode: 0644]
docs/handbook/handbook-using-localization.mdwn [new file with mode: 0644]
docs/handbook/handbook-video-playback.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-access-bottlenecks.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-config.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-data-integrity.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-examples.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-intro.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-object-naming.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-objects.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-root.mdwn [new file with mode: 0644]
docs/handbook/handbook-vinum-vinum.mdwn [new file with mode: 0644]
docs/handbook/handbook-x-config.mdwn [new file with mode: 0644]
docs/handbook/handbook-x-fonts.mdwn [new file with mode: 0644]
docs/handbook/handbook-x-install.mdwn [new file with mode: 0644]
docs/handbook/handbook-x-understanding.mdwn [new file with mode: 0644]
docs/handbook/handbook-x-xdm.mdwn [new file with mode: 0644]
docs/handbook/handbook-x11-wm.mdwn [new file with mode: 0644]
docs/handbook/handbook-x11.mdwn [new file with mode: 0644]
docs/handbook/index.mdwn [new file with mode: 0644]
docs/howtos/HowToBuildKernelFromLiveCD.mdwn [new file with mode: 0644]
docs/howtos/HowToBuildingPatches.mdwn [new file with mode: 0644]
docs/howtos/HowToCVS.mdwn [new file with mode: 0644]
docs/howtos/HowToCreateACoreDump.mdwn [new file with mode: 0644]
docs/howtos/HowToDevice.mdwn [new file with mode: 0644]
docs/howtos/HowToFilteringBridge.mdwn [new file with mode: 0644]
docs/howtos/HowToFirefoxandFlashplayer.mdwn [new file with mode: 0644]
docs/howtos/HowToFromcvs.mdwn [new file with mode: 0644]
docs/howtos/HowToInstallJava.mdwn [new file with mode: 0644]
docs/howtos/HowToInstallingMPD.mdwn [new file with mode: 0644]
docs/howtos/HowToKde.mdwn [new file with mode: 0644]
docs/howtos/HowToMercurial.mdwn [new file with mode: 0644]
docs/howtos/HowToMountWindowsShares.mdwn [new file with mode: 0644]
docs/howtos/HowToPkgsrc.mdwn [new file with mode: 0644]
docs/howtos/HowToSetUpIpw2200.mdwn [new file with mode: 0644]
docs/howtos/HowToSetupATFTPServer.mdwn [new file with mode: 0644]
docs/howtos/HowToSound.mdwn [new file with mode: 0644]
docs/howtos/HowToStressTest.mdwn [new file with mode: 0644]
docs/howtos/HowToUpgrade.mdwn [new file with mode: 0644]
docs/howtos/HowToUseNATA.mdwn [new file with mode: 0644]
docs/howtos/HowToVMwarePlayer.mdwn [new file with mode: 0644]
docs/howtos/HowTo_Develop_Kernel_Modules.mdwn [new file with mode: 0644]
docs/howtos/HowTo_dma_gmail.mdwn [new file with mode: 0644]
docs/howtos/PatchSetExample.mdwn [new file with mode: 0644]
docs/howtos/index.mdwn [new file with mode: 0644]
docs/unknown/C_Development_Under_DragonFly_BSD.mdwn [new file with mode: 0644]
docs/unknown/Filesystem.mdwn [new file with mode: 0644]
docs/unknown/Interviews.mdwn [new file with mode: 0644]
docs/unknown/WifiAndWPA.mdwn [new file with mode: 0644]
docs/user/Comparison_with_Linux.mdwn [new file with mode: 0644]
docs/user/ContribSoftware.mdwn [new file with mode: 0644]
docs/user/DebugKernelCrashDumps.mdwn [new file with mode: 0644]
docs/user/DragonFlyOnLaptops.mdwn [new file with mode: 0644]
docs/user/DragonFly_in_the_press.mdwn [new file with mode: 0644]
docs/user/GlossaryOfTerms.mdwn [new file with mode: 0644]
docs/user/Instalacion_Laptop.mdwn [new file with mode: 0644]
docs/user/Instalando_DragonFlyBSD.mdwn [new file with mode: 0644]
docs/user/Install_DragonFly.mdwn [new file with mode: 0644]
docs/user/Interviews-Matt_Dillon_on_Linux_and_BSD.mdwn [new file with mode: 0644]
docs/user/PkgsrcQuick.mdwn [new file with mode: 0644]
docs/user/Powersave.mdwn [new file with mode: 0644]
docs/user/RubyandRubyOnRailsInstall.mdwn [new file with mode: 0644]
docs/user/Thinkpad600E.mdwn [new file with mode: 0644]
docs/user/ThinkpadT42.mdwn [new file with mode: 0644]
docs/user/ThinkpadX61s.mdwn [new file with mode: 0644]
docs/user/VirtualizedDragonflyBSD.mdwn [new file with mode: 0644]
docs/user/hp_compaq_6710b.mdwn [new file with mode: 0644]
docs/user/index.mdwn [new file with mode: 0644]
docs/user/satellite_m50-101 [new file with mode: 0644]
docs/user/vKernelNetwork.mdwn [new file with mode: 0644]
docs/user/vKernelOverview.mdwn [new file with mode: 0644]
docs/user/vKernelRun.mdwn [new file with mode: 0644]
docs/user/vKernelSetup.mdwn [new file with mode: 0644]
download.mdwn [new file with mode: 0644]
dragonfly-security-key.txt [new file with mode: 0644]
hammer.mdwn [new file with mode: 0644]
images.mdwn [new file with mode: 0644]
images/downloadable/FullLogo.gif [new file with mode: 0644]
images/downloadable/bug-big.gif [new file with mode: 0644]
images/downloadable/bug-fat.gif [new file with mode: 0644]
images/downloadable/bug-small.gif [new file with mode: 0644]
images/downloadable/dfly_1024.jpg [new file with mode: 0644]
images/downloadable/fred.ai [new file with mode: 0644]
images/downloadable/fred.eps [new file with mode: 0644]
images/downloadable/fred.png [new file with mode: 0644]
images/downloadable/fred.svg [new file with mode: 0644]
images/downloadable/fred.swf [new file with mode: 0644]
images/downloadable/image.gif [new file with mode: 0644]
keys.mdwn [new file with mode: 0644]
presentations.mdwn [new file with mode: 0644]
presentations/BAFUG1_SLIDES/CVS/Entries [new file with mode: 0644]
presentations/BAFUG1_SLIDES/CVS/Repository [new file with mode: 0644]
presentations/BAFUG1_SLIDES/CVS/Root [new file with mode: 0644]
presentations/BAFUG1_SLIDES/CVS/Template [new file with mode: 0644]
presentations/BAFUG1_SLIDES/dfly_bafug1.sxd [new file with mode: 0644]
presentations/BAFUG1_SLIDES/dfly_web.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/first0.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/first1.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img0.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img0.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img1.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img1.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img10.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img10.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img11.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img11.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img12.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img12.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img13.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img13.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img14.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img14.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img15.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img15.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img16.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img16.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img17.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img17.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img18.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img18.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img19.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img19.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img2.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img2.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img3.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img3.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img4.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img4.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img5.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img5.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img6.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img6.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img7.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img7.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img8.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img8.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img9.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/img9.jpg [new file with mode: 0644]
presentations/BAFUG1_SLIDES/index.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/index.html [new file with mode: 0644]
presentations/BAFUG1_SLIDES/last0.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/last1.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/next0.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/next1.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/prev0.gif [new file with mode: 0644]
presentations/BAFUG1_SLIDES/prev1.gif [new file with mode: 0644]
presentations/LISA200512/CVS/Entries [new file with mode: 0644]
presentations/LISA200512/CVS/Repository [new file with mode: 0644]
presentations/LISA200512/CVS/Root [new file with mode: 0644]
presentations/LISA200512/CVS/Template [new file with mode: 0644]
presentations/LISA200512/dfly_baylisa2005.sxd [new file with mode: 0644]
presentations/LISA200512/first0.gif [new file with mode: 0644]
presentations/LISA200512/first1.gif [new file with mode: 0644]
presentations/LISA200512/img0.jpg [new file with mode: 0644]
presentations/LISA200512/img1.html [new file with mode: 0644]
presentations/LISA200512/img1.jpg [new file with mode: 0644]
presentations/LISA200512/img10.html [new file with mode: 0644]
presentations/LISA200512/img10.jpg [new file with mode: 0644]
presentations/LISA200512/img11.html [new file with mode: 0644]
presentations/LISA200512/img11.jpg [new file with mode: 0644]
presentations/LISA200512/img12.html [new file with mode: 0644]
presentations/LISA200512/img12.jpg [new file with mode: 0644]
presentations/LISA200512/img13.html [new file with mode: 0644]
presentations/LISA200512/img13.jpg [new file with mode: 0644]
presentations/LISA200512/img14.html [new file with mode: 0644]
presentations/LISA200512/img14.jpg [new file with mode: 0644]
presentations/LISA200512/img2.html [new file with mode: 0644]
presentations/LISA200512/img2.jpg [new file with mode: 0644]
presentations/LISA200512/img3.html [new file with mode: 0644]
presentations/LISA200512/img3.jpg [new file with mode: 0644]
presentations/LISA200512/img4.html [new file with mode: 0644]
presentations/LISA200512/img4.jpg [new file with mode: 0644]
presentations/LISA200512/img5.html [new file with mode: 0644]
presentations/LISA200512/img5.jpg [new file with mode: 0644]
presentations/LISA200512/img6.html [new file with mode: 0644]
presentations/LISA200512/img6.jpg [new file with mode: 0644]
presentations/LISA200512/img7.html [new file with mode: 0644]
presentations/LISA200512/img7.jpg [new file with mode: 0644]
presentations/LISA200512/img8.html [new file with mode: 0644]
presentations/LISA200512/img8.jpg [new file with mode: 0644]
presentations/LISA200512/img9.html [new file with mode: 0644]
presentations/LISA200512/img9.jpg [new file with mode: 0644]
presentations/LISA200512/index.gif [new file with mode: 0644]
presentations/LISA200512/index.html [new file with mode: 0644]
presentations/LISA200512/last0.gif [new file with mode: 0644]
presentations/LISA200512/last1.gif [new file with mode: 0644]
presentations/LISA200512/next0.gif [new file with mode: 0644]
presentations/LISA200512/next1.gif [new file with mode: 0644]
presentations/LISA200512/prev0.gif [new file with mode: 0644]
presentations/LISA200512/prev1.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/CVS/Entries [new file with mode: 0644]
presentations/USENIX2005_BOF/CVS/Repository [new file with mode: 0644]
presentations/USENIX2005_BOF/CVS/Root [new file with mode: 0644]
presentations/USENIX2005_BOF/CVS/Template [new file with mode: 0644]
presentations/USENIX2005_BOF/dfly_usenix2005_bof.sxd [new file with mode: 0644]
presentations/USENIX2005_BOF/first0.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/first1.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/img0.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img1.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img1.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img10.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img10.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img11.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img11.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img12.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img12.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img13.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img13.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img14.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img14.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img15.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img15.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img16.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img16.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img2.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img2.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img3.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img3.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img4.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img4.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img5.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img5.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img6.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img6.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img7.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img7.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img8.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img8.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/img9.html [new file with mode: 0644]
presentations/USENIX2005_BOF/img9.jpg [new file with mode: 0644]
presentations/USENIX2005_BOF/index.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/index.html [new file with mode: 0644]
presentations/USENIX2005_BOF/last0.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/last1.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/next0.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/next1.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/prev0.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/prev1.gif [new file with mode: 0644]
presentations/USENIX2005_BOF/usenix2005_bof.html [new file with mode: 0644]
presentations/USENIX2005_BSD/CVS/Entries [new file with mode: 0644]
presentations/USENIX2005_BSD/CVS/Repository [new file with mode: 0644]
presentations/USENIX2005_BSD/CVS/Root [new file with mode: 0644]
presentations/USENIX2005_BSD/CVS/Template [new file with mode: 0644]
presentations/USENIX2005_BSD/dfly_usenix2005_bsd.sxd [new file with mode: 0644]
presentations/USENIX2005_BSD/first0.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/first1.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/img0.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img1.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img1.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img10.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img10.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img11.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img11.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img12.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img12.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img13.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img13.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img2.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img2.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img3.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img3.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img4.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img4.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img5.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img5.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img6.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img6.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img7.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img7.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img8.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img8.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/img9.html [new file with mode: 0644]
presentations/USENIX2005_BSD/img9.jpg [new file with mode: 0644]
presentations/USENIX2005_BSD/index.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/index.html [new file with mode: 0644]
presentations/USENIX2005_BSD/last0.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/last1.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/next0.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/next1.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/prev0.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/prev1.gif [new file with mode: 0644]
presentations/USENIX2005_BSD/usenix2005_bsd.html [new file with mode: 0644]
presentations/dragonflybsd.asiabsdcon04.pdf [new file with mode: 0644]
presentations/nanosleep/CVS/Entries [new file with mode: 0644]
presentations/nanosleep/CVS/Repository [new file with mode: 0644]
presentations/nanosleep/CVS/Root [new file with mode: 0644]
presentations/nanosleep/CVS/Template [new file with mode: 0644]
presentations/nanosleep/index.shtml [new file with mode: 0644]
presentations/nanosleep/tvtohz.patch [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_3d_by_hz.png [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_alias_fix.png [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_alias_fix_byhz.png [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_by_hz.png [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_by_os.png [new file with mode: 0644]
presentations/nanosleep/wakeup_lat_tvtohz_fix.png [new file with mode: 0644]
presentations/nanosleep/wakeup_latency.c [new file with mode: 0644]
presentations/ucb2003/CVS/Entries [new file with mode: 0644]
presentations/ucb2003/CVS/Repository [new file with mode: 0644]
presentations/ucb2003/CVS/Root [new file with mode: 0644]
presentations/ucb2003/CVS/Template [new file with mode: 0644]
presentations/ucb2003/dfly_basic.sxd [new file with mode: 0644]
presentations/ucb2003/first0.gif [new file with mode: 0644]
presentations/ucb2003/first1.gif [new file with mode: 0644]
presentations/ucb2003/img0.jpg [new file with mode: 0644]
presentations/ucb2003/img1.html [new file with mode: 0644]
presentations/ucb2003/img1.jpg [new file with mode: 0644]
presentations/ucb2003/img10.html [new file with mode: 0644]
presentations/ucb2003/img10.jpg [new file with mode: 0644]
presentations/ucb2003/img11.html [new file with mode: 0644]
presentations/ucb2003/img11.jpg [new file with mode: 0644]
presentations/ucb2003/img12.html [new file with mode: 0644]
presentations/ucb2003/img12.jpg [new file with mode: 0644]
presentations/ucb2003/img13.html [new file with mode: 0644]
presentations/ucb2003/img13.jpg [new file with mode: 0644]
presentations/ucb2003/img14.html [new file with mode: 0644]
presentations/ucb2003/img14.jpg [new file with mode: 0644]
presentations/ucb2003/img15.html [new file with mode: 0644]
presentations/ucb2003/img15.jpg [new file with mode: 0644]
presentations/ucb2003/img16.html [new file with mode: 0644]
presentations/ucb2003/img16.jpg [new file with mode: 0644]
presentations/ucb2003/img17.html [new file with mode: 0644]
presentations/ucb2003/img17.jpg [new file with mode: 0644]
presentations/ucb2003/img2.html [new file with mode: 0644]
presentations/ucb2003/img2.jpg [new file with mode: 0644]
presentations/ucb2003/img3.html [new file with mode: 0644]
presentations/ucb2003/img3.jpg [new file with mode: 0644]
presentations/ucb2003/img4.html [new file with mode: 0644]
presentations/ucb2003/img4.jpg [new file with mode: 0644]
presentations/ucb2003/img5.html [new file with mode: 0644]
presentations/ucb2003/img5.jpg [new file with mode: 0644]
presentations/ucb2003/img6.html [new file with mode: 0644]
presentations/ucb2003/img6.jpg [new file with mode: 0644]
presentations/ucb2003/img7.html [new file with mode: 0644]
presentations/ucb2003/img7.jpg [new file with mode: 0644]
presentations/ucb2003/img8.html [new file with mode: 0644]
presentations/ucb2003/img8.jpg [new file with mode: 0644]
presentations/ucb2003/img9.html [new file with mode: 0644]
presentations/ucb2003/img9.jpg [new file with mode: 0644]
presentations/ucb2003/index.gif [new file with mode: 0644]
presentations/ucb2003/index.html [new file with mode: 0644]
presentations/ucb2003/last0.gif [new file with mode: 0644]
presentations/ucb2003/last1.gif [new file with mode: 0644]
presentations/ucb2003/next0.gif [new file with mode: 0644]
presentations/ucb2003/next1.gif [new file with mode: 0644]
presentations/ucb2003/prev0.gif [new file with mode: 0644]
presentations/ucb2003/prev1.gif [new file with mode: 0644]
presentations/upgrade-freebsd.shtml [new file with mode: 0644]
sidebar.mdwn

diff --git a/docs/MyStartingPage.mdwn b/docs/MyStartingPage.mdwn
new file mode 100644 (file)
index 0000000..b956716
--- /dev/null
@@ -0,0 +1,66 @@
+#acl +Known:write,revert All:read\r
+# DragonFly Wiki \r
+## Documentation \r
+
+* [The official DragonFly Handbook](DragonFlyBSD_Handbook)\r
+
+* [Information for users](Users)\r
+
+* [Information for developers](Development)\r
+
+* [Answers to questions that are asked a lot](FAQs)\r
+
+* [DragonFly manual pages](http://leaf.dragonflybsd.org/cgi/web-man)\r
+\r
+## Google Summer of Code 2008 \r
+
+* [Google Summer of Code 2008 projects](GoogleSoC2008)\r
+\r
+## Download \r
+
+* Latest released version: [2.0.1](http://www.dragonflybsd.org/community/release2_0.shtml) (September 27, 2008)\r
+
+* Latest development version: [2.1](http://chlamydia.fs.ei.tum.de/pub/DragonFly/snapshots/i386/LATEST-Devel.iso.bz2) (daily snapshot - look for [up to date mirrors](http://reezer.heliohost.org/dfmirrors.html))\r
+\r
+## Where to go from here? \r
+
+* [An Index of all pages in the wiki](TitleIndex)\r
+
+* [Information for accomplishing various tasks](CategoryHowTo)\r
+
+* [Put the bounties you want, do your collaboration to existing bounties or accept a bounty and work on it](Code_Bounties)\r
+
+* [Stuff that doesn't fit in a category](Miscellaneous)\r
+
+* [DragonFly media coverage](DragonFly_in_the_press)\r
+
+* [List of DragonFly's inventions or new technologies](DragonFly_Technologies)\r
+\r
+## How to get started? \r
+
+* [Official web site](http://www.dragonflybsd.org/main/)\r
+
+* [The BSD installer](http://www.bsdinstaller.org/)\r
+
+* [pkgsrc Homepage](http://www.pkgsrc.org), [Web frontend](http://www.pkgsrc.se)\r
+
+* [DragonFly bug/issue tracker](http://bugs.dragonflybsd.org/)\r
+\r
+## How to stay informed \r
+
+* Subscribe to the [News/Mail forums](http://www.dragonflybsd.org/main/forums.cgi) or read the [archives](http://leaf.dragonflybsd.org/mailarchive/)\r
+
+* IRC Channel: irc://efnet.xs4all.nl/#dragonflybsd\r
+
+* Justin's blog [DragonFly BSD Digest](http://www.shiningsilence.com/dbsdlog/)\r
+
+* RecentChanges offers a RSS feed\r
+\r
+## How can you help? \r
+
+* Check out the ProjectsPage if you are looking for a specific project to work on. If you want to tell people that you're working on something, feel free to edit the page or send out email to one of the project mailing lists.\r
+
+* You can help with the wiki, be sure to read the Quick Wiki Guide and the Wiki Style Guidelines.\r
+\r
+----\r
+ . CategoryCategory\r
diff --git a/docs/developer/AMD64.mdwn b/docs/developer/AMD64.mdwn
new file mode 100644 (file)
index 0000000..40a7495
--- /dev/null
@@ -0,0 +1,19 @@
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##master-page:CategoryTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# DragonflyBSD AMD64 port \r
+## Status \r
+ 1. [[CrossToolChainAMD64]]\r
+ 1. buildworld\r
+## AMD64 Documentation \r
+ 1. [AMD x86-64 Architecture Specification](http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/x86-64_overview.pdf)\r
+ 1. [AMD64 Architecture Application Programmer's Manual](http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24592.pdf)\r
+ 1. [AMD64 Architecture System Programmer's Manual](http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24593.pdf)\r
+ 1. [AMD x86-64 DRAFT Processor-specific Application Binary Interface Specification](http://www.x86-64.org/documentation/abi.pdf)\r
+ 1. [AMD x86-64 whitepaper](http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/x86-64_wp.pdf)\r
+## Misc: \r
+ 1. [yanyh's random notes](Yanyh_AMD64Notes)\r
+----\r
+ . CategoryCategory\r
diff --git a/docs/developer/AMD64GSoC.mdwn b/docs/developer/AMD64GSoC.mdwn
new file mode 100644 (file)
index 0000000..079f835
--- /dev/null
@@ -0,0 +1,50 @@
+# Port DragonFly to the AMD64 architecture \r
+A [Google Summer of Code](http://code.google.com/soc/2008) project.<<BR>>\r
+Student: Jordan Gordeev<<BR>>\r
+Mentor: Matthew Dillon<<BR>>\r
+\r
+# What's this all about? \r
+This project is about mixing DragonFly/i386 code and FreeBSD/amd64 code with human intelligence in order to produce DragonFly/amd64.\r
+\r
+# What I promised to deliver \r
+\r
+1. Functioning 64-bit kernel (Linux emulation and NDIS wrapper support not included) - available by midterm<<BR>>\r
+2. Working non-threaded 64-bit userland. - available by midterm<<BR>>\r
+3. 64-bit SMP.<<BR>>\r
+4. Working threaded 64-bit programs.<<BR>>\r
+5. 64-bit vkernels.<<BR>>\r
+6. 32-bit apps working on 64-bit kernels. - optional, if nothing goes wrong<<BR>>\r
+\r
+# Where's the code? \r
+The code is in a Subversion repository available at svn://sometimes.studgrad.net/amd64.\r
+\r
+# What's the current status? \r
+
+* The kernel crashes in the boot sequence soon after leavecrit.\r
+
+* The serial console works.\r
+
+* ddb supposedly works.\r
+
+* Current hot areas: pmap & vm code.\r
+\r
+# Various questions with answers \r
+Q:  **How do I build a 64-bit kernel for testing?** <<BR>>\r
+A: Execute the following steps:\r
+ 1. `cd /usr/src`\r
+ 1. `make TARGET_ARCH#amd64 TARGET_PLATFORMpc64 buildworld`\r
+ 1. `make TARGET_ARCH#amd64 TARGET_PLATFORMpc64 KERNCONF=JG64 buildkernel`\r
+ <<BR>>\r
+Your kernel is now in `/usr/obj/usr/src/sys/AMD64_GENERIC/kernel.debug`.<<BR>>\r
+\r
+Q:  **How do I boot the 64-bit kernel?** <<BR>>\r
+A: Copy the 64-bit kernel to a convenient location, e.g. '/kernel64'. Reboot your 64-bit system and at the loader menu choose option 6 (escape to prompt). Enter the following commands:\r
+ 1. `unload`\r
+ 1. `unset acpi_load`\r
+ 1. `load /kernel64`\r
+ 1. `boot`<<BR>>\r
+\r
+Q: ***'I get an error when trying to boot the 64-bit kernel: "can't load file '/kernel64': input/output error". What's wrong?***'<<BR>>\r
+A: Your boot loader isn't prepared to load a 64-bit kernel. You need to recompile and reinstall your boot loader.<<BR>>\r
+\r
+If you've got other questions, add them here or e-mail me at jgordeev@dir.bg.\r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-C_Book_License.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-C_Book_License.mdwn
new file mode 100644 (file)
index 0000000..703a1c4
--- /dev/null
@@ -0,0 +1,81 @@
+# C Book License \r
+\r
+I have designed this license to protect contributors to this document from theft and plagiarism. However, this license may defer you from wanting to write / contribute for the work, so please be sure you understand what the license implies.\r
+<<TableOfContents(mindepth#2, maxdepth4)>>\r
+\r
+\r
+## License \r
+\r
+This document is free for any use; distribution of and contribution to the document is qualified by the following:\r
+\r
+## Distribution \r
+\r
+This document may not be distributed in any manner without the consent of all authors and contributors of the content which would be distributed. This applies to both commercial and non-commercial distribution.\r
+\r
+Content may be printed or saved in any form for personal use.\r
+\r
+Content may be used in organized group learning efforts.\r
+\r
+Examples:\r
+\r
+
+* Authors A and B contributed to a section on how to change a mouse into a horse. Before distributing this content, you must first gather permission from authors A and B. \r
+\r
+
+* You are organizing a class to discuss programming in POSIX environments. You would like to use this document as a lesson plan and distribute a printed version to all students. This is fine and does not require explicit permission from the author(s). \r
+\r
+
+* You are writing a tutorial or research paper on a related topic. You would like to use information from this document for your own work. This does not require explicit permission unless substantial portions of this document are being used as a foundation for your paper. \r
+\r
+\r
+## Contribution \r
+\r
+By contributing to this document, you accept that your contributions are available under this license or any license which can be encompassed by this one. All contributions remain the property of their respective authors. By contributing to this document, you agree that it may be presented here and modified by other users.\r
+\r
+If you make a contribution under a lesser but compatible license, please be sure to make that very clear in the "Summary" field when you submit your contribution.\r
+\r
+Examples:\r
+\r
+
+* You contribute to this document and would like to place your contribution in the public domain or under a BSD-style license. When you submit your contribution, state "This contribution is released under the BSD license / public domain." in the "Summary" field. \r
+\r
+
+* You contribute to this document and would like to place your contribution under a license which invalidates statements which are crucial to this license. By submitting, you acknowledge that, in the context of this document, this license is in effect. If you do not agree to this "dual-licensing", please do not submit your work. \r
+\r
+
+* You wish to distribute a section of this document that has another section with a compatible, lesser license. You may not distribute this section without permission from the authors of the work which are not in the lesser license. \r
+\r
+
+* You wish to distribute a section of this document which has been specified to be in a license which permits distribution. This is allowed under the clauses of that section. \r
+\r
+
+* You would like to contribute to the document, but do not agree with the licensing constraints to a point that you are uncomfortable in submitting your work, but you feel that your work is relevant and useful, and should be part of the document. You may place your contribution on a different section in the Wiki and link to that section. Please be sure to specify the availability of your document so that there is no confusion that your work is released under a different license. \r
+\r
+\r
+### What constitutes contribution? \r
+\r
+Any original modifications which contribute a new idea or clarify an existing idea are contributions which may be claimed by a contributor as copyrighted by him- or herself. Fixing mistakes dealing with grammar, sentence flow, punctuation and spelling do not constitute ownership of modified content.\r
+\r
+### Anonymous Contribution \r
+\r
+It is no longer possible to contribute to this document anonymously. If you have done so in the past, your contributions were expressly given to us for use under the public domain. In the case that this is illegal in your country, you agreed to allow us full rights to the contributed work.\r
+\r
+## Distribution of contributed content \r
+\r
+If you have contributed content to this paper, you retain full ownership of said contributions. It goes without saying that you may distribute content you have written as you see fit.\r
+\r
+Examples:\r
+\r
+
+* You contribute a section on gathering user input. You would like to have this published in a magazine. You may do this; your contributions are your property. \r
+\r
+
+* You contribute a paragraph clarifying pointer usage. You would like to publish the entire pointer section on your blog. You may not do this without permission from the other author(s) of that section. \r
+\r
+
+* You contribute a paragraph clarifying pointer usage. You place this on your blog and write your own context regarding pointers. This is certainly fine. \r
+\r
+\r
+## Shared Ownership \r
+\r
+It is very possible that multiple authors will work on the same content to a point where it is unclear who owns the copyright to the content. It is impossible for this license to determine this. However, unless there is very strong reasoning for one of the authors to own exclusive rights, this license suggests that the copyright be shared by both authors. \r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_1_C_For_Beginners.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_1_C_For_Beginners.mdwn
new file mode 100644 (file)
index 0000000..e63ef74
--- /dev/null
@@ -0,0 +1,540 @@
+# C Development Under DragonFly BSD Volume 1: C For Beginners \r
+## old title Volume 1: C For Beginners\r
+\r
+<<TableOfContents>>\r
+\r
+## Prologue \r
+
+* Discuss a small bit about C's features, pros and cons, etc. \r
+
+* Tell a bit about its history, authors, etc. \r
+
+* Why is understanding C important? \r
+
+* Discuss its use in DragonFly \r
+
+* Why is DragonFly BSD a good programming environment? \r
+\r
+Contrary to what might be perceived of the C programming language by a beginner, the language is not large at all. In fact, C is one of the smaller programming languages, with a mere 32 keywords. \r
+\r
+Written singlehandedly in 1972 by AT&T Bell Laboratories' Dennis Ritchie, C has had almost thirty years to mature into what it is today. It is a general-purpose, low-level programming language which has, over the years, been used for myriad tasks. Many of the programs and utilities (and probably the better part of the operating systems) you've used have been written in C. \r
+\r
+## Discussion of the C Language  \r
+\r
+This chapter should be a breeze-through of the following chapters, touching on several key points, but mostly providing information for the sake of getting the reader oriented with the syntax, writing style, etc. \r
+\r
+### Overview \r
+\r
+In this chapter, we will walk through the C language, touching on some of the more important features of the language. After reading this chapter, you should be superficially familiar with the [syntax](/C_Book_Glossary) of the C language as well as the aesthetical organization of source code within programs. \r
+\r
+\r
+### Our First Program \r
+\r
+In the tradition of any programming book, we will begin our journey into the C programming language with a program which will output the words, "Hello, World!" onto our screen. In C, "Hello, World!" looks like this: \r
+\r
+    \r
+    /* Includes */\r
+    #include <stdio.h>\r
+    \r
+    /* Main */\r
+    int\r
+    main(void)\r
+    {\r
+            printf("Hello, World!\n");\r
+            return (0);\r
+    }\r
+\r
+\r
+While this is one of the most basic C programs that can be written, there are many things that can be learned from it. Let's take this program apart and discuss what each section of it does. \r
+\r
+    \r
+    /* Includes */\r
+\r
+\r
+The first line in this program is a [comment](/C_Book_Glossary). In C, comments are declared in between the symbol combinations `/*` and `*/`; they are not compiled and are only useful to inform persons reading the source code of what is happening in the code. We'll talk more about them in our next example. \r
+\r
+    \r
+    #include <stdio.h>\r
+\r
+\r
+Since C is such a small language, it's pretty unuseful by itself. DragonFly BSD provides an implementation of the [standard library](/C_Book_Glossary), which contains a number of useful functions. [Header Files](/C_Book_Glossary) contain definitions of functions, structures, and other interface portions of a program. In this case, we're telling the compiler to load the header file containing definitions for standard input and output routines. We use the file `stdio.h` because it provides the definition of the function `printf()`, which we use later in the program. \r
+\r
+    \r
+    /* Main */\r
+\r
+\r
+Here, we see a comment implying that we're looking at the main section of the program. This is the case; all C programs begin with the `main` function, which is defined directly after this comment. \r
+\r
+    \r
+    int\r
+    main(void)\r
+\r
+\r
+This is the definition of the `main` function, and there are several things that we should touch on before taking a look into the body of the function. First of all, function declarations all follow a standard pattern: \r
+\r
+    \r
+    modifier type functionname(parameterlist);\r
+\r
+\r
+The [modifier](/C_Book_Glossary) is an optional keyword which specifies (modifies) the function type. [type](/C_Book_Glossary) refers to the variable type that should be returned by the function. `Functionname` is any valid C language variable name. The list of parameters that should be passed to the function are given in a comma-delimited format in the `parameterlist`. \r
+\r
+Using the above information, we can assume that the modifier is missing, the type of the function is `int` (this means "integer"), its name is `main` and it accepts an argument of type `void`. All these assumptions are correct except the last; a function accepting an argument of type `void` actually signifies a function with no arguments. Thus, we would read our definition of the main function, "Main is a function returning an integer type and accepting no (void) arguments." \r
+\r
+    \r
+    {\r
+            printf("Hello, World!\n");\r
+            return (0);\r
+    }\r
+\r
+\r
+This is the body of the main function. All function bodies must be contained between a matching set of open and closed curly braces ({ and }). \r
+\r
+    \r
+            printf("Hello, World!\n");\r
+\r
+\r
+The function printf is provided in the standard library, and is used to print formatted output to the standard output (usually a monitor, console, or terminal session). In this case, we're asking it to print the [string](/C_Book_Glossary), "Hello, World!\n" to the standard output. If you were to actually run this program, you would notice the following output: \r
+\r
+    \r
+    $ ./hello\r
+    Hello, World!\r
+    $\r
+\r
+\r
+What happened to the `\n? \n` is an escape string signifying a newline. Since it is illegal to put line breaks inside of C strings, we must signify that we would like to insert one somehow. `\n` is the solution. \r
+\r
+    \r
+    return (0);\r
+\r
+\r
+Since we defined the `main` function as a function returning an integer, we must actually do so. The `return` keyword signifies that the function should terminate at its current point of execution and give the returned value to its calling function. \r
+\r
+You may be wondering where this value is returned - after all, the `main` function signifies the beginning of the program, so why do we need to return something from it? There's nothing calling our program, is there? In fact, there is, but this is outside the scope of this section. This will be discussed later in the book, but if you absolutely can't wait to find out, please see the Glossary entry on the [return](/C_Book_Glossary) keyword. \r
+\r
+So, we're done with our overview of the source code. Now how do we run it? \r
+\r
+To be able to run the program, we must first compile it. Compiling C programs is quite simple in DragonFly BSD; the GNU Compiler Collection (GCC) is included in DragonFly BSD and it is used to compile C programs which can be distributed among and run on any DragonFly BSD system. To compile our "Hello, World!" program above, simply save the text of the program in a file called `hello.c`. Run the following command to compile the source code file: \r
+\r
+    \r
+    $ cc hello.c -o hello\r
+\r
+\r
+When the program is compiled, you can test it with: \r
+\r
+    \r
+    $ ./hello\r
+\r
+\r
+This will produce the output we saw above: \r
+\r
+    \r
+    Hello, World!\r
+    $\r
+\r
+\r
+Most of the programs discussed in this book can be compiled in this same manner. \r
+\r
+## Simple Concepts - Variables, Operators, Types and Expressions \r
+\r
+In most programming languages, understanding how to program in that language requires the understanding of some quite simple concepts: variables, operators, types and expressions. What do all of these terms mean? \r
+\r
+ **Variables**  are essentially mnemonics for data; this definition applies to C as well. Variables are used in C to refer to data. The term "variable" itself implies that the data contained in the mnemonic may vary. This is not always the case in C and, in this sense, the term "variable" may seem a misnomer. \r
+\r
+ **Operators**  refer to popular mathematical operators. Operators are symbols that represent operations that should be applied to or carried out upon a variable. The symbol "+" in C is thus the addition operator, "-" is the subtraction operator, and so forth. \r
+\r
+ **Types**  refer to the sort of data that a variable can contain. In C, there are several data types, including integral, decimal, character and grouped types (called structures). \r
+\r
+An  **expression**  is the grouping of the above (variables, operators and types) to express a certain process. \r
+\r
+### Variables and Types \r
+\r
+Variables in C are used for many different purposes: to keep track of iterations in a loop, to store data from a file, to store input from a user, and much more. However, different types of variables might be used for each one of the previous examples. Since variables and types are so closely related, we will discuss them hand-in-hand in this section. \r
+\r
+C is what is called a `typed`  language. This means that variables must be given a type when they are defined in a program. As explained earlier, variables in C can be of several data types. The following types are supported in C: \r
+\r
+
+* `int` -- `int` refers to an integral number (an integer). An integer is any non-fractional number (..., -1, 0, 1, ...). \r
+
+* `float` -- The `float` type refers to a floating point number; that is, a number with a decimal point. \r
+
+* `double` -- `double` means double precision floating point: it is another way to represent fractional numbers, but has better precision than the float type. \r
+
+* `char` -- Characters are represented with the `char` type. This type is really a special case for denoting that the number should be mapped to represent a single ASCII character. \r
+
+* `void` -- Variables of this type are unable to store information; they are void of type. \r
+\r
+In addition to these types, there are a few other special data types in C; these types will be discussed later in the book since the application of these types is usually reserved for semi-advanced work. \r
+`struct` -- Structures, denoted by their C type `struct`, are variables that contain multiple variable types. One might use a structure to store information about an employee (such as their name, address, phone number, salary, etc). \r
+`union` -- Unions are similar to structures in that they can contain multiple types, but different in that can only store one type at a time. Unions are useful to store information with a variable type. \r
+`enum` -- `enum`, short for "enumeration," is used to declare and initialize a sequence of integers. \r
+\r
+\r
+## Controlling the Flow of Programs: Control Structures and Functions \r
+\r
+### Control Structures \r
+\r
+Control Structures are statements which are used to repeatedly or conditionally execute part of the program. \r
+\r
+#### Conditional execution \r
+\r
+Conditional execution is accomplished with the if statement. If the expression following it evaluates to nonzero the statements following if are executed. If the expression's value is zero then all statements following the else are executed (if an else exists). \r
+\r
+###### Format \r
+\r
+    \r
+    if (expression) {\r
+            /* These statements will execute */\r
+            ;\r
+    } else {\r
+            /* These other statements will execute */\r
+            ;\r
+    }\r
+\r
+\r
+###### Example \r
+\r
+    \r
+    if (i # 128) {\r
+            printf("The variable i has the value 128!\n");\r
+    } else {\r
+            printf("i isn't 128, sorry!\n");\r
+    }\r
+\r
+\r
+##### Loops \r
+\r
+`do`, `for` and `while` are used to execute parts of the program multiple times. \r
+\r
+##### do \r
+\r
+##### for \r
+\r
+The `for` loop is commonly used when you know the number of times to repeat your statements. It has three clauses: initial, expression, and increment. The initial clause is only executed when the `for` loop is first entered. After that for each iteration of the loop first the expression clause is evaluated. If the result of the expression is nonzero the statements are executed. If it is zero, the loop is finished. If the value of the expression clause was nonzero the increment clause is executed after statement execution. Each clause can be ommitted. \r
+\r
+###### Format \r
+\r
+    \r
+    for (initial; expression; increment) {\r
+            /* Statements to be executed */\r
+            ;\r
+    }\r
+\r
+\r
+The following `for` loop will count from 0 to 9. \r
+###### Example \r
+\r
+    \r
+    int i;\r
+    \r
+    for (i = 0; i < 10; i++) { \r
+            printf("This is the %d time this loop has fired\n", i); \r
+    }\r
+\r
+\r
+##### while \r
+\r
+The `while` loop is used when the number of times statements should be executed depends on a condition. The `while` loop is executed as long as the expression evaluates to nonzero. \r
+\r
+The `while` loop checks the condition  **before**  it executes any statements, see `do while` loop for condition check  **after**  the first statement execution. \r
+###### Format \r
+\r
+    \r
+    while (expression) {\r
+             /* Statements to execute */\r
+             ;\r
+    }\r
+\r
+###### Example \r
+\r
+    \r
+    while (finished != true) {\r
+            /* code goes here */\r
+    }\r
+\r
+\r
+##### do while \r
+\r
+    \r
+    do {\r
+             /* Statements to execute */\r
+             ;\r
+    } while (again # true);\r
+\r
+\r
+
+* Small overview of (simple) frequently used functions from the standard library. \r
+
+* When should you used typedef, macros, etc. \r
+
+* More... \r
+
+* Overview, exercises and examples \r
+\r
+### Functions \r
+\r
+\r
+\r
+## Arrays and Pointers \r
+\r
+Arrays are arrangements of variables of the same [type](/C_Book_Glossary). \r
+\r
+A good example of a simple array is a word, where each character of this word is a single variable of the type `char`, with it's own fixed place.\r
+For example the word `Dragon` is an array of chars, with a length of six. We can create it as follows:\r
+\r
+`char my_array_name[6];`\r
+\r
+The number inside the brackets indicates the amount of variables the array is made up of. Each single character has it's own place and thus each place has an address whereby we can reach it. `D` is at the first position in the word `Dragon`, and because most programming languages start counting at zero, `D` can be found at `my_array_name[0]`, whereas `r` is stored at `my_array_name[1]`, and the last character of `Dragon`, `n` resides at `my_array_name[5]`. \r
+\r
+Arrays are even more flexible than that. We can add more dimensions to it, so like in a graph with an abscissa and an ordinate, every X value should have corresponding Y entry.\r
+\r
+XXX: I haven't been able to found the graphic named "a graph with two dimensions" that should\r
+be here. You can't download images from the google cache :(\r
+\r
+So if we want to store information in pairs or more, of the same data type, we add a dimension while creating the array, thus having a two dimensional array:\r
+\r
+    \r
+    int my_array_name[3][2];\r
+\r
+\r
+So `[3][2]` means, the first dimension of our array of ints, has a length of three and each of those three are infact two values in the second dimension. If the first entry of a pair represents the abscissa and the second the ordinate, our graph above could be described as follows. \r
+\r
+XXX: Here should be a table with different colors that i don't know how to do\r
+\r
+my_array_name[0][0]='0'; \r
+my_array_name[0][1]='0'; \r
+my_array_name[1][0]='1'; \r
+my_array_name[1][1]='2'; \r
+my_array_name[2][0]='2'; \r
+my_array_name[2][1]='1'; \r
+\r
+               0-0 holds 0     1-0 holds 1     2-0 holds 2 \r
+0-1 holds 0    1-1 holds 2     2-1 holds 1 \r
+\r
+\r
+\r
+By adding more `deepness` to the second dimension e.g. `int array_name[3][4]`, it is possible to add more attributes to a group of data, an Z-axis value for the graph or thickness at a certain point. You may already have noticed that, logically, `int array_name[n]` equals to `int array_name[n][0]` or `int array_name[n][0][0]`. Because we always address the first value of the next empty dimension. \r
+\r
+### more on pointers later \r
+\r
+## Allocating Memory \r
+\r
+I'd actually like to discuss how memory is handled here and provide a small, simple, secure allocator that I've written. \r
+\r
+\r
+## Structures \r
+\r
+It's late in the book to go deep into them, but we can do some really neat stuff with them later. \r
+\r
+\r
+## The Standard Library \r
+\r
+\r
+## POSIX and C99 Features \r
+\r
+Discuss integer types, functions, and portability with C programs following the C99 and POSIX standards. \r
+\r
+\r
+## The Programming Process \r
+\r
+
+* Discuss the theory of writing programs \r
+
+* Partition large programs into libraries. \r
+
+* How to write Makefiles for programs \r
+
+* DragonFly BSD's /usr/share/mk/* and how it makes everything easier \r
+
+* Compiling many files into single binaries \r
+
+* Building static libraries \r
+
+* Building dynamic libraries \r
+\r
+\r
+\r
+### Section Notes \r
+\r
+## Unorganized Information \r
+\r
+When learning C, especially when coming from other programming languages, it is important to fully understand the fundamentals of the language. In this chapter, we will discuss the fundamentals of the C programming language, explore example programs, and discuss some basic, DragonFly BSD-specific features. \r
+\r
+\r
+### Data Types \r
+
+* C has a few simple data types \r
+
+* `int` -- A non-factional number (integer), e.g. 123456 \r
+
+* `float` -- A number with a decimal point, e.g. 3.14 \r
+
+* `double` -- Another number with a decimal point. While it has better precision than `float`, it does use more memory, e.g. 3.14159 \r
+
+* `char` -- A special case for integers that represent a single ASCII character \r
+
+* `void` -- A special type used to denote nothing \r
+\r
+C is what is called a `typed` language. This means that variables must be given a type when they are defined in a program. For more information about typed languages, please see the Section Notes. C provides several types which you must use when defining your variables. Let's take a look at an example: \r
+\r
+    \r
+    /* Includes */\r
+    #include <stdio.h>\r
+    \r
+    /* Main */\r
+    int\r
+    main(void)\r
+    {\r
+            int a;\r
+    \r
+            a = 1;\r
+            printf("a is %d\n", a);\r
+            return 0;\r
+    }\r
+\r
+\r
+\r
+### Arrays \r
+\r
+An array is a collection of items of a certain type. \r
+\r
+\r
+### Structures \r
+\r
+#### This section needs to be moved into a separate chapter on structures \r
+\r
+Another "type" available in C is the structure. C also allows its user to create their own types using the struct keyword. Below is an example of a user-defined structure: \r
+\r
+    \r
+    struct {\r
+            char FirstName[50];\r
+            char MiddleName[50];\r
+            char LastName[50];\r
+    } person;\r
+\r
+\r
+The above example has created a structure called person that consists of a FirstName, MiddleName, and a LastName. Each name is limited to 50 ASCII characters. \r
+\r
+#### Section Notes \r
+\r
+Should we go into more depth about language types? It's a quite disputed field and people don't generally agree on the absolute definitions of: "strongly typed," "weakly typed," "statically typed," or "dynamically typed." I don't want to start an introduction to the language with confusing definitions about what \r
+\r
+TODO: deal with the dangling `else` problem\r
+\r
+TODO: explain the `do` statement \r
+\r
+\r
+### Memory and C \r
+
+* Briefly and superficially discuss how memory works as seen by a program. (It is okay to discuss `sbrk()` & friends) \r
+
+* `mmap()` When is it really useful. Matt wrote something about it a while back. \r
+
+* Why is working with memory important? \r
+
+* Terminology: pointer to type, (de)referencing, etc \r
+
+* Discuss simple pointer usage \r
+
+* Strings \r
+
+* Overview, exercises and examples \r
+\r
+\r
+#### Section Notes \r
+\r
+\r
+### Stuff \r
+\r
+that should go somewhere but needs to find a good place: \r
+\r
+### Syntax \r
+\r
+The C syntax is a combination of [keywords](/C_Book_Glossary), [operators](/C_Book_Glossary), variables and symbols to determine program content and flow. \r
+\r
+### Header files \r
+\r
+In general they do not actually implement functions. As these files implement interfaces, they are generally used for two purposes: \r
+
+* To provide interfaces to a library (the standard C library, for example), and \r
+
+* To allow for proper abstraction in projects by providing interfaces which can be used between source files. \r
+\r
+Header files are imported into C source files using the [preprocessor directive](PreprocessorDirective) `#include`. \r
+\r
+### Comments \r
+\r
+Comments can span multiple lines and can contain any text (other than */), however, they cannot be nested. \r
+\r
+Comments are very useful inside code and are used in DragonFly BSD (and in most C programs in general) frequently for any of the following reasons: \r
+
+* To give information about any license(s) under which the code is available. \r
+
+* To discuss the purpose of a function. \r
+
+* To give information about perhaps otherwise difficult to understand pieces of code. \r
+\r
+When programming for DragonFly BSD, comments are encouraged. It is in general good practice to add comments describing what happens in a function before its declaration, rather than in the body of that function. That said, comments should absolutely not be overused. When overused, comments can make code unreadable. \r
+\r
+Examples of different kinds of comments include: \r
+\r
+    \r
+    /* This is a comment on a single line. */\r
+    /*\r
+    
+* This is how comments that span multiple lines should be formatted,\r
+    
+* as detailed by the style(9) manual page.\r
+    
+*/\r
+    /*\r
+    
+* /* This comment is invalid because it is nested. This will cause a\r
+    
+*  * compiler error on the line that closes the ***first comment.\r
+    
+*  */\r
+    
+*/\r
+\r
+\r
+\r
+### Functions \r
+
+* Function declaration \r
+\r
+A function is declared using the following syntax: \r
+\r
+Some valid function definitions are: \r
+\r
+    \r
+    extern int\r
+    ext_function(char *, char *, unsigned long);\r
+    char *\r
+    function_b(void);\r
+    int\r
+    printf(const char *format, ...);\r
+\r
+\r
+Don't worry if you don't understand what each definition implies; we will cover this in more detail later. One function defintion that is important to understand at this point is the `main` function: it is called at the beginning of every program and is thus necessary for every C program. The `main` function will always take one of the following forms: \r
+    \r
+    int\r
+    main(void)\r
+    {\r
+            :\r
+            :\r
+            :\r
+    }\r
+\r
+\r
+ **- or -** \r
+    \r
+    int\r
+    main(int argc, char **argv)\r
+    {\r
+            :\r
+            :\r
+            :\r
+    }\r
+\r
+\r
+ **TODO**  Add chapter about the preprocessor\r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_2_Programming_for_the_DragonFly_BSD_Userland.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_2_Programming_for_the_DragonFly_BSD_Userland.mdwn
new file mode 100644 (file)
index 0000000..a7feb51
--- /dev/null
@@ -0,0 +1,13 @@
+# C Development Under DragonFly BSD Volume 2: Programming for the DragonFly BSD Userland \r
+\r
+<<TableOfContents>>\r
+\r
+## DragonFly BSD Specific Clarifications \r
+\r
+### ERRNO Related \r
+\r
+errno is now a thread-local variable, so "extern int errno" is now explicitly wrong (compile-time failure) on DFly where before it was just implicitly wrong (the specifications assert that errno.h is the only way to access errno). While it may work on other platforms, you should avoid that construct in general.\r
+\r
+### STDIO Related \r
+\r
+Lots of other platforms allow programs to directly manipulate FILE structures. As part of the new STDIO API committed by Joerg, FILE is now an opaque type, so operations like sizeof(FILE) will not only fail to compile but are, in some sense, meaningless. Additionally, attempting to use copies of FILE structures is a likely path to SIGSEGV as stdio may keep internal state. You should always use the STDIO API and only the STDIO API to manipulate FILE structures.\r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_3_Developing_the_DragonFly_BSD_Kernel.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_3_Developing_the_DragonFly_BSD_Kernel.mdwn
new file mode 100644 (file)
index 0000000..e913ce7
--- /dev/null
@@ -0,0 +1,52 @@
+# C Development Under DragonFly BSD Volume 3: Developing the DragonFly BSD Kernel \r
+\r
+<<TableOfContents>>\r
+\r
+## Working on the kernel \r
+\r
+
+* Discuss how kernel development differs from userland development\r
+
+* What subsystems do we provide\r
+
+* Where are various files\r
+
+* How to debug a kernel\r
+
+* Overview, exercises and examples \r
+\r
+\r
+\r
+### Section Notes \r
+\r
+### Debugging threads in a kernel \r
+\r
+#### Notes from a thread which should be converted \r
+\r
+\r
+    \r
+    :Richard Nyberg wrote:\r
+    :> I often use gdb's proc command to switch between different processes\r
+    :> when debugging kernel cores. Now I want to debug a kernel thread\r
+    :> and it doesn't seem to work. Does anyone know how to switch to a\r
+    :> kernel thread? Maybe proc could be tweaked to work for threads too.\r
+    :>\r
+    :Replying to myself...\r
+    : \r
+    :I RTFS and it looked like proc should work with kernel threads.\r
+    :The problem seems to be that the threads td_pcb is invalid.\r
+    :\r
+    :Example:\r
+    \r
+    Matt wrote,\r
+    \r
+    Theoretically you can give the 'proc' command a thread address (not a\r
+    proc address, a thread address) and it should switch to it.\r
+    \r
+    But Joerg's recent upgrades of gdb seem to have broken some things\r
+    that had been working before.\r
+    \r
+    Pure kernel threads do not have PCBs in the conventional sense.  The\r
+    thread state is pushed onto the stack for the switch/restore instead.\r
+    Most of the pcb structure will be unused for a kernel thread.\r
+\r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_4_Resources_for_DragonFly_BSD_Developers.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_4_Resources_for_DragonFly_BSD_Developers.mdwn
new file mode 100644 (file)
index 0000000..f365e03
--- /dev/null
@@ -0,0 +1,41 @@
+# C Development Under DragonFly BSD Volume 4: Resources for DragonFly BSD Developers \r
+\r
+<<TableOfContents>>\r
+\r
+## DragonFly BSD-specific Programming Resources \r
+\r
+### Leaf \r
+\r
+Leaf is a (as I understand it) ShuttlePC system with an AMD Athlon 64 3200+ processor, 1GB DDR memory, USB / Firewire / GigE / other peripheral goodies, and a 160GB Maxtor HDD. It is very fast.\r
+\r
+Access to Leaf is based on request; Matt Dillon is the man you need to speak to. It is required that you have been active on the DragonFly mailinglist or have contributed to the project to get an account.\r
+\r
+## C resources \r
+\r
+### Books \r
+\r
+There are many good books on programming in C. Some of the classics are mentioned here:\r
+\r
+\r
+\r
+### For Beginners \r
+\r
+
+* The C Programming Language (http://cm.bell-labs.com/cm/cs/cbook/)\r
+
+* A Book on C: Programming in C (http://www.amazon.com/exec/obidos/tg/detail/-/0201183994/104-3975936-9195137?v=glance) \r
+\r
+\r
+\r
+### Reference \r
+\r
+
+* C - A Reference Manual (http://www.amazon.com/exec/obidos/ASIN/013089592X/qid#1102075811/sr2-1/ref=pd_ka_b_2_1/103-7182152-1107014) \r
+\r
+\r
+\r
+### Websites \r
+\r
+\r
+\r
+## Section Notes \r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_5_Networking_and_Interprocess_Communication_in_DragonFly_BSD.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_5_Networking_and_Interprocess_Communication_in_DragonFly_BSD.mdwn
new file mode 100644 (file)
index 0000000..a41c74a
--- /dev/null
@@ -0,0 +1,5 @@
+# C Development Under DragonFly BSD Volume 5: Networking and Interprocess Communication in DragonFly BSD \r
+\r
+<<TableOfContents>>\r
+\r
+Will contain information about writing networked applications, utilizing CAPS, etc.\r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_6_Secure_Programming_Concepts.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_6_Secure_Programming_Concepts.mdwn
new file mode 100644 (file)
index 0000000..c6494bb
--- /dev/null
@@ -0,0 +1,176 @@
+# C Development Under DragonFly BSD Volume 6: Secure Programming Concepts \r
+\r
+<<TableOfContents>>\r
+\r
+## Security \r
+\r
+When thinking about security one must never forget that  **putting a lock on something is not secure per se** . Even if you have the biggest and strongest front door, when your roommate leaves the key under the doormat a stranger or a friend can just walk right in. If the reason the key is left under the door mat is that it weighs 1kg then maybe you bought the wrong lock.\r
+\r
+As C is a medium level programming language, it only provides very basic functionality and checks for incorrect usage - barely more than the processor itself. If you program in C, you can shoot yourself in the foot as easily as you can when operating as root on a UNIX™ system.\r
+\r
+There are a variety of possible mistakes and even more ways to make use of them, which is called ***exploiting***. Successfully exploiting a so-called bug can affect a target system in various ways. An attacker might prevent the target system from providing any service(s) by crashing or hanging it, he could possibly gain access on the target system which he didn't have before (remote exploit), he might elevate his privileges on a target system that he could access before (local exploit), or he could simply get information that was disclosed.\r
+\r
+But what are the common security flaws, how and why do they happen and how do they get exploited? One example is a bug that allows an attacker to write to memory locations. This could happen if data that is input by an attacker or user is incorrectly or not checked. Once the attacker has the ability to modify memory, he can use clever tricks to gain control over the exploited program(s) which may lead to more system-wide exploitations and possibly resulting in what was mentioned above.\r
+\r
+### Common security issues \r
+\r
+#### Buffer overflows \r
+\r
+A buffer overflow can be compared to what occurs when you fill a five pound sack with 10 pounds of apples. Basically, what happens is that the apples end up spilling over. While some might fall harmless at your feet, others can end up rolling onto the not-so-clean portion of your kitchen. While that doesn't sound too bad, assume we take it another step and say your small child eats these apples. If you're lucky, nothing will happen. However, if your not-so-clean portion of the kitchen is like many others, chances are, that they'll get ill.\r
+\r
+This analogy is very similar to what happens in a buffer overflow. First, let's take a minute and describe what a buffer is. A buffer is something (an array, a pointer, or whatever) a programmer uses to store data. While this problem isn't dramatic, the issue arises when the programmer places a limit on how much this buffer can hold. Now, let's assume we have the following innocent prompt within a program:\r
+\r
+    \r
+    char FirstName[10];\r
+    printf("Please enter your first name\n");\r
+    scanf("%s", FirstName);\r
+\r
+\r
+That seems simple enough, what could be wrong with it? Well, let's take a minute and assume you enter your first name which is 11 characters. What is going to happen? Well, C being the "I'm only doing what you told me to do." language that it is, will put 11 <<FootNote(Ok, it really is 12 because the scanf function will append the string termination character of NULL (or '\0').)>> characters in this 10 space buffer. Now, where does this extra character go? Let's rewind back to the early 1900s for the answer. John von Neumann was theorizing how data should appear in a computer. He determined it would be easier for the computer if data and functions occupied the same regions of memory. This little decision is the root of all buffer overflows, because these extra characters start writing over the regions of memory the next portion of your program reside.\r
+\r
+Now, just like we don't know where the apples were going to fall, this code can overwrite something relatively unimportant (the next ***printf(3)***-call) or something much more important (a return-statement). The keyword ***return*** means something special to C and the computer on which it runs. It informs the computer that it should adjust some internal components, that afterwards dictate what portion of memory to move to next. What an exploiter of a weakness of this type will do, is to craft the incoming data (in this case your first name) in such a way, that this internal component is told to move to some other function on the machine, which the exploiter will then use to further subvert the machine in question.\r
+\r
+#### Off by one errors \r
+\r
+An off by one error is what results when the programmer has an incomplete understanding of a counting problem. Generally there are two groups of counting problems. One group deals with values which are counts and sizes, and the other group deals with values which are indicies and offsets. Counts are usually based on a starting sum of one, but indicies are usually based on a starting offset of zero. When the classification of a value from one of these groups is confused with the other, an ***off by one*** error occurs.\r
+\r
+If a count is confused with an index, the value as used is one too high. Likewise, if an index is confused for a count, the value is one too low. In either case, whether a value is a count or an index depends on the context and what is being counted. Therefore, it is extremely important to define what is included in a count, as we will see with the standard library string functions.\r
+\r
+Off by one errors are often introduced when an array, such as a string of characters or a byte addressed buffer, is referenced. Furthermore, what is being counted is often misunderstood. Many standard library string functions count the number of characters in a string, and many more count the number of bytes in a string. The major difference is whether the terminating NUL character in the string is counted.\r
+\r
+An ***off by one*** error often leads to the exploitation of a common security hole known as a ***buffer overflow*** or ***buffer attack***. As a simple example, consider the following:\r
+\r
+    \r
+    void do_something (char *instr) {\r
+        char localstr[80];\r
+    \r
+        /* ... */\r
+    \r
+        if (strlen(instr) > 80) {\r
+            fprintf(stderr, "Line must be 80 characters or less.\n");\r
+            exit(1);\r
+        }\r
+    \r
+        strcpy(localstr, instr);\r
+    \r
+        /* ... */\r
+    }\r
+\r
+\r
+The strlen(3) library function returns the byte count ***excluding the NUL terminating character***, so the programmer is not testing the size of the incoming string against the allocated space. The programmer should have used a buffer of size 81 to make room for the NUL.\r
+\r
+This type of error allows an attacker to modify data that is adjacent to the buffer in memory. For example, suppose the program's idea of what the string was stored in memory following the buffer. Then an attacker could follow a number of steps to first modify this value following the buffer, next directly adjust the buffer to a desired size, and finally store the desired data into the buffer. With such an attack, the attacker would be able to store data in memory almost anywhere after the start of the buffer, possibly modifying other data that is always addressable or even statisically addressable at a point after the start of the buffer.\r
+\r
+A buffer attack allows an attacker to potentially bypass tests designed to keep the system secure. Depending on the severity of this offset hole, arbitrary exploitation is possible (a simple one-byte write into the base register on x86 may lead to arbitrary control over program flow).\r
+\r
+To avoid mistakes like these:\r
+\r
+
+* Always review the documentation of functions like strlen(3), and be completely sure of what they return. Is it a count of characters in or operated on in a string, or is it an index into a string, and does the value include or exclude a terminating ***NUL*** character.\r
+
+* Avoid functions like strcpy(3). Instead, use functions that take a size argument like strncpy(3). In the above case it still would have been a bug, but it would have been harder to exploit.\r
+
+* Dynamically allocate memory rather than using stack variables. While errors can still occur there, they are less likely to affect stack variables and return addresses.\r
+
+* Try to develop a clear mental picture of what is going on, rather than "checking if it works". The most plentiful source of off by one errors is programs that have the error without crashing. \r
+\r
+\r
+#### Format string vulnerabilities \r
+\r
+A format string that can be provided by an attacker causes a vulnerability. The attacker can write to the memory or gain information through a leak.\r
+\r
+ A simple example:\r
+\r
+    \r
+    /* wrong */\r
+    void print(const char *msg)\r
+    {\r
+        printf(msg);\r
+    }\r
+    \r
+    /* right */\r
+    void print(const char *msg)\r
+    {\r
+        printf("%s", msg);\r
+    }\r
+\r
+\r
+By not specifying the format of the data passed to printf and simply passing the variable msg, any format characters contained within the msg variable will be expanded internally by printf. By abusing the various format characters available, an information leakage may occur (for example, passing %s will expand the printf to dereference a pointer from the stack [which may or may not be valid]). Clever crafting of format strings may not only allow an attacker arbitrary information leakage but arbitrary program flow (with the abuse of the %n format modifier, allowing writes to user-supplied memory addresses). Always pass a format modifier to the *printf family of functions to avoid the format string bug.\r
+\r
+#### Integer overflow \r
+\r
+Consider the following code:\r
+\r
+    \r
+    void func(char *s)\r
+    {\r
+        char *ptr;\r
+        /* implicit: signed */ int size;\r
+    \r
+        size = strlen(s);\r
+        if(size > 0) {\r
+            ptr = (char *) malloc(size+1);\r
+            memcpy(ptr, s, size);\r
+        }\r
+    \r
+    }\r
+\r
+\r
+If size is the maximum value of a signed integer, size + 1 will be -1;\r
+\r
+#### Race Conditions \r
+\r
+Lack of synchronization in certain areas of your application code may lead to the creation of a race condition. When non-atomic code is written with the assumption of non-divisability (being atomic), a new category of programming bugs open, many of which are potentially exploitable. Race conditions can prop up in signal handling code, I/O code, multi-threaded logic code and more.\r
+\r
+Take the following code as an example:\r
+\r
+    \r
+    int answer;\r
+    \r
+    if (MD5(file, "4cf91ea4a6a10dbe5f55438b1a4a7d55") # TRUE) {\r
+            printf(" Are you sure you want to continue [y\n]: ");\r
+    \r
+            answer = getchar();\r
+            if (answer # 'y')\r
+                    execlp(file, execlp, NULL);\r
+    }\r
+\r
+\r
+Imagine a suid application allows execution of any file with identical MD5s (as the example above). What if a user was to replace the file after the MD5() function is called and before execlp()? Rather than executing the expected file, any arbitrary file may be called. Similar race conditions may be found in the insecure usage of mktemp() and friends.\r
+\r
+#### Using libraries to avoid these issues \r
+\r
+#### List of insecure and potentially insecure functions in the standard library \r
+\r
+String manipulation functions:\r
+\r
+
+* strcpy\r
+
+* strcat\r
+
+* strncpy with wrong length parameter\r
+
+* strncat with wrong length parameter\r
+
+* gets\r
+
+* sprintf\r
+
+* snprintf with wrong length parameter\r
+
+* all printf-like functions with a harmful format string \r
+\r
+Other functions:\r
+\r
+
+* memcpy \r
+\r
+\r
+#### Overview, exercises and examples \r
+\r
+#### Social engineering and non-programming security flaws \r
+\r
+##### Filching passwords from their keeper(s) \r
+\r
+## Section Notes \r
diff --git a/docs/developer/C_Development_Under_DragonFly_BSD-Volume_7_Glossary_and_Tables_for_all_Volumes.mdwn b/docs/developer/C_Development_Under_DragonFly_BSD-Volume_7_Glossary_and_Tables_for_all_Volumes.mdwn
new file mode 100644 (file)
index 0000000..375ba58
--- /dev/null
@@ -0,0 +1,105 @@
+## page was renamed from C Development Under DragonFly BSD/Volume 7 Glossary for all Volumes\r
+# C Development Under DragonFly BSD Volume 7: Glossary and Tables for all Volumes \r
+\r
+<<TableOfContents>>\r
+\r
+## Glossary \r
+### Symbol \r
+\r
+
+* #define - A keyword that is used to define a macro, variable, etc. for the C preprocessor.\r
+
+* #include - A keyword that is used to inform the C preprocessor to open another file and process that.\r
+
+* #if - A keyword that is used to inform the C preprocessor to only include the encapsulated code in the program if a given criteria is met.\r
+
+* #else - A keyword that is used in conjunction with #if that informs the C preprocessor to include the encapsulated code in the program if the criteria is ***not*** matched by the corresponding #if statement.\r
+
+* #elif - A keyword that is used in conjunction with #if that informs the C preprocessor to include the encapsulated code in the program if the criteria is ***not*** matched by the corresponding #if statement ***and*** it matches the supplied logical statement.\r
+
+* #endif - A keyword that is used to inform the C preprocessor to end the last #if statement \r
+\r
+\r
+### 0 - 9 \r
+\r
+### A \r
+\r
+### B \r
+\r
+### C \r
+\r
+### D \r
+\r
+### E \r
+\r
+### F \r
+\r
+### G \r
+\r
+### H \r
+\r
+### I \r
+\r
+#### int \r
+\r
+A C keyword used to express a non-fractional number that is commonly called an integer.\r
+\r
+### J \r
+\r
+### K \r
+\r
+#### Keyword \r
+\r
+C keywords are words recognized by the compiler to denote certain operations. A full list of standard keywords includes:\r
+\r
+    \r
+    auto        break        case        char        const        continue        default        do\r
+    double      else         enum        extern      float        for             goto           if\r
+    int         long         register    return      short        signed          sizeof         static\r
+    struct      switch       typedef     union       unsigned     void            volatile       while\r
+\r
+\r
+In addition, GCC allows the use of in-line assembler by using the `asm` keyword.\r
+\r
+### L \r
+\r
+### M \r
+\r
+#### Modifier \r
+\r
+Standard C language modifiers include:\r
+\r
+    \r
+    auto        extern      register\r
+    static      typedef     volatile\r
+\r
+\r
+### N \r
+\r
+### O \r
+\r
+#### Operators \r
+\r
+### P \r
+\r
+#### Preprocessor Directive \r
+\r
+### Q \r
+\r
+### R \r
+\r
+### S \r
+\r
+### T \r
+\r
+### U \r
+\r
+### V \r
+\r
+### W \r
+\r
+### X \r
+\r
+### Y \r
+\r
+### Z  \r
diff --git a/docs/developer/CheckpointFeatures.mdwn b/docs/developer/CheckpointFeatures.mdwn
new file mode 100644 (file)
index 0000000..6c54000
--- /dev/null
@@ -0,0 +1,13 @@
+Random ideas for advanced checkpoint support\r
+\r
+
+* abstract checkpointing into an API and a bunch of functions.  convert current checkpoint code to be a elf file target\r
+\r
+
+* support incremental snapshots by exploiting dirty bit\r
+\r
+
+* support snapshot-while-running/short snapshot delay by use of COW pages\r
+\r
+
+* think about what to do with threads sleeping long time\r
diff --git a/docs/developer/Code_Bounties.mdwn b/docs/developer/Code_Bounties.mdwn
new file mode 100644 (file)
index 0000000..1007677
Binary files /dev/null and b/docs/developer/Code_Bounties.mdwn differ
diff --git a/docs/developer/CrossToolChainAMD64.mdwn b/docs/developer/CrossToolChainAMD64.mdwn
new file mode 100644 (file)
index 0000000..c0dcd7e
--- /dev/null
@@ -0,0 +1,15 @@
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+## Modèle des pages d'aide \r
+Texte.\r
+\r
+### Exemple \r
+    \r
+    xxx\r
\r
+\r
+### Affichage \r
+xxx\r
diff --git a/docs/developer/Development.mdwn b/docs/developer/Development.mdwn
new file mode 100644 (file)
index 0000000..a81adef
--- /dev/null
@@ -0,0 +1,27 @@
+# Information for DragonFly developers \r
+\r
+ **Kernel development** \r
+
+* [How to obtain a kernel core dump](HowToCreateACoreDump)\r
+
+* [How to debug kernel modules](Development/KmodDebugging)\r
+
+* [How to boot using your newly modified kernel](Development/NewkernelBoot)\r
+\r
+ ** Other** \r
+
+* [Handy hints for DragonFly developers](HandyHints)\r
+
+* [Developing C with DragonFly](C_Development_Under_DragonFly_BSD)\r
+
+* [How to make a patch](Developement/PatchMaking)\r
+
+* [Projects for people who want to contribute to DragonFly](ProjectsPage)\r
+
+* [One way to use Git for DragonFly development](TypicalGitUsage)\r
+\r
+ ** Sourcecode (cross)references** \r
+
+* [OpenGrok](http://dragonfly.creo.hu/source)\r
+
+* [FreeBSD cross reference](http://fxr.watson.org/fxr/source/?v=DFBSD)\r
diff --git a/docs/developer/DragonFly_BSD_License.mdwn b/docs/developer/DragonFly_BSD_License.mdwn
new file mode 100644 (file)
index 0000000..63ee608
--- /dev/null
@@ -0,0 +1,142 @@
+# DragonFly BSD License \r
+\r
+## Preliminary Note \r
+\r
+Authors of new code wishing specific recognition are encouraged to use the\r
+DragonFly copyright with the following paragraph inserting just after the\r
+Copyright line.  Multiple authors should simply append their names to the\r
+[pre-existing] paragraph:\r
+\r
+ This code is derived from software contributed to The !DragonFly Project\r
+ by Author Name <author@email.address>\r
+\r
+## The DragonFly BSD License \r
+\r
+The software known as "DragonFly" or "!DragonFly BSD" is distributed under\r
+the following terms:\r
+\r
+Copyright (c) 2003, 2004, 2005, 2006\r
+       The !DragonFly Project.  All rights reserved.\r
+\r
+Redistribution and use in source and binary forms, with or without\r
+modification, are permitted provided that the following conditions\r
+are met:\r
+\r
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\r
+\r
+ 1. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\r
+\r
+ 1. Neither the name of The !DragonFly Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific, prior written permission.\r
+\r
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+***AS IS*** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE\r
+COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
+INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED\r
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT\r
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+SUCH DAMAGE.\r
+\r
+## The 4.4BSD and 4.4BSD-Lite License \r
+\r
+The 4.4BSD and 4.4BSD-Lite software is distributed under the following\r
+terms:\r
+\r
+All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite\r
+Releases is copyrighted by The Regents of the University of California.\r
+\r
+Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994\r
+       The Regents of the University of California.  All rights reserved.\r
+\r
+Redistribution and use in source and binary forms, with or without\r
+modification, are permitted provided that the following conditions\r
+are met:\r
+\r
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\r
+\r
+ 1. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\r
+\r
+ 1. All advertising materials mentioning features or use of this software must display the following acknowledgement:\r
+\r
+\r
+    ***This product includes software developed by the University of California, Berkeley and its contributors.***\r
+\r
+ 1. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\r
+\r
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ***AS IS*** AND\r
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+SUCH DAMAGE.\r
+\r
+## IEEE and ANSI X3 Documentation Reprinting Permission \r
+\r
+The Institute of Electrical and Electronics Engineers and the American\r
+National Standards Committee X3, on Information Processing Systems have\r
+given us permission to reprint portions of their documentation.\r
+\r
+In the following statement, the phrase ***this text*** refers to portions\r
+of the system documentation.\r
+\r
+Portions of this text are reprinted and reproduced in electronic form in\r
+the second BSD Networking Software Release, from IEEE Std 1003.1-1988, IEEE\r
+Standard Portable Operating System Interface for Computer Environments\r
+(POSIX), copyright C 1988 by the Institute of Electrical and Electronics\r
+Engineers, Inc.  In the event of any discrepancy between these versions\r
+and the original IEEE Standard, the original IEEE Standard is the referee\r
+document.\r
+\r
+In the following statement, the phrase ***This material*** refers to portions\r
+of the system documentation.\r
+\r
+This material is reproduced with permission from American National\r
+Standards Committee X3, on Information Processing Systems.  Computer and\r
+Business Equipment Manufacturers Association (CBEMA), 311 First St., NW,\r
+Suite 500, Washington, DC 20001-2178.  The developmental work of\r
+Programming Language C was completed by the !X3J11 Technical Committee.\r
+\r
+The views and conclusions contained in the software and documentation are\r
+those of the authors and should not be interpreted as representing official\r
+policies, either expressed or implied, of the Regents of the University\r
+of California.\r
+\r
+## Update Of UC Berkeley's BSD License \r
+\r
+NOTE: The copyright of UC Berkeley's Berkeley Software Distribution ("BSD")\r
+source has been updated.  The copyright addendum may be found at\r
+ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change and is\r
+included below.\r
+\r
+July 22, 1999\r
+\r
+To All Licensees, Distributors of Any Version of BSD:\r
+\r
+As you know, certain of the Berkeley Software Distribution ("BSD") source\r
+code files require that further distributions of products containing all or\r
+portions of the software, acknowledge within their advertising materials\r
+that such products contain software developed by UC Berkeley and its\r
+contributors.\r
+\r
+Specifically, the provision reads:\r
+\r
+ 1.#3 All advertising materials mentioning features or use of this software must display the following acknowledgement: \r
+    ***This product includes software developed by the University of California, Berkeley and its contributors.***\r
+\r
+Effective immediately, licensees and distributors are no longer required to\r
+include the acknowledgement within advertising materials.  Accordingly, the\r
+foregoing paragraph of those BSD Unix files containing it is hereby deleted\r
+in its entirety.\r
+\r
+William Hoskins\r
+Director, Office of Technology Licensing\r
+University of California, Berkeley\r
diff --git a/docs/developer/DragonFly_Technologies.mdwn b/docs/developer/DragonFly_Technologies.mdwn
new file mode 100644 (file)
index 0000000..b2d84fc
--- /dev/null
@@ -0,0 +1,36 @@
+This page lists DragonFly inventions, new DragonFly tools, or DragonFly implementations of new technologies.\r
+\r
+
+* [battd](http://leaf.dragonflybsd.org/cgi/web-man?command#battd&section8) - Battery status monitoring daemon\r
+
+* [checkpt](http://leaf.dragonflybsd.org/cgi/web-man?command#checkpt&section1) - restore/resume support for Process Checkpointing (serialize process state to be resumed later on a compatible system)\r
+
+* [dma](http://leaf.dragonflybsd.org/cgi/web-man?command#dma&section8) - The DragonFly Mail Agent\r
+
+* [dntpd](http://leaf.dragonflybsd.org/cgi/web-man?command#dntpd&section8) - Network time protocol client daemon\r
+
+* [ECC detection](http://leaf.dragonflybsd.org/cgi/web-man?command#ecc&section4) - detects memory faults on supported systems\r
+
+* [jscan](http://leaf.dragonflybsd.org/cgi/web-man?command#jscan&section8) - utility for scanning journaling files\r
+
+* [mount_udf](http://leaf.dragonflybsd.org/cgi/web-man?command#mount_udf&section8) - mount a UDF file system\r
+
+* [mountctl](http://leaf.dragonflybsd.org/cgi/web-man?command#mountctl&section8) - control journaling and other features on mounted file systems\r
+
+* [pctrack](http://leaf.dragonflybsd.org/cgi/web-man?command#pctrack&section8) - dumps program counter tracking data recorded by the kernel\r
+
+* [pkg_radd](http://leaf.dragonflybsd.org/cgi/web-man?command#pkg_radd&section1) - allows installation of pkgsrc binaries, even if there isn’t a local pkgsrc tree\r
+
+* [pkg_search](http://leaf.dragonflybsd.org/cgi/web-man?command#pkg_search&section1) - print information about a package\r
+
+* [rconfig](http://leaf.dragonflybsd.org/cgi/web-man?command#rconfig&section8) - Remote Configuration Client/Server\r
+
+* [rcrun](http://leaf.dragonflybsd.org/cgi/web-man?command=rcstart) (and family) - for managing startup scripts (rcenable/rcdisable)\r
+
+* [resident](http://leaf.dragonflybsd.org/cgi/web-man?command#resident&section8) - make a dynamic binary memory-resident\r
+
+* [varsym](http://leaf.dragonflybsd.org/cgi/web-man?command#varsym&section1) - variant symlinks\r
+
+* [vkernel](http://leaf.dragonflybsd.org/cgi/web-man?command#vkernel&section7) - virtual kernel infrastructure allows the kernel to be run as a user-space process\r
+
+* [wmake](http://leaf.dragonflybsd.org/cgi/web-man?command#wmake&section1) - build DragonFly source in a buildworld environment\r
diff --git a/docs/developer/EnhanceDmaGSoC.mdwn b/docs/developer/EnhanceDmaGSoC.mdwn
new file mode 100644 (file)
index 0000000..5a60b25
--- /dev/null
@@ -0,0 +1,51 @@
+# enhance dma(8) during the SoC 2008 \r
+A [Google Summer of Code 2008](http://code.google.com/soc/2008) project.<<BR>> Student: Max Lindner<<BR>> Mentor: Matthias Schmidt<<BR>>\r
+\r
+## Project Proposal Abstract \r
+dma - a minimalistic non-listening mta for dragonflybsd shall gain some more functionality regarding processing and delivering mail.\r
+\r
+The project adresses two main subjects:\r
+\r
+-smart delivery to smarthosts\r
+\r
+-support for .forward local delivery\r
+\r
+## Status \r
+\r
+finished\r
+\r
+## Timeline \r
+Until May 25th - reading dma source, creating build environment, get to know the development cycle in dragonflybsd, refine timeline, more detail on this page ;-)\r
+\r
+May 26th until Jul 06th - creating .forward handling and test it\r
+\r
+Jul 07th until Jul 14th - Midterm Evaluation\r
+\r
+Jul 15th until Aug 10th - improve smarthost handling\r
+\r
+ **Add .forward support** \r
+\r
+Any combination of the following entries should be valid in a .forward file:\r
+\r
+    \r
+    |/pipe/to/executable\r
+    mailbox@remote.host\r
+    !deliverdirekttomailbox\r
+\r
+dma runs as root and splits itself up into 3 branches now:\r
+\r
+ 1. the old codebase, which drops privileges to user nobody / group mail\r
+ 1. a process for reading an users .forward (the function dotforwardhandler), which forks for every file to read and drops privileges to that user before reading.\r
+ 1. a process for writing an users mailbox/executing the pipe for delivering the mail (the function write_to_local_user), which forks for every mail to deliver and drops privileges to that user before open the file/pipe\r
+\r
+The communication between the 3 branches is done via two socketpairs, one socketpair for each new branch. In order to prevent concurring communication, it is synchronised with one semaphore each.\r
+\r
+The new processes terminate themselves as soon as every mail which was enqeued was sent out or bounced. This is signaled by another semaphore which is incremented before delivery starts and decremented after the mail was successfully sent or written or the bounce was generated and delivered.\r
+\r
+ **Smarter smarthost-delivery** \r
+\r
+for implementing the new smarthost delivery, I use the new function deliver_smarthost. While the function deliver takes one qitem a time, the deliver_smarthost function takes a queue. This queue is generated during go_background and is the main queue with having removed the local receipients. This queue is given to the deliver_remote function, which sends one "RCPT TO: xy@foo.bar " for each qitem.\r
+\r
+Depending on the returning status code (accept, temporary error, permanent error) the qitem is copied to one of 3 other queues. These 3 queues are processed again in deliver_smarthost after completing the deliver_remote function. Sent qitems are deleted, temporary failed items are tried again and permanent failed items are bounced.\r
+\r
+For the cram-md5 authetification, I changed the read_remote() function to the possibility to give back the received buffer. Inside of this buffer, there is a challenge which must be used together with the username and password to create a appropriate response.\r
diff --git a/docs/developer/GoogleSoC2008.mdwn b/docs/developer/GoogleSoC2008.mdwn
new file mode 100644 (file)
index 0000000..b2befcf
--- /dev/null
@@ -0,0 +1,50 @@
+# Google Summer of Code 2008 \r
+This page describes DragonFly's participation in Google's Summer of Code 2008.\r
+\r
+We have been given seven slots: [Google GSoC - DragonFly BSD](http://code.google.com/soc/2008/dragonfly/about.html)\r
+\r
+[[!toc  levels=3]]
+
+\r
+## DragonFly Projects \r
+### Enhance dma \r
+
+*  **Max Lindner** , mentored by Matthias Schmidt\r
+
+* See [[EnhanceDmaGSoC]] for more information\r
+\r
+### Port DragonFly to the AMD64 architecture \r
+
+*  **Jordan Gordeev** , mentored by Matthew Dillon\r
+
+* See [[AMD64GSoC]] for more information.\r
+\r
+### RFC3542 support \r
+
+*  **Dashu Huang** , mentored by Hasso Tepper\r
+
+* The standard application program interface (API) for TCP/IP applications is the "sockets" interface. Although this API was developed for Unix in the early 1980s, it has also been implemented on DragonFly BSD with support for IPv6 applications. Today, to fit new demands, the API standard that support IPv6 applications has experience some changes from RFC2292 to RFC3542. However, the DragonFly BSD operating system now only support RFC2292, and it don't support RFC3542 advanced sockets API, to make it catch up the change, we need to make it support RFC3542. To make DragonFly BSD support RFC3542. My work will research the codes of current IPv6 stack in DragonFly BSD and understand how it works. At the same time, I should understand some related RFC, and how other BSD's such as FreeBSD, openBSD, merged RFC3542. Through this way, I can figure out which part of the old IPv6 stack should be improved. Finally,I will update the old IPv6 stack to make it support RFC3542.\r
+\r
+\r
+\r
+### Proportional share userland scheduling algorithm \r
+
+*  **Mayur Narayan  Bhosle** , mentored by Jeffrey Hsu\r
+
+* Proportional share algorithms like lottery scheduling, Stride scheduling algorithm guarantee proportional share of resources like (CPU) to a processes as per their requirement stated specified during the start. The traditional schedulers achieve fairness or resource allocation by adjusting priority, but the effect is observed over a long term. But instead in case of proportional share schedulers we observe the fairness of allocation over a bounded period of time when we adjust the requirement of resources dynamically.\r
+\r
+### Anticipatory disk I/O scheduler \r
+
+*  **Nirmal Thacker** , mentored by Simon Schubert\r
+
+* This project aims at developing an Anticipatory Disk I/O scheduler for DragonFlyBSD. An Anticipatory Disk I/O scheduler will ensure that an anticipation heuristic will nullify all possible deceptive idleness between consecutive disk accesses and at the same time try to maintain an overall good throughput. In the DragonFly BSD operating system it must also take into consideration the MP- safety factors.\r
+\r
+### LiveCD with a DragonFly-specific X desktop \r
+
+*  **Louisa Luciani** , mentored by Sascha Wildner\r
+
+* See [[LiveDVDGSoC]] for more information\r
+\r
+## Links \r
+
+* http://code.google.com/soc/2008/\r
diff --git a/docs/developer/GoogleSoC2008Student.mdwn b/docs/developer/GoogleSoC2008Student.mdwn
new file mode 100644 (file)
index 0000000..69f681e
--- /dev/null
@@ -0,0 +1,53 @@
+# Student guidelines for DragonFly SoC 2008 \r
+\r
+This page details some guidelines for students participating / planning to participate with !DragonFly in Google's Summer of Code 2008.\r
+\r
+## Student Applications \r
+\r
+
+* Remember name, email, and a title for the project!\r
+
+* List milestones and approximately when they can be reached.\r
+
+* Describe what will be delivered in code by the end of the project.\r
+
+* Describe prior experience with programming and the specific targets of this project.\r
+
+* Plan for any hardware or software needed (See Student Resources below)\r
+\r
+## Student Requirements \r
+\r
+
+* Students must have usable code by the  **midpoint**  of the Summer of Code work period.\r
+
+* Students must have a schedule for their project that encompasses the entire work period.\r
+
+* Students must maintain contact with a mentor and/or the project coordinator (Justin Sherrill) though the project period.\r
+\r
+## Student Resources \r
+\r
+
+* Development accounts on leaf.dragonflybsd.org are available.  A public DSA key will be needed for an account.  See [this article](http://leaf.dragonflybsd.org/~justin/devcentral/article.html) for details.\r
+
+* On IRC: #dragonflybsd on EFNet.\r
+
+* This Wiki: documentation of progress and ideas.\r
+
+* [Main SoC 2008 page](http://wiki.dragonflybsd.org/index.cgi/GoogleSoC2008) on this wiki\r
+\r
+## Other links \r
+\r
+Google has a nice wiki with plenty of information, including a studend/mentor howto:\r
+\r
+
+* [Google SoC wiki](http://code.google.com/p/google-summer-of-code/wiki/WikiStart)\r
+
+* [Google's student application FAQ](http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_student_apply)\r
+\r
+\r
+Other projects have project pages that may provide helpful guidelines:\r
+\r
+
+* [FreeBSD Application Guidelines](http://www.freebsd.org/projects/summerofcode.html#proposals)\r
+
+* [NetBSD Application Guidelines](http://www.netbsd.org/contrib/soc-application.html)\r
diff --git a/docs/developer/HackAthonTopics.mdwn b/docs/developer/HackAthonTopics.mdwn
new file mode 100644 (file)
index 0000000..58d7cda
--- /dev/null
@@ -0,0 +1,83 @@
+HackAthon on the 23C3, 27th - 30th December, Berlin.\r
+\r
+ **This is a coordination page of the participating developers.  Do not add topics unless you are prepared to join us and actually do the work.** \r
+\r
+## Tasks we will work on \r
+\r
+
+* 1:1 Threading LwpUserland\r
+
+* import sound infrastructure changes\r
+
+* use new installer\r
+\r
+\r
+## Possible tasks \r
+\r
+All this seems very much like the ProjectsPage.  This needs to be merged.\r
+\r
+infrastructure:\r
+\r
+
+* bring in PCI bridging code from FreeBSD\r
+
+* Linuxulator update\r
+
+* Xen Support\r
+
+* Sync our PCI code as much as possible with FreeBSD's to take advantage of power saving stuff.\r
+
+* Import NetBSD's kauth implementation.\r
+
+* amd64 support\r
+
+* fix gcc4.1\r
+
+* fix APIC_IO on SMP\r
+
+* import FreeBSD's cpufreq and powerd\r
+
+* import nsswitch code and maybe nssldap -- import is the wrong word. we don't do dynamic binaries in /bin, so we need to have a nssd and libc communicating.\r
+
+* integrate the new (lua-based) installer\r
+\r
+\r
+Performance:\r
+\r
+
+* Automated benchmark scripts so we can track performance over time.\r
+
+* What values do we want to benchmark?\r
+
+* As much as we can. I guess that we could use http://bulk.fefe.de/scalability/ as basis and create some macro benchmarks from there.\r
+
+* SYSENTER/SYSEXIT\r
+
+* HPET\r
+
+* anticipatory disk scheduler\r
+
+* NetBSD's relcache -- NIH.  We have resident(1), which is supposed to be better.\r
+
+* Kernel profiling and performance optimizations\r
+Networking:\r
+\r
+
+* bring in RSTP support changes to if_bridge.c from FreeBSD\r
+\r
+FS:\r
+\r
+
+* LFS\r
+
+* XFS\r
+
+* tmpfs\r
+
+* userland filesystem support (possibly using caps?) (puffs from NetBSD?) (FUSE from FreeBSD/Csaba Henk?)\r
+
+* v9fs support, i have read somewhere that the people that did the linux implementation could agree on licensing it as BSD if needed. Not sure this still applies.\r
+
+* ZFS\r
+
+* squashfs\r
diff --git a/docs/developer/HandyHints.mdwn b/docs/developer/HandyHints.mdwn
new file mode 100644 (file)
index 0000000..63135b0
--- /dev/null
@@ -0,0 +1,183 @@
+# Handy hints for DragonFly developers \r
+\r
+The following is a "cookbook", of sorts; a listing of common forms of commands for working with a DragonFly system, with brief descriptions of what they each do. They might prove useful to anyone who learns easily from examples. \r
+\r
+`Note`: These items are ported from the bsdinstaller wiki and are basically "a cheat sheet" for common commands. Feel free to add to this list. \r
+\r
+`Note`: A backslash at the end of a line indicates a wrapped line; there is no need to actually type it. \r
+\r
+`Note`: You can type your username instead of `whoami` where it appears in the following example (since your username is what `whoami` generates anyway.) \r
+\r
+Table of contents\r
+[[!toc  levels=3]]\r
+\r
+\r
+# CVS \r
+See also: [[CVS]] \r
+\r
+To check out a copy of the DragonFly sources from your local CVS repository in /home/dcvs: \r
+    \r
+    cvs -d /home/dcvs update -Pd src\r
+\r
+or even better, create a ~/.cvsrc file with: \r
+    \r
+    cvs -q\r
+    diff -u\r
+    update -Pd\r
+    checkout -P\r
+    rtag -a\r
+\r
+To add a bunch of files to CVS at once: \r
+    \r
+    find . \! -path '*/CVS*' | xargs cvs add\r
+\r
+\r
+To add a (simple, non-branch) tag to an entire module: \r
+    \r
+    cvs rtag THE_TAG_NAME the_module\r
+\r
+\r
+To slip an existing tag to the HEAD revision of a specific file (be careful!): \r
+    \r
+    cvs tag -F THE_TAG_NAME the_file\r
+\r
+To completely remove a tag from a file (again, be careful!): \r
+    \r
+    cvs tag -d THE_TAG_NAME the_file\r
+\r
+\r
+To perform a "repocopy" (which retains history,) in the repository directory on the server: \r
+    \r
+    cp -p file1,v file2,v\r
+\r
+\r
+XXX add note that old tags need to be removed/renamed so that the newly copied file appears on other branches. \r
+\r
+# Leaf \r
+\r
+The following hints are intended to be used on the developer machine, leaf.dragonflybsd.org. Obviously, access to leaf requires a leaf account. \r
+\r
+`See also`: [[Volume 4: Resources for DragonFly BSD Developers]]\r
+\r
+`Note`: When connecting to leaf, be sure to use ssh -A to allow for ssh agent forwarding, so that commits to crater can be performed. \r
+\r
+To begin, you probably want a work area that looks like a root filesystem, and a directory that looks like a usr partition: \r
+    \r
+    setenv ROOT $HOME/root\r
+    mkdir -p $ROOT/usr && cd $ROOT/usr\r
+\r
+`Note`: You cannot use ~ as a shortcut for $HOME in the above. \r
+\r
+To check out DragonFly sources, read-only: \r
+    \r
+    cvs -R -d/cvs checkout -P src\r
+    cvs -d crater:/cvs commit\r
+\r
+To check out DragonFly sources, read/write: \r
+    \r
+    cvs -d crater:/cvs co src\r
+    cvs -d crater:/cvs commit\r
+\r
+To build world: \r
+    \r
+    setenv ME `id -nu`\r
+    setenv US `id -gn`\r
+    env - \\r
+        __MAKE_CONF=/dev/null \\r
+        MAKEOBJDIRPREFIX=$ROOT/usr/obj \\r
+        KERNCONFDIR=/where/you/keep/config/files \\r
+        KERNCONF=YOURCONFIG \\r
+      make buildworld buildkernel\r
+\r
+If KERNCONF and KERNCONFDIR are omitted, the GENERIC kernel will be used. \r
+\r
+To install world: \r
+    \r
+    env - \\r
+        __MAKE_CONF=/dev/null \\r
+        DESTDIR=$ROOT \\r
+        MAKEOBJDIRPREFIX=$ROOT/usr/obj \\r
+        KERNCONFDIR=/where/you/keep/config/files \\r
+        KERNCONF=YOURCONFIG \\r
+        INSTALL="sh `pwd`/tools/install.sh" \\r
+        BINOWN#$ME BINGRP$US SHAREOWN=$ME SHAREGRP=$US \\r
+      make installworld installkernel\r
+\r
+# Building Releases \r
+\r
+Note that each of these requires a copy of the DragonFly source tree checked out to /usr/src. Everything is done within /usr/src/nrelease, so first: \r
+    \r
+    cd /usr/src/nrelease\r
+\r
+\r
+To fetch the needed packages for making a release: \r
+    \r
+    make fetchpkgs\r
+\r
+\r
+To build a release: \r
+    \r
+    make release\r
+\r
+\r
+If you have built world and kernel recently, you can build a release without rebuilding them: \r
+    \r
+    make realquickrel\r
+\r
+Versions of the above commands for building a release with the installer on it: \r
+    \r
+    make installer_fetchpkgs\r
+    make installer_release\r
+    make installer_realquickrel\r
+\r
+\r
+To install additional packages on the release: \r
+    \r
+    make release EXTRA_PACKAGES="foo-1.0 bar-2.3e"\r
+\r
+\r
+To install additional packages after a release has already been made, and regenerate the ISO: \r
+    \r
+    make pkgaddiso EXTRA_PACKAGES="foo-1.0 bar-2.3e" && make mkiso\r
+\r
+\r
+To remove all packages from the release tree, and regenerate the ISO: \r
+    \r
+    make pkgcleaniso EXTRA_PACKAGES="'*'" && make mkiso\r
+\r
+\r
+# Misc \r
+\r
+If you're building from CVS or working on pkgsrc ports, you will want debugging symbols in your DragonFly binaries and so libs. Set STRIP to an empty string in /etc/make.conf to prevent install(1) from stripping symbols at installation time.\r
+    \r
+    STRIP=***\r
+\r
+\r
+To continue an interrupted buildworld without blowing away your progress so far: \r
+    \r
+    make buildworld -DNOCLEAN\r
+    make realquickworld -DNOCLEAN\r
+\r
+\r
+To delete multiple files listed in a textfile: \r
+    \r
+    xargs rm -rf < README.DELETED\r
+\r
+\r
+To delete from cvs multiple files listed in a textfile: \r
+    \r
+    xargs rm -rf < README.DELETED\r
+    xargs cvs rm -rf < README.DELETED\r
+\r
+\r
+To preview a manual page without installing it: \r
+    \r
+    nroff -t -man foo.8 | more\r
+\r
+\r
+# Booting options \r
+\r
+To boot with both serial and vga: (this is also known to boot with serial only on certain boards) \r
+    \r
+    boot -Dh\r
+\r
diff --git a/docs/developer/KmodDebugging.mdwn b/docs/developer/KmodDebugging.mdwn
new file mode 100644 (file)
index 0000000..769dcb7
--- /dev/null
@@ -0,0 +1,22 @@
+
+* Get your coredump.\r
+
+* Start kgdb: `kgdb /var/crash/kernel.X /var/crash/vmcore.X`.\r
+
+* Load some handy helper commands when you're at the kgdb prompt: `source /usr/src/test/debug/gdb.kernel`.\r
+
+* Get the kld statistics from the kernel: `kldstat` at the kgdb prompt.\r
+
+* Background kgdb (^Z).\r
+
+* Execute a helper utility to create another gdb script: `asf -s /modules`.\r
+
+* Paste the output from the kgdb 'kldstat' command above.\r
+
+* Signal asf that you're ready (^D).\r
+
+* Foreground kgdb again: `fg`.\r
+
+* Load the gdb script created by asf above to load kmod symbols: `source .asf` at the kgdb prompt.\r
+
+* Print, list, backtrace to your heart's content! Be sure to have debug symbols compiled with your modules though ;).\r
diff --git a/docs/developer/LiveDVDGSoC.mdwn b/docs/developer/LiveDVDGSoC.mdwn
new file mode 100644 (file)
index 0000000..b15b764
--- /dev/null
@@ -0,0 +1,9 @@
+## DragonflyBSD LiveDVD \r
+\r
+ **Student:**  Louisa Luciani\r
+\r
+ **Mentor:**  Sascha Wildner\r
+\r
+www.lolaluci.se/gsoc\r
+\r
+www.github.com/lola\r
diff --git a/docs/developer/LwpUserland.mdwn b/docs/developer/LwpUserland.mdwn
new file mode 100644 (file)
index 0000000..8695b8e
--- /dev/null
@@ -0,0 +1,232 @@
+process acounting (pstats/p_ru) needs to be moved to lwp\r
+\r
+proposed structure of kinfo_proc (compare freebsd's kinfo_proc):\r
+\r
+    \r
+    /*\r
+    
+* KERN_PROC subtype ops return arrays of augmented proc structures:\r
+    
+*/\r
+    struct kinfo_proc {\r
+       size_t          ki_len;                 /* complete length of this structure */\r
+            int             ki_type;                /* KI_TYPE_PROC */\r
+    \r
+       /* proc information */\r
+       int             ki_pflags;\r
+    \r
+       sigset_t        ki_siglist;\r
+       struct timeval  ki_start;\r
+    \r
+       char            ki_comm[MAXCOMLEN+1];\r
+    \r
+       /* cred information */\r
+       uid_t           ki_uid;\r
+       short           ki_ngroups;\r
+       gid_t           ki_groups[NGROUPS];\r
+       uid_t           ki_ruid;\r
+       uid_t           ki_svuid;\r
+       gid_t           ki_rgid;\r
+       gid_t           ki_svgid;\r
+    \r
+       struct procsig  ki_procsig;     /* shared signal structure */\r
+       struct vmspace  ki_vm;          /* address space */\r
+       struct pstats   ki_stats;       /* process stats */\r
+       u_int64_t       ki_uticks;      /* time accouting */\r
+       u_int64_t       ki_sticks;\r
+       u_int64_t       ki_iticks;\r
+       int             ki_cpuid;       /* last scheduled on cpu */\r
+       pid_t           ki_pid;         /* process id */\r
+       pid_t           ki_ppid;        /* parent process id */\r
+       pid_t           ki_pgid;        /* process group id */\r
+       short           ki_jobc;        /* job control counter */\r
+       dev_t           ki_tdev;        /* controlling tty dev */\r
+       pid_t           ki_tpgid;       /* tty process group id */\r
+       struct session  *ki_tsess;      /* tty session pointer */\r
+       segsz_t         ki_xsize;       /* text size */\r
+       short           ki_xrssize;     /* text rss */\r
+       short           ki_xccount;     /* text references */\r
+       short           ki_xswrss;\r
+       long            ki_flag;\r
+    #define    EPROC_CTTY      0x01            /* controlling tty vnode active */\r
+    #define    EPROC_SLEADER   0x02            /* session leader */\r
+       char            ki_login[roundup(MAXLOGNAME, sizeof(long))];    /* setlogin() name */\r
+       int             ki_jailid;\r
+    };\r
+    void fill_kinfo_proc (struct proc *, struct kinfo_proc *);\r
+\r
+\r
+Points regarding how to export lwp info:\r
+
+* Export it separately from the processes, like having a kvm_getlwps which takes, among other things, a PID as argument.\r
+
+* Pro: you don't clutter struct kinfo_proc with lwp references\r
+
+* Con: if you want to get info about all lwps, you have to first get all the PIDs, then get the lwps of each proc which means many more calls\r
+\r
+uses of kinfo_proc:\r
+    \r
+    /repos/src/dragonfly/src/bin/ps/ps.c: 90: static const char *getfmt (char **(*)(kvm_t *, const struct kinfo_proc *, int),\r
+    /repos/src/dragonfly/src/bin/ps/ps.c: 116:         struct kinfo_proc *kp;\r
+    /repos/src/dragonfly/src/bin/ps/ps.c: 519: getfmt(char **(*fn) (kvm_t *, const struct kinfo_proc *, int), KINFO *ki, char\r
+    /repos/src/dragonfly/src/bin/ps/ps.h: 54:  struct kinfo_proc *ki_p;        /* proc structure */\r
+    /repos/src/dragonfly/src/contrib/cvs-1.12/src/update.c: 78: static int get_linkinfo_proc( void *_callerdat, struct _finfo * );\r
+    /repos/src/dragonfly/src/contrib/cvs-1.12/src/update.c: 507:           (get_linkinfo_proc, NULL, NULL, NULL, NULL,\r
+    /repos/src/dragonfly/src/contrib/cvs-1.12/src/update.c: 540:  * The get_linkinfo_proc callback adds each file to the hardlist\r
+    /repos/src/dragonfly/src/contrib/cvs-1.12/src/update.c: 545: get_linkinfo_proc (void *callerdat, struct file_info *finfo)\r
+    /repos/src/dragonfly/src/contrib/ipfilter/ipsend/sock.c: 98: static        struct  kinfo_proc      *getproc __P((void));\r
+    /repos/src/dragonfly/src/contrib/ipfilter/ipsend/sock.c: 252: static struct kinfo_proc *getproc()\r
+    /repos/src/dragonfly/src/contrib/ipfilter/ipsend/sock.c: 254:      static  struct  kinfo_proc kp;\r
+    /repos/src/dragonfly/src/contrib/ipfilter/ipsend/sock.c: 281:      struct  kinfo_proc      *p;\r
+    /repos/src/dragonfly/src/lib/libc/gen/sysctl.3: 166: struct kinfo_proc kp;\r
+    /repos/src/dragonfly/src/lib/libc/gen/sysctl.3: 424: .Va struct kinfo_proc\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore.h: 75: struct kinfo_proc;\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore.h: 87: int      kcore_get_procs(struct kcore_data *kc, struct kinfo_proc **procs,\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore_file.c: 56:    struct kinfo_proc *procs, *oprocs;\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore_proc.c: 52: kcore_get_procs(struct kcore_data *kc, struct kinfo_proc **procs, size_t *len)\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore_proc.c: 54:    struct kinfo_proc *p;\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore_proc.c: 69:    *procs = malloc(sizeof(struct kinfo_proc) * nlen);\r
+    /repos/src/dragonfly/src/lib/libkcore/kcore_proc.c: 72:    memcpy(*procs, p, sizeof(struct kinfo_proc) * nlen);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm.h: 51: struct kinfo_proc;\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm.h: 70: char        **kvm_getargv (kvm_t *, const struct kinfo_proc *, int);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm.h: 71: char        **kvm_getenvv (kvm_t *, const struct kinfo_proc *, int);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm.h: 75: struct kinfo_proc *\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_getprocs.3: 56: .Ft struct kinfo_proc *\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_getprocs.3: 59: .Fn kvm_getargv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr"\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_getprocs.3: 61: .Fn kvm_getenvv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr"\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_getprocs.3: 100: The processes are returned as a contiguous array of kinfo_proc structures.\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_private.h: 56:     struct kinfo_proc *procbase;\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 98:             struct kinfo_proc *bp, int maxcnt)\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 256:       struct kinfo_proc *bp = kd->procbase;\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 279: struct kinfo_proc *\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 306:                       kd->procbase = (struct kinfo_proc *)\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 317:               if (size % sizeof(struct kinfo_proc) != 0) {\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 320:                               size, sizeof(struct kinfo_proc));\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 323:               nprocs = size / sizeof(struct kinfo_proc);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 343:               size = nprocs * sizeof(struct kinfo_proc);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 344:               kd->procbase = (struct kinfo_proc *)_kvm_malloc(kd, size);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 351:               size = nprocs * sizeof(struct kinfo_proc);\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 585:       struct kinfo_proc kp;\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 601: kvm_doargv(kvm_t *kd, const struct kinfo_proc *kp, int nchr,\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 644: kvm_getargv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)\r
+    /repos/src/dragonfly/src/lib/libkvm/kvm_proc.c: 703: kvm_getenvv(kvm_t *kd, const struct kinfo_proc *kp, int nchr)\r
+    /repos/src/dragonfly/src/sys/kern/kern_proc.c: 782:                error = SYSCTL_OUT(req, 0, sizeof (struct kinfo_proc) * 5);\r
+    /repos/src/dragonfly/src/sys/sys/user.h: 48:  * unless they really, really, really need kinfo_proc.\r
+    /repos/src/dragonfly/src/sys/sys/user.h: 106: struct kinfo_proc {\r
+    /repos/src/dragonfly/src/sys/sys/user.h: 158:      struct  kinfo_proc u_kproc;     /* proc + eproc */\r
+    /repos/src/dragonfly/src/usr.bin/fstat/fstat.c: 139: void dofiles(struct kinfo_proc *kp);\r
+    /repos/src/dragonfly/src/usr.bin/fstat/fstat.c: 140: void dommap(struct kinfo_proc *kp);\r
+    /repos/src/dragonfly/src/usr.bin/fstat/fstat.c: 156:       struct kinfo_proc *p, *plast;\r
+    /repos/src/dragonfly/src/usr.bin/fstat/fstat.c: 301: dofiles(struct kinfo_proc *kp)\r
+    /repos/src/dragonfly/src/usr.bin/fstat/fstat.c: 392: dommap(struct kinfo_proc *kp)\r
+    /repos/src/dragonfly/src/usr.bin/gcore/extern.h: 42: void  md_core(kvm_t *, int, struct kinfo_proc *);\r
+    /repos/src/dragonfly/src/usr.bin/gcore/gcore.c: 72: static void    core(int, int, struct kinfo_proc *);\r
+    /repos/src/dragonfly/src/usr.bin/gcore/gcore.c: 90:        struct kinfo_proc *ki = NULL;\r
+    /repos/src/dragonfly/src/usr.bin/gcore/gcore.c: 210: core(int efd, int fd, struct kinfo_proc *ki)\r
+    /repos/src/dragonfly/src/usr.bin/gcore/md-nop.c: 46: md_core(kvm_t *kd, int fd, struct kinfo_proc *ki)\r
+    /repos/src/dragonfly/src/usr.bin/gcore/md-sparc.c: 81: md_core(kvm_t *kd, int fd, struct kinfo_proc *ki)\r
+    /repos/src/dragonfly/src/usr.bin/killall/killall.c: 102:   struct kinfo_proc *procs = NULL, *newprocs;\r
+    /repos/src/dragonfly/src/usr.bin/killall/killall.c: 295:   if (size % sizeof(struct kinfo_proc) != 0) {\r
+    /repos/src/dragonfly/src/usr.bin/killall/killall.c: 297:                   size, sizeof(struct kinfo_proc));\r
+    /repos/src/dragonfly/src/usr.bin/killall/killall.c: 301:   nprocs = size / sizeof(struct kinfo_proc);\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 89: struct kinfo_proc      *plist;\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 112: void  killact(struct kinfo_proc *, int);\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 113: void  grepact(struct kinfo_proc *, int);\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 126:       void (*action)(struct kinfo_proc *, int);\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 127:       struct kinfo_proc *kp;\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 450: killact(struct kinfo_proc *kp, int dummy __unused)\r
+    /repos/src/dragonfly/src/usr.bin/pkill/pkill.c: 460: grepact(struct kinfo_proc *kp, int printdelim)\r
+    /repos/src/dragonfly/src/usr.bin/sockstat/sockstat.c: 418:         static struct kinfo_proc proc;\r
+    /repos/src/dragonfly/src/usr.bin/systat/pigs.c: 63:        struct kinfo_proc *pt_kp;\r
+    /repos/src/dragonfly/src/usr.bin/systat/pigs.c: 184:       struct kinfo_proc *kpp;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 77:     struct kinfo_proc **next_proc;     /* points to next valid proc pointer */\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 175: static struct kinfo_proc *pbase;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 176: static struct kinfo_proc **pref;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 454:     register struct kinfo_proc **prefp;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 455:     register struct kinfo_proc *pp;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 468:       pref = (struct kinfo_proc **) realloc(pref, sizeof(struct kinfo_proc *)\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 521:       qsort((char *)pref, active_procs, sizeof(struct kinfo_proc *), compare);\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 538:     struct kinfo_proc *pp;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 748:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 749:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 754:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 755:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 787:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 788:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 793:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 794:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 812:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 813:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 818:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 819:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 837:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 838:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 843:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 844:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 864:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 865:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 870:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 871:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 889:     register struct kinfo_proc *p1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 890:     register struct kinfo_proc *p2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 895:     p1 = *(struct kinfo_proc **) pp1;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 896:     p2 = *(struct kinfo_proc **) pp2;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 926:     register struct kinfo_proc **prefp;\r
+    /repos/src/dragonfly/src/usr.bin/top/machine.c: 927:     register struct kinfo_proc *pp;\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 106:       struct  kinfo_proc *kp;         /* `most interesting' proc */\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 108:       struct  kinfo_proc *dkp;        /* debug option proc list */\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 111: #define debugproc(p) *((struct kinfo_proc **)&(p)->kp_eproc.e_spare[0])\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 123:       struct kinfo_proc *kp;\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 124:       struct kinfo_proc *dkp;\r
+    /repos/src/dragonfly/src/usr.bin/w/w.c: 298:                                * list using kinfo_proc kp_eproc.e_spare\r
+\r
+\r
+    \r
+    /*\r
+    
+* Same shit for lwps as for procs.\r
+    
+* Don't mind the non-matching variable names and types.\r
+    
+*/\r
+    struct kinfo_lwp {\r
+            size_t  kil_len;   /* length of our structure */\r
+            int     kil_type;  /* KI_TYPE_LWP */\r
+            pid_t   kil_proc;  /* our associated proc pid */\r
+            lwpid_t kil_tid;   /* our thread id */\r
+            int     kil_flags; /* P_ flags */\r
+            \r
+            /* accounting */\r
+            uint64_t        kil_cpticks;    /* sched ticks (quantums?) used */\r
+    \r
+            sigset_t        kil_siglist;    /* just the siglist, maybe the mask later on */\r
+    \r
+            char            kil_wmesg;      /* pull this from the associated thread thingamabob */\r
+            \r
+            struct thread   kil_thread;     /* associated thread struct stuff crap thing */\r
+    }\r
+    void fill_kinfo_lwp(struct lwp *, struct kinfo_lwp *);\r
+    \r
+    /*              \r
+    
+* Fill in a struct kinfo_lwp.\r
+    
+*/\r
+    void            \r
+    fill_kinfo_lwp(struct lwp_t *lwp, struct kinfo_lwp *kilp)\r
+    {\r
+            bzero(kilp, sizeof(*kilp));\r
+                                   \r
+            kilp->kil_proc = lwp->lwp_proc->p_pid;\r
+            kilp->kil_tid = lwp->lwp_tid;\r
+            kilp->kil_flag = lwp->lwp_flag;\r
+            kilp->kil_cpticks = (uint64_t)lwp->lwp_cpticks;\r
+            kilp->kil_siglist = lwp->lwp_siglist;\r
+            if (lwp->lwp_thread->td_wmesg) {\r
+                    strncpy(kilp->kil_wmesg, lwp->lwp_thread->td_wmesg, WMESGLEN);\r
+                    kilp->kil_wmesg[WMESGLEN] = 0;\r
+            }       \r
+            bcopy(lwp->lwp_thread, kilp->kil_thread, sizeof(lwp->lwp_thread));\r
+    }       \r
+    \r
+\r
diff --git a/docs/developer/Mercurial.mdwn b/docs/developer/Mercurial.mdwn
new file mode 100644 (file)
index 0000000..bbe2d6d
--- /dev/null
@@ -0,0 +1,36 @@
+This explains how to stay up to date with your sources using [mercurial](http://www.selenic.com/mercurial/) (a.k. hg).\r
+The repo on ftp.fortunaty.net is used, which replicates corecode's (http://chlamydia.fs.ei.tum.de/hg/dragonfly-src) hourly.\r
+\r
+Install mercurial \r
+    \r
+    cd /usr/pkgsrc/devel/mercurial && bmake install\r
+\r
+\r
+If you need only one source tree around \r
+    \r
+    cd /usr\r
+    hg clone http://ftp.fortunaty.net/DragonFly/dragonfly-src.hg src\r
+\r
+\r
+Later you update with\r
+    \r
+    cd /usr/src && hg pull -u\r
+\r
+\r
+If you need more than one, maybe for developement \r
+    \r
+    hg clone -U http://ftp.fortunaty.net/DragonFly/dragonfly-src.hg /home/dsrc.hg\r
+    hg clone /home/dsrc.hg /usr/src\r
+\r
+\r
+Later you update your local master repo with\r
+    \r
+    cd /home/dsrc.hg\r
+    hg pull\r
+\r
+\r
+Then your slave trees\r
+    \r
+    cd /usr/src\r
+    hg pull -u\r
+\r
diff --git a/docs/developer/NetMP.mdwn b/docs/developer/NetMP.mdwn
new file mode 100644 (file)
index 0000000..e9efd13
--- /dev/null
@@ -0,0 +1,86 @@
+# NetMP \r
+\r
+[What's this all about?](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-04/msg00093.html)\r
+\r
+## new sockbuf \r
+\r
+Why do we want to change the sockbuf implementation? Look [here](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-05/msg00003.html).\r
+\r
+You can find the new sockbuf code in the 'sockbuf' branch at http://repo.or.cz/w/dragonfly/netmp.git\r
+\r
+ **UPDATE** : switched the sockbuf branch to a new semi-lockless sockbuf implementation\r
+by Matthew Dillon. Still pondering about a different linked-list implementation (M_CORAL, this is probably only meaningful if you've followed the discussion on irc) without the added indirection through the cupholders.\r
+\r
+Cupholder pros:\r
+
+* working code available now\r
+
+* dynamically sized\r
+
+* simple implementation\r
+Cupholder cons:\r
+
+* extra memory references\r
+
+* larger cache footprint\r
+\r
+M_CORAL pros:\r
+
+* dynamically sized\r
+M_CORAL cons:\r
+
+* complex code\r
+
+* maybe issues with deallocating mbufs w/ an attached cluster\r
+\r
+Ring buffer pros:\r
+
+* cache efficient\r
+
+* very straightforward code\r
+Ring buffer cons:\r
+
+* incurs 8K overhead for every socket (I think I can make it dynamically sized; not sure about code complexity then though)\r
+\r
+My plan is to use the cupholder implementation for now and revisit this later. The APIs are\r
+largely compatible anyway.\r
+\r
+ **XXX** : the rest of this section refers to the ring buffer implementation\r
+\r
+If you want to do some testing, you can follow [these instructions](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-06/msg00085.html). \r
+Some modules and a few userland utilities don't know about the new sockbuf yet, so please only try to build the kernel as described in the mail above.\r
+\r
+Known issues:\r
+
+* nfs occasionally thinks the server has gone down. Recovers almost instantly, but nativekernel time is still affected\r
+
+* http accelerator doesn't even compile\r
+
+* smbfs is probably broken, haven't tested at all\r
+
+* ncp, ipx, Xerox NS are broken; won't fix because: not relevant any more, no users, no way to test (UPDATE: except Jonathan Stuart [cares](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-06/msg00113.html) for IPX).\r
+
+* sctp is 'special'. Thomas Nikolajsen [volunteered](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-06/msg00121.html) to work on SCTP after the 2.0 release which is just as well, since I don't plan to put in the new sockbuf code until we brach for 2.0\r
+
+* unix domain sockets also not well tested\r
+
+* ->rbytes, ->wbytes wraparound not tested\r
+
+* based on a snapshot from May 6th; need to merge with CVS HEAD\r
+\r
+Stuff that's expected to work:\r
+ftp/http/ssh/nfs/dns/ping\r
+\r
+## tcpcb \r
+An overview of the problems with accesses to the tcpcb can be found in [this](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-06/msg00055.html) message.\r
+\r
+Accesses to the tcpcb now always go through the protocol thread. Work started [here](http://leaf.dragonflybsd.org/mailarchive/commits/2008-06/msg00123.html), was revised\r
+[later](http://leaf.dragonflybsd.org/mailarchive/commits/2008-07/msg00055.html) and I [fixed](http://leaf.dragonflybsd.org/mailarchive/commits/2008-07/msg00104.html) the last\r
+known bugs shortly afterwards.\r
+\r
+## UDP inpcb \r
+See the subthread starting [here](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-06/msg00057.html).\r
+\r
+## socket \r
+\r
+Start by reading [this](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-08/msg00037.html) mail; needless to say, my analysis was not entirely spotless. Taking into account Matt's [suggestions](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-08/msg00040.html), work has been ongoing in the socket branch in the netmp repo (see above). Also see the rest of the thread. The rest of the socket fields (except ->so_oobmark) are discussed [here](http://leaf.dragonflybsd.org/mailarchive/kernel/2008-08/msg00065.html).\r
diff --git a/docs/developer/NewkernelBook.mdwn b/docs/developer/NewkernelBook.mdwn
new file mode 100644 (file)
index 0000000..4499299
--- /dev/null
@@ -0,0 +1,69 @@
+Describe Development/NewkernelBoot here.\r
+\r
+----\r
+ **Installing multiple kernels on VMware** \r
+\r
+This information is helpful if you have DragonFly BSD installed on your machine using the bootable CD. Now you have modified the kernel and want to use this modified kernel to boot the machine. This is a pretty straight forward way to install:\r
+\r
+
+* In the virtual machine settings "Add another hard disk to your currently installed machine".\r
+
+* Load the Bootable CD in VMware and you should boot from the CD.\r
+
+* Boot the virtual machine and login as "installer" as you did during the first time you install DragonFly on virtual machine.\r
+
+* Enter "install DragonFly BSD" option. It will ask for a partition and you should see one for the newly added disk space, normally its is "ad1". Remember this name it required later for mounting the disk.\r
+
+* Select that partition and go ahead with formatting that disk.\r
+
+* Once the formatting is done it will ask whether you want to go ahead with installation, Press Esc to quit installation.\r
+
+* Now you have a formatted disk on which you can install your own kernel.\r
+
+* Reboot the machine ***not from the CD*** and you should see two options for booting, only one will work now. Select the "default" and now login as root.\r
+
+* Now we need to mount the new partition.\r
+
+* If during formatting the name was "ad1" then ***"disklabel ad1s1" ***will show you all the partitions created.\r
+
+* mount /dev/ad1s1a /mnt\r
+
+* mkdir /mnt/var\r
+
+* mkdir /mnt/usr\r
+
+* mkdir /mnt/tmp\r
+
+* mkdir /mnt/home\r
+
+* mount /dev/ad1s1d /mnt/var\r
+
+* mount /dev/ad1s1e /mnt/usr\r
+
+* mount /dev/ad1s1f /mnt/tmp\r
+
+* mount /dev/ad1s1g /mnt/home\r
+
+* Now we are ready to install DragonFly on this partition.\r
+
+* cd /usr/src  or wherever your source code is.\r
+
+* make world DESTDIR=/mnt\r
+
+* cd etc\r
+
+* make distribution DESTDIR=/mnt\r
+
+* cp /etc/fstab /mnt/etc\r
+
+* make buildkernel KERNCONF=GENERIC\r
+
+* make installkernel KERNCONF#GENERIC DESTDIR/mnt\r
+
+* You have installed your kernel on this new partition.\r
+
+* reboot your system.\r
+
+* Now select the other option by default its " Drive 1" and you should see the your kernel booting.\r
+\r
+----\r
diff --git a/docs/developer/PatchMaking.mdwn b/docs/developer/PatchMaking.mdwn
new file mode 100644 (file)
index 0000000..ac020a4
--- /dev/null
@@ -0,0 +1,96 @@
+# Patches \r
+\r
+[[!table  data="""
+|<#FA0000> We recently switched to git as Version Control System (VCS) so the following information is out-of-date.  Look [here](TypicalGitUsage) for further instructions how to get the repository and how to submit patches! |\r
+"""]]\r
+--------\r
+\r
+<<TableOfContents>>\r
+Submitting patches (or diffs) is the usual way of contributing code to DragonFly BSD. All submissions to the project should go to the submit mailing list (http://www.dragonflybsd.org/main/forums.cgi). When you submit a patch please include a description of what has been changed.\r
+Making patches when you only have a copy of the source\r
+\r
+Let's say you just installed DragonFly BSD and you notice a problem in /bin/cat. Since you have /usr/src sync'ed with the main CVS repository. You go into /usr/src/bin/cat and make your modifications. But now what? Well here is what you can do. But next time try the procdure in the next section. :-)\r
+\r
+   1. Copy your version of cat into /usr/src/bin/cat.local\r
+   2. Run cvsup to resync your source tree back to a clean state.\r
+   3. Then run diff -ru cat cat.local and submit a patch to the mailing list (with a short description on what you did) \r
+     \r
+    root# cp -r /usr/src/bin/cat /usr/src/bin/cat.local\r
+    root# cd /usr/src/bin\r
+    root# diff -ru cat cat.local > usr.bin.cat.patch\r
+\r
\r
+## Making patches when you have a copy of the repository \r
+  1. Get a copy of the CVS repository\r
+  2. Check out a copy of the source from that CVS repository\r
+  3. Edit the code\r
+  4. Generate a patch with cvs diff\r
+\r
+## cvsps \r
+\r
+I use cvsps 1.3.3 to monitor and extract patchsets from the FreeBSD CVS repository. This utility can be found in /usr/pkgsrc/devel/cvsps.\r
+Get a copy of both the FreeBSD and DragonFly cvs repositories.\r
+\r
+## cvsup \r
+I use cvsup and the following two files to obtain a partial copy of the two projects (DragonFly and FreeBSD).\r
+     \r
+    % cat dfly-supfile\r
+    
+*default host=cvsup.dragonflybsd.org\r
+    *default base=/usr/home/okumoto/Work/make\r
+    *default prefix=/usr/home/okumoto/Work/make/dfly-cvs\r
+    *default release=cvs\r
+    *default delete use-rel-suffix\r
+    *default compress\r
+
+\r
+     \r
+    % cat fbsd-supfile\r
+    
+*default host=cvsup14.us.FreeBSD.org\r
+    *default host=cvsup4.us.FreeBSD.org\r
+    *default base=/usr/home/okumoto/Work/make\r
+    *default prefix=/usr/home/okumoto/Work/make/fbsd-cvs\r
+    *default release=cvs\r
+    *default delete use-rel-suffix\r
+
+\r
+Execute the following commands\r
+     \r
+    % cd /usr/home/okumoto/Work/make\r
+    \r
+    % mkdir fbsd-cvs\r
+    % cvsup fbsd-supfile -c fbsd-sup -i src/usr.bin/make\r
+    \r
+    % mkdir dfly-cvs\r
+    % cvsup dfly-supfile -c dfly-sup -i src/usr.bin/make\r
+\r
+This should result in two small cvs repositories that only contain source for usr.bin/make, and which will update quickly.\r
+Create working directories by checking out the utility you want to work on.\r
+\r
+The cvs program wants to have a CVSROOT directory so we just create an empty directory. You can use the -R option to cvs, but that prevents you from making your own tags, or checking in stuff into your local repository copy.\r
+\r
+     \r
+    % mkdir -p fbsd-cvs/src/usr.bin/CVSROOT            \r
+    % mkdir -p fbsd-src\r
+    % (cd fbsd-src; cvs -d ${PWD}/fbsd-cvs/src/usr.bin co make)   \r
+    \r
+    % mkdir -p dfly-cvs/src/usr.bin/CVSROOT \r
+    % mkdir -p dfly-src\r
+    % (cd dfly-src; cvs -d ${PWD}/dfly-cvs/src/usr.bin co make)   \r
+\r
+This should result in a check out of the most current version of make from each project.\r
+Use cvsps to extract a change log from the cvs working directory\r
+\r
+Using cvsps you can extract a patch history.\r
+     \r
+    % cd dfly-src/make\r
+    % cvsps | less\r
+\r
+\r
+## Patch History Example \r
+From change log history extract a patch.\r
+     \r
+    % cvsps -s 49-50 > patch-XXX\r
+\r
+Submit patch :-)\r
diff --git a/docs/developer/PbulkBuilding.mdwn b/docs/developer/PbulkBuilding.mdwn
new file mode 100644 (file)
index 0000000..12075c1
--- /dev/null
@@ -0,0 +1,190 @@
+## Bulk build notes \r
+Joerg Sonnenberger's new bulk building interface is located in pkgtools/pbulk.  On pkgbox, this is located in /archive/NetBSD-pkgsrc.\r
+\r
+To do this without affecting the existing pkgsrc setup on the machine you are using, you create a chroot and install pkgsrc twice inside it - once for pbulk and the various support programs, and once for the actual pkgsrc where everything is built.\r
+\r
+These notes are taken from Justin Sherrill's test builds on pkgbox.dragonflybsd.org, and from suggestions from Joerg.  This reflects using version 0.36 of pbulk.\r
+\r
+### Setting up the chroot \r
+If getting rid of an earlier install, delete all the files you can, adjust the permissions on the ones left, and then delete what remains.\r
+\r
+    \r
+    rm -rf /build/pbulk_chroot\r
+    chflags -R noschg /build/pbulk_chroot\r
+    rm -rf /build/pbulk_chroot\r
+\r
+Create dir for chroot\r
+\r
+    \r
+    mkdir /build/pbulk_chroot\r
+\r
+Add files to chroot\r
+\r
+    \r
+    cd /usr/src\r
+\r
+If there was no prior buildworld in this , you'll need to do this step\r
+\r
+    \r
+    make DESTDIR=/build/pbulk_chroot buildworld\r
+\r
+Add world to chroot\r
+\r
+    \r
+    make DESTDIR=/build/pbulk_chroot installworld\r
+\r
+note that this is not /etc, but /usr/src/etc\r
+\r
+    \r
+    cd etc\r
+    make DESTDIR=/build/pbulk_chroot distribution\r
+\r
+Additional files that will be needed in the chroot\r
+\r
+    \r
+    cp /etc/resolv.conf /build/pbulk_chroot/etc\r
+\r
+\r
+Make sure you've loaded the linux module if you don't want to get unnecessary messages about unknown ELF types.\r
+\r
+    \r
+    kldload linux.ko\r
+\r
+\r
+Jeremy C. Reed has a large repository of the distfiles for pkgsrc in another directory outside of the chroot; mounting it and adding it to DIST_PATH should make it available, saving the bulk build process (and Matt's bandwidth) from having to download more.\r
+\r
+    \r
+    mkdir /build/pbulk_chroot/archive\r
+    mount_null /archive /build/pbulk_chroot/archive\r
+\r
+\r
+Should be ready to go...\r
+\r
+    \r
+    chroot /build/pbulk_chroot\r
+    /etc/rc.d/ldconfig start\r
+\r
+### Adding pkgsrc bootstrap \r
+Everything past this point is in the chroot!\r
+\r
+    \r
+    mkdir /bulklog\r
+    mkdir /scratch\r
+    mkdir /distfiles\r
+    mkdir /packages\r
+\r
+Grab the most recent quarterly release of pkgsrc:\r
+\r
+    \r
+    setenv CVSROOT anoncvs@anoncvs.NetBSD.org:/cvsroot\r
+    setenv CVS_RSH ssh\r
+    cd /usr\r
+    cvs -q checkout -rpkgsrc-2008Q1 -P pkgsrc\r
+\r
+To update the pkgsrc files later\r
+\r
+    \r
+    cvs -q update -dP\r
+\r
+Put this in /root/mk-base.conf, for use later when building the first bootstrap:\r
+\r
+    \r
+    WRKOBJDIR = /scratch\r
+    PKGSRCDIR = /usr/pkgsrc\r
+    DISTDIR = /distfiles\r
+    DIST_PATH = /archive/distfiles\r
+    PACKAGES = /packages\r
+    \r
+    FAILOVER_FETCH= yes\r
+    \r
+    _ACCEPTABLE=                    yes\r
+    ALLOW_VULNERABLE_PACKAGES=      yes\r
+    \r
+    PKG_DEVELOPER?= yes\r
+\r
+We need to create a clean bootstrap kit for later.  This installs pkgsrc tools into /usr/pkg_bulk, too.\r
+\r
+    \r
+    mkdir /usr/pkg_bulk/\r
+    cd /usr/pkgsrc/bootstrap\r
+    ./bootstrap --prefix#/usr/pkg_bulk --pkgdbdir/usr/pkg_bulk/.pkgdb\r
+    \r
+    cd /usr/pkgsrc/pkgtools/pbulk\r
+    env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package\r
+    \r
+    cd /usr/pkgsrc/bootstrap\r
+    ./cleanup\r
+    ./bootstrap --gzip-binary-kit /usr/pkgsrc/bootstrap/bootstrap.tgz --mk-fragment=/root/mk-base.conf\r
+\r
+\r
+We need to make a binary kit with the corrected mk.conf so that pbulk is always set up with the right version as it builds/removes/adds packages\r
+\r
+    \r
+    cd /usr/pkgsrc/bootstrap\r
+    mkdir temp\r
+    mv bootstrap.tgz temp\r
+    cd temp\r
+    tar xf bootstrap.tgz\r
+    cp /usr/pkg/etc/mk.conf usr/pkg/etc/mk.conf\r
+    tar hzcf ../bootstrap.tar.gz usr var\r
+\r
+\r
+\r
+Edit /usr/pkg_bulk/etc/pbulk.conf and change these lines to what is needed.  Be sure to put in a destination for the rsync command, as a side effect of that process is the removal of packages that are not for distribution due to various laws.  If this is being performed on a single machine, nfsmount directories in the chroot so that you can still copy the files around.  The rsync options below assume the packages and report are being copied around on the local machine.\r
+\r
+    \r
+    base_url=http://something/you_should_change_here\r
+    master_mode=no\r
+    \r
+    pkg_rsync_args="-av --delete-excluded"\r
+    pkg_rsync_target="/archive/packages/DragonFly-2.0/pkgsrc-current"\r
+    report_rsync_args="-avz --delete-excluded"\r
+    report_rsync_target="/archive/packages/DragonFly-2.0/pbulk_report"\r
+    report_recipients="you@your.email"\r
+    make=/usr/pkg/bin/bmake\r
+    \r
+    # optional\r
+    keep_wrkdir=no\r
+    keep_prefix=no\r
+    \r
+\r
+\r
+If the system you are building on is a slightly different version than the target for your packages, pkg_add will complain about the difference in uname.  To fix this, change the UNAME_r and UNAME_v environment variables to the desired values before building.\r
+\r
+    \r
+    (before)\r
+    # uname -v\r
+    DragonFly 2.1.0-DEVELOPMENT #0: Wed Sep 24 04:26:56 PDT 2008     root@:/usr/obj/usr/src/sys/PKGBOX\r
+    # uname -r\r
+    2.1.0-DEVELOPMENT\r
+    \r
+    # setenv UNAME_v 'DragonFly 2.0.1-RELEASE #0: Wed Sep 24 04:26:56 PDT 2008     root@:/usr/obj/usr/src/sys/PKGBOX'\r
+    # setenv UNAME_r 2.0.1-RELEASE  \r
+    \r
+    (after)\r
+    # uname -v\r
+    DragonFly 2.0.1-RELEASE #0: Wed Sep 24 04:26:56 PDT 2008     root@:/usr/obj/usr/src/sys/PKGBOX\r
+    # uname -r\r
+    2.0.1-RELEASE\r
+\r
+\r
+Kick off the bulk build.  It takes a LONG time, so it's worth doing this in a screen session.  Unless you install screen in the same way as pbulk, it won't be available in the chroot, so you may need to get out of the chroot, enter a screen session, and re-enter the chroot before this step.\r
+\r
+    \r
+    /usr/pkg_bulk/bin/bulkbuild\r
+\r
+The line for setting up a rsync server for the mirrors: (do this outside the chroot)\r
+\r
+    \r
+    rsync --daemon --bwlimit#200 --config/usr/pkg/etc/rsync/rsyncd.conf\r
+\r
+If the build stops or pauses or whatever, this line will restart it, for versions 0.28 and older.\r
+\r
+    \r
+    /usr/pkg_bulk/libexec/pbulk/build\r
+\r
+Version 0.29 and later restart the build with this:\r
+\r
+    \r
+    /usr/pkg_bulk/bin/bulkbuild-restart\r
+\r
diff --git a/docs/developer/PreprocessorDirective.mdwn b/docs/developer/PreprocessorDirective.mdwn
new file mode 100644 (file)
index 0000000..c2a65cc
Binary files /dev/null and b/docs/developer/PreprocessorDirective.mdwn differ
diff --git a/docs/developer/ProjectsPage.mdwn b/docs/developer/ProjectsPage.mdwn
new file mode 100644 (file)
index 0000000..952b75b
Binary files /dev/null and b/docs/developer/ProjectsPage.mdwn differ
diff --git a/docs/developer/PropLib.mdwn b/docs/developer/PropLib.mdwn
new file mode 100644 (file)
index 0000000..930eb8d
--- /dev/null
@@ -0,0 +1,30 @@
+# PropLib stuff \r
+\r
+## Documentation pointers \r
+
+* [proplib(3)](http://netbsd.gw.com/cgi-bin/man-cgi?proplib++NetBSD-current) on NetBSD.\r
+
+* [prop_object(3)](http://netbsd.gw.com/cgi-bin/man-cgi?prop_object+3+NetBSD-current).\r
+
+* [prop_dictionary(3)](http://netbsd.gw.com/cgi-bin/man-cgi?prop_dictionary+3+NetBSD-current).\r
+
+* The other manpages that are cross-referenced.\r
+\r
+
+* [The DTD describing the format of an XML property list](http://www.apple.com/DTDs/PropertyList-1.0.dtd).\r
+\r
+
+* [An example property list file](http://developer.apple.com/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigFiles.html#//apple_ref/doc/uid/20002091-99507-TPXREF102).\r
+\r
+## What for? \r
+ To have one generic API over ioctls to transport structured information from and to the kernel. With proplib, the gory details of interpreting the raw data are abstracted from the users of the interface.\r
+\r
+## Examples in NetBSD \r
+
+* Bluetooth device [driver](http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/bluetooth/) on the kernel side.\r
+
+* Bluetooth device [control application](http://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/btdevctl/) on the userland side.\r
+\r
+## Other examples \r
+
+* [Eleutheria project](http://repo.or.cz/w/eleutheria.git?a#tree;hmaster;hb=master) under the proplib/ directory.\r
diff --git a/docs/developer/RegressionTest.mdwn b/docs/developer/RegressionTest.mdwn
new file mode 100644 (file)
index 0000000..910c078
--- /dev/null
@@ -0,0 +1,3 @@
+An automatic system to check for re-occurring old bugs or missing standards compliance.\r
+\r
+See FreeBSD's [[http://wikitest.freebsd.org/TetIntegration]] for an idea of a structured approach.\r
diff --git a/docs/developer/SimonsTODOs.mdwn b/docs/developer/SimonsTODOs.mdwn
new file mode 100644 (file)
index 0000000..11ed290
--- /dev/null
@@ -0,0 +1,51 @@
+## Stuff \r
+\r
+
+* Import GDB 6.8\r
+
+* Import GCC 4.3.1 once released\r
+\r
+## Memory Management (Kernel) \r
+\r
+Overal goal:  reduce malloc() use and replace with object cache allocations.  This should increase performance.\r
+\r
+
+* Make free() nonblocking.  At the moment a call to free() might block because it might need to\r
+  aquire the BGL and maybe needs to wait for other locks (needs to be checked).\r
+\r
+  This allows us to use free() with dragonfly matching semantic, i.e. it can be used in critical sections\r
+  or with a spinlock held/in an interrupt.\r
+\r
+  For this to work, we need to:\r
+\r
+
+* push locking into vm_map_* routines\r
+\r
+
+* make sure no code path from free() might need to block\r
+\r
+\r
+
+* polish up the objcache to work like bonwick described it, most important:  make magazines adjust\r
+  their size depending on depot lock contention\r
+\r
+
+* implement a real slab allocator (bonwick) and switch the objcache to use it.  It could us\r
+  per-cpu (not so good, i think) or per-numa-cluster slabs, but in the beginning it for sure is possible\r
+  to use one slab for all, as most allocations should be satisfied by the objcache (and be serialized\r
+  anyways already by the depot lock)\r
+\r
+
+* find and change code paths assuming power-of-2 allocations are power-of-2 allocated\r
+\r
+
+* switch malloc() and free() to use the objcache for reasonable sized allocations\r
+  use kmem for larger ones\r
+\r
+## Bootup \r
+\r
+Investigate why the system does not boot within one second.  I have a fast box, this should be possible.  Somewhere are delays adding up.  Maybe use kernel threads for probing/initialisation.\r
+\r
+## Profiling \r
+\r
+Port [pmc](http://people.freebsd.org/~jkoshy/projects/perf-measurement/) (and maybe something like oprofile), so that we can find problematic areas.\r
diff --git a/docs/developer/Standards.mdwn b/docs/developer/Standards.mdwn
new file mode 100644 (file)
index 0000000..54df056
--- /dev/null
@@ -0,0 +1,17 @@
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# Standards \r
+
+*[C Language](StandardsCLanguage)\r
+
+*[POSIX](StandardsPOSIX)\r
+
+*[SUS](StandardsSUS)\r
+
+*[BSD](StandardsBSD)\r
+
+*[glibc](StandardsGlibc)\r
diff --git a/docs/developer/StandardsCLanguage.mdwn b/docs/developer/StandardsCLanguage.mdwn
new file mode 100644 (file)
index 0000000..54101db
--- /dev/null
@@ -0,0 +1,17 @@
+## page was renamed from StandardsConformanceProjectCLanguage\r
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# Standards \r
+## C Language \r
+
+*[ANSI X3.159-1989 aka C89](StandardsCLanguageANSI_X3.159-1989)\r
+
+*[ISO/IEC 9899:1990 aka C90](StandardsCLanguageISO_IEC_9899_1990)\r
+
+*[ISO/IEC 9899:1990/AMD1 1995 aka AMD1 or C95](StandardsCLanguageISO_IEC_9899_1990_AMD_1_1995)\r
+
+*[ISO/IEC 9899:1999 alias C99](StandardsCLanguageISO_IEC_9899_1999)\r
diff --git a/docs/developer/StandardsCLanguageISO_IEC_9899_1999.mdwn b/docs/developer/StandardsCLanguageISO_IEC_9899_1999.mdwn
new file mode 100644 (file)
index 0000000..8cd8ff5
--- /dev/null
@@ -0,0 +1,14 @@
+## page was renamed from StandardsConformanceProjectISO IEC 9899 1999\r
+## page was renamed from StandardsConformanceProjectISO IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectISO&#47;IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectISO/IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectC99\r
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# Standards \r
+## C Language \r
+### ISO/IEC 9899:1999 \r
diff --git a/docs/developer/StandardsConformanceProject.mdwn b/docs/developer/StandardsConformanceProject.mdwn
new file mode 100644 (file)
index 0000000..ae240c9
--- /dev/null
@@ -0,0 +1,342 @@
+## page was renamed from StandardsConformanceProjectISO IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectISO&#47;IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectISO/IEC 9899:1999\r
+## page was renamed from StandardsConformanceProjectC99\r
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+## Standards Conformance Project \r
+Copied 5/12/2007 from http://www.in-nomine.org/~asmodai/df/conformance/ by termant\r
+[[!table  data="""
+||||||<style="text-align: center;"> **SUS**  
+Task description |Standard |Participant |Date started |Date completed |Status 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***man*** 
+<class="row1">Create posix(7) manual page |SUSv3: N/A | <> |- |- |started 
+|||||<style="text-align: center;"> **ISO/IEC 9899:1999 alias C99**  
+Task description |Standard |Participant |Date started |Date completed |Status 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***assert.h*** 
+<class="row0">Add assert() macro to assert.h |c99: 7.2.1.1 | <> |- |- |open 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***complex.h*** 
+<class="row1">Add cacos() function to complex.h |c99: 7.3.5.1 | <> |- |- |open 
+<class="row0">Add cacosf() function to complex.h |c99: 7.3.5.1 | <> |- |- |open 
+<class="row1">Add cacosl() function to complex.h |c99: 7.3.5.1 | <> |- |- |open 
+<class="row0">Add casin() function to complex.h |c99: 7.3.5.2 | <> |- |- |open 
+<class="row1">Add casinf() functions to complex.h |c99: 7.3.5.2 | <> |- |- |open 
+<class="row0">Add casinl() functions to complex.h |c99: 7.3.5.2 | <> |- |- |open 
+<class="row1">Add catan() function to complex.h |c99: 7.3.5.3 | <> |- |- |open 
+<class="row0">Add catanf() function to complex.h |c99: 7.3.5.3 | <> |- |- |open 
+<class="row1">Add catanl() function to complex.h |c99: 7.3.5.3 | <> |- |- |open 
+<class="row0">Add ccos() function to complex.h |c99: 7.3.5.4 | <> |- |- |open 
+<class="row1">Add ccosf() function to complex.h |c99: 7.3.5.4 | <> |- |- |open 
+<class="row0">Add ccosl() functions to complex.h |c99: 7.3.5.4 | <> |- |- |open 
+<class="row1">Add csin() function to complex.h |c99: 7.3.5.5 | <> |- |- |open 
+<class="row0">Add csinf() function to complex.h |c99: 7.3.5.5 | <> |- |- |open 
+<class="row1">Add csinl() function to complex.h |c99: 7.3.5.5 | <> |- |- |open 
+<class="row0">Add ctan() function to complex.h |c99: 7.3.5.6 | <> |- |- |open 
+<class="row1">Add ctanf() function to complex.h |c99: 7.3.5.6 | <> |- |- |open 
+<class="row0">Add ctanl() function to complex.h |c99: 7.3.5.6 | <> |- |- |open 
+<class="row1">Add cacosh() function to complex.h |c99: 7.3.6.1 | <> |- |- |open 
+<class="row0">Add cacoshf() function to complex.h |c99: 7.3.6.1 | <> |- |- |open 
+<class="row1">Add cacoshl() function to complex.h |c99: 7.3.6.1 | <> |- |- |open 
+<class="row0">Add casinh() function to complex.h |c99: 7.3.6.2 | <> |- |- |open 
+<class="row1">Add casinhf() function to complex.h |c99: 7.3.6.2 | <> |- |- |open 
+<class="row0">Add casinhl() function to complex.h |c99: 7.3.6.2 | <> |- |- |open 
+<class="row1">Add catanh*() functions to complex.h |c99: 7.3.6.3 | <> |- |- |open 
+<class="row0">Add ccosh*() functions to complex.h |c99: 7.3.6.4 | <> |- |- |open 
+<class="row1">Add csinh*() functions to complex.h |c99: 7.3.6.5 | <> |- |- |open 
+<class="row0">Add ctanh*() functions to complex.h |c99: 7.3.6.6 | <> |- |- |open 
+<class="row1">Add cexp*() functions to complex.h |c99: 7.3.7.1 | <> |- |- |open 
+<class="row0">Add clog*() functions to complex.h |c99: 7.3.7.2 | <> |- |- |open 
+<class="row1">Add cabs*() functions to complex.h |c99: 7.3.8.1 | <> |- |- |open 
+<class="row0">Add cpow*() functions to complex.h |c99: 7.3.8.2 | <> |- |- |open 
+<class="row1">Add csqrt*() functions to complex.h |c99: 7.3.8.3 | <> |- |- |open 
+<class="row0">Add carg*() functions to complex.h |c99: 7.3.9.1 | <> |- |- |open 
+<class="row1">Add cimag*() functions to complex.h |c99: 7.3.9.2 | <> |- |- |open 
+<class="row0">Add conj*() functions to complex.h |c99: 7.3.9.3 | <> |- |- |open 
+<class="row1">Add cproj*() functions to complex.h |c99: 7.3.9.4 | <> |- |- |open 
+<class="row0">Add creal*() functions to complex.h |c99: 7.3.9.5 | <> |- |- |open 
+<class="row0">Add iscntrl() function to complex.h |c99: 7.4.1.4 | <> |- |- |open 
+<class="row1">Add isdigit() function to complex.h |c99: 7.4.1.5 | <> |- |- |open 
+<class="row0">Add isgraph() function to complex.h |c99: 7.4.1.6 | <> |- |- |open 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***ctype.h*** 
+<class="row1">Add isalnum() function to ctype.h |c99: 7.4.1.1 | <> |- |- |closed
+<class="row0">Add isalpha() function to ctype.h |c99: 7.4.1.2 | <> |- |- |closed 
+<class="row1">Add isblank() function to ctype.h |c99: 7.4.1.3 | <> |- |- |closed 
+<class="row1">Add islower() function to ctype.h |c99: 7.4.1.7 | <> |- |- |closed 
+<class="row0">Add isprint() function to ctype.h |c99: 7.4.1.8 | <> |- |- |closed
+<class="row1">Add ispunct() function to ctype.h |c99: 7.4.1.9 | <> |- |- |closed 
+<class="row0">Add isspace() function to ctype.h |c99: 7.4.1.10 | <> |- |- |closed
+<class="row1">Add isupper() function to ctype.h |c99: 7.4.1.11 | <> |- |- |closed 
+<class="row0">Add isxdigit() fuction to ctype.h |c99: 7.4.1.12 | <> |- |- |closed 
+<class="row1">Add tolower() function to ctype.h |c99: 7.4.2.1 | <> |- |- |closed 
+<class="row0">Add toupper() function to ctype.h |c99: 7.4.2.2 | <> |- |- |closed 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***errno.h*** 
+<class="row1">Add EDOM macro to errno.h |c99: 7.5 | <> |- |- |open 
+<class="row0">Add EILSEQ macro to errno.h |c99: 7.5 | <> |- |- |open 
+<class="row1">Add ERANGE macro to errno.h |c99: 7.5 | <> |- |- |open 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***fenv.h*** 
+<class="row0">Add fenv_t type to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add fexcept_t type to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_DIVBYZERO macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add FE_INEXACT macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_INVALID macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add FE_OVERFLOW macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_UNDERFLOW macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add FE_ALL_EXCEPT macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_DOWNWARD macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add FE_TONEAREST macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_TOWARDZERO macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add FE_UPWARD macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row0">Add FE_DFL_ENV macro to fenv.h |c99: 7.6 | <> |- |- |open 
+<class="row1">Add feclearexcept() function to fenv.h |c99: 7.6.2.1 | <> |- |- |open 
+<class="row0">Add fegetexceptflag() function to fenv.h |c99: 7.6.2.2 | <> |- |- |open 
+<class="row1">Add feraiseexcept() function to fenv.h |c99: 7.6.2.3 | <> |- |- |open 
+<class="row0">Add fesetexceptflag() function to fenv.h |c99: 7.6.2.4 | <> |- |- |open 
+<class="row1">Add fetestexcept() function to fenv.h |c99: 7.6.2.5 | <> |- |- |open 
+<class="row0">Add fegetround() function to fenv.h |c99: 7.6.3.1 | <> |- |- |open 
+<class="row1">Add fesetround() function to fenv.h |c99: 7.6.3.2 | <> |- |- |open 
+<class="row0">Add fegetenv() function to fenv.h |c99: 7.6.4.1 | <> |- |- |open 
+<class="row1">Add feholdexcept() function to fenv.h |c99: 7.6.4.2 | <> |- |- |open 
+<class="row0">Add fesetenv() function to fenv.h |c99: 7.6.4.3 | <> |- |- |open 
+<class="row1">Add feupdateenv() function to fenv.h |c99: 7.6.4.4 | <> |- |- |open 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***inttypes.h*** 
+<class="row0">Add imaxdiv_t type to inttypes.h |c99: 7.8 | <> |- |- |closed
+<class="row1">Add PRId8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRId16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRId32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRId64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIdLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIdLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIdLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIdLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIdFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIdFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIdFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIdFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIdMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIdPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIi8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIi16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIi32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIi64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIiLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIiLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIiLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIiLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIiFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIiFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIiFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIiFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIiMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIiPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIo8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIo16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIo32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIo64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIoLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIoLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIoLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIoLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIoFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIoFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIoFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIoFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIoMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIoPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIu8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIu16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIu32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIu64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIuLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIuLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIuLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIuLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIuFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIuFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIuFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIuFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIuMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIuPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIx8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIx16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIx32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIx64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIxLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIxLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIxLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIxLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIxFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIxFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIxFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIxFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIxMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIxPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIX8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIX16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIX32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIX64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIXLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIXLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIXLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIXLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIXFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIXFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIXFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIXFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add PRIXMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add PRIXPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNd8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNd16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNd32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNd64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNdLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNdLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNdLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNdLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNdFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNdFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNdFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNdFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNdMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNdPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNi8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNi16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNi32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNi64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNiLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNiLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNiLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNiLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNiFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNiFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNiFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNiFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNiMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNiPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNo8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNo16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNo32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNo64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNoLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNoLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNoLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNoLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNoFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNoFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNoFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNoFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNoMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNoPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNu8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNu16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNu32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNu64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNuLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNuLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNuLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNuLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNuFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNuFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNuFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNuFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNuMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNuPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNx8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNx16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNx32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNx64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNxLEAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNxLEAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNxLEAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNxLEAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNxFAST8 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNxFAST16 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNxFAST32 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNxFAST64 macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add SCNxMAX macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row0">Add SCNxPTR macro to inttypes.h |c99: 7.8.1 | <> |- |- |open 
+<class="row1">Add imaxabs() function to inttypes.h |c99: 7.8.2.1 | <> |- |- |closed
+<class="row0">Add imaxdiv() function to inttypes.h |c99: 7.8.2.2 | <> |- |- |closed 
+<class="row1">Add strtoimax() function to inttypes.h |c99: 7.8.2.3 | <> |- |- |closed 
+<class="row0">Add strtoumax() function to inttypes.h |c99: 7.8.2.3 | <> |- |- |closed
+<class="row1">Add wcstoimax() function to inttypes.h |c99: 7.8.2.4 | <> |- |- |closed 
+<class="row0">Add wcstoumax() function to inttypes.h |c99: 7.8.2.4 | <> |- |- |closed
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***iso646.h*** 
+<class="row1">Add and macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row0">Add and_eq macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row1">Add bitand macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row0">Add bitor macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row1">Add compl macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row0">Add not macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row1">Add not_eq macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row0">Add or macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row1">Add or_eq macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row0">Add xor macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+<class="row1">Add xor_eq macro to iso646.h |c99: 7.9 | <> |- |- |closed 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***locale.h*** 
+<class="row0">Add struct lconv type to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row1">Add NULL macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row0">Add LC_ALL macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row1">Add LC_COLLATE macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row0">Add LC_CTYPE macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row1">Add LC_MONETARY macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row0">Add LC_NUMERIC macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row1">Add LC_TIME macro to locale.h |c99: 7.11 | <> |- |- |closed 
+<class="row0">Add setlocale() function to locale.h |c99: 7.11.1.1 | <> |- |- |closed 
+<class="row1">Add localeconv() function to locale.h |c99: 7.11.2.1 | <> |- |- |closed 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***math.h*** 
+<class="row0">Add double_t type to math.h |c99: 7.12 | <> |- |- |open 
+<class="row1">Add float_t type to math.h |c99: 7.12 | <> |- |- |open 
+<class="row0">Add HUGE_VAL macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row1">Add HUGE_VALF macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row0">Add HUGE_VALL macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row1">Add INFINITY macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row0">Add NAN macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row1">Add FP_INFINITE macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row0">Add FP_NAN macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row1">Add FP_NORMAL macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row0">Add FP_SUBNORMAL macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row1">Add FP_ZERO macro to math.h |c99: 7.12 | <> |- |- |closed 
+<class="row0">Add FP_FAST_FMA macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row1">Add FP_FAST_FMAF macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row0">Add FP_FAST_FMAL macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row1">Add FP_ILOGB0 macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row0">Add FP_ILOGBNAN macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row1">Add MATH_ERRNO macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row0">Add MATH_ERREXCEPT macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row1">Add math_errhandling macro to math.h |c99: 7.12 | <> |- |- |open 
+<class="row0">Add fpclassify() macro to math.h |c99: 7.12.3.1 | <> |- |- |closed 
+<class="row1">Add isfinite() macro to math.h |c99: 7.12.3.2 | <> |- |- |closed 
+<class="row0">Add isinf() macro to math.h |c99: 7.12.3.3 | <> |- |- |closed 
+<class="row1">Add isnan() macro to math.h |c99: 7.12.3.4 | <> |- |- |closed 
+<class="row0">Add isnormal() macro to math.h |c99: 7.12.3.5 | <> |- |- |closed 
+<class="row1">Add signbit() macro to math.h |c99: 7.12.3.6 | <> |- |- |closed 
+<class="row0">Add acos*() functions to math.h |c99: 7.12.4.1 | <> |- |- |open 
+<class="row1">Add asin*() functions to math.h |c99: 7.12.4.2 | <> |- |- |open 
+<class="row0">Add atan*() functions to math.h |c99: 7.12.4.3 | <> |- |- |open 
+<class="row1">Add atan2*() functions to math.h |c99: 71.12.4.4 | <> |- |- |open 
+<class="row0">Add cos*() functions to math.h |c99: 7.12.4.5 | <> |- |- |open 
+<class="row1">Add sin*() functions to math.h |c99: 7.12.4.6 | <> |- |- |open 
+<class="row0">Add tan*() functions to math.h |c99: 7.12.4.7 | <> |- |- |open 
+<class="row1">Add acosh*() functions to math.h |c99: 7.12.5.1 | <> |- |- |open 
+<class="row0">Add asinh*() functions to math.h |c99: 7.12.5.2 | <> |- |- |open 
+<class="row1">Add atanh*() functions to math.h |c99: 7.12.5.3 | <> |- |- |open 
+<class="row0">Add cosh*() functions to math.h |c99: 7.12.5.4 | <> |- |- |open 
+<class="row1">Add sinh*() functions to math.h |c99: 7.12.5.5 | <> |- |- |open 
+<class="row0">Add tanh() macro to math.h |c99: 7.12.5.6 | <> |- |- |open 
+<class="row1">Add exp*() functions to math.h |c99: 7.12.6.1 | <> |- |- |open 
+<class="row0">Add exp2*() functions to math.h |c99: 7.12.6.2 | <> |- |- |open 
+<class="row1">Add expm1*() functions to math.h |c99: 7.12.6.3 | <> |- |- |open 
+<class="row0">Add frexp*() functions to math.h |c99: 7.12.6.4 | <> |- |- |open 
+<class="row1">Add ilogb*() functions to math.h |c99: 7.12.6.5 | <> |- |- |open 
+<class="row0">Add ldexp*() functions to math.h |c99: 7.12.6.6 | <> |- |- |open 
+<class="row1">Add log*() functions to math.h |c99: 7.12.6.7 | <> |- |- |open 
+<class="row0">Add log10*() functions to math.h |c99: 7.12.6.8 | <> |- |- |open 
+<class="row1">Add log1p*() functions to math.h |c99: 7.12.6.8 | <> |- |- |open 
+|||||<bgcolor#"#e7e7e7" style"text-align: left;">***stdarg.h*** 
+<class="row0">Add va_copy() macro to stdarg.h |c99: 7.15.1.2 |Jeroen Ruigrok van der Werven < asmodai@dragonflybsd.org > |2005-03-04 |- |started |\r
+"""]]\r
+\r
diff --git a/docs/developer/StandardsPOSIX.1-2001.mdwn b/docs/developer/StandardsPOSIX.1-2001.mdwn
new file mode 100644 (file)
index 0000000..931a28b
--- /dev/null
@@ -0,0 +1,10 @@
+## page was renamed from StandardsConformanceProjectPOSIX.1-2001\r
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# Standards \r
+## POSIX \r
+### POSIX.1-2001 \r
diff --git a/docs/developer/StandardsPOSIX.mdwn b/docs/developer/StandardsPOSIX.mdwn
new file mode 100644 (file)
index 0000000..b9bcaf4
--- /dev/null
@@ -0,0 +1,11 @@
+## page was renamed from StandardsConformanceProjectPOSIX\r
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##acl MoinPagesEditorGroup:read,write,delete,revert All:read\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+# Standards \r
+## POSIX \r
+
+*[POSIX.1-2001](StandardsPOSIX.1-2001)\r
diff --git a/docs/developer/Status-NetworkStack.mdwn b/docs/developer/Status-NetworkStack.mdwn
new file mode 100644 (file)
index 0000000..1e67c35
--- /dev/null
@@ -0,0 +1,87 @@
+### TODO \r
+\r
+
+* Parallel TCP\r
+
+* Parallel routing\r
+
+* Parallel IPv6\r
+\r
+### DONE \r
+\r
+
+* Parallel IPv4\r
+
+* Selective ACKnowledgement options (SACK) [RFC 2018](http://www.ietf.org/rfc/rfc2018.txt)\r
+
+* Advanced TCP congestion algorithms\r
+\r
+      For some basic algorithms and background, see [RFC 2581](http://www.ietf.org/rfc/rfc2581.txt).\r
+\r
+
+* Eifel Detection [RFC 3522](http://www.ietf.org/rfc/rfc3522.txt), [RFC 4015](http://www.ietf.org/rfc/rfc4015.txt)\r
+\r
+        An algorithm to detect unecessary loss recovery, which is costly, using TCP Timestamps options.\r
+        Good in wireless LAN environments where this might happen more often.\r
+\r
+
+* Limited Transmit [RFC 3042](http://www.ietf.org/rfc/rfc3042.txt)\r
+\r
+        Improves TCP's loss recovery. This helps busy webservers.\r
+\r
+
+* Early Retransmit [IETF draft](ftp://ftp.ietf.org/internet-drafts/draft-allman-tcp-early-rexmt-04.txt)\r
+\r
+        Speeds up short transfers, like many web requests.\r
+\r
+
+* D-SACK (Duplicate-SACK) [RFC 2883](http://www.ietf.org/rfc/rfc2883.txt)\r
+\r
+        An extension to the SACK option.\r
+\r
+
+* Appropriate Byte Counting [RFC 3465](http://www.ietf.org/rfc/rfc3465.txt)\r
+\r
+        An algorithm for increasing TCP's congestion window,\r
+        which improves throughput and protects against optimistic ACK attacks.\r
+\r
+### Comments \r
+    \r
+    06:44 <dt_> does anyone have any idea what the maximum number of simultanous tcp network connections df can have is?\r
+    06:45 <hsu> depends on how much memory you have in the machine\r
+    06:46 <hsu> as a rough measure, it's mem/1000\r
+    06:46 <hsu> for inactive connections\r
+    06:46 <dt_> mem in bytes?\r
+    06:46 <hsu> for active connections, it's more like mem/32K\r
+    06:46 <hsu> yes\r
+    06:47 <dt_> so more memory is allocated for accepted connections?\r
+    06:47 <hsu> most of the memory for active connections is sitting in the sockbuf\r
+    06:47 <hsu> that dwarves everything else\r
+    06:48 <hsu> however, some large network servers have millions of inactive connections\r
+    06:48 <dt_> thanks hsu\r
+    06:48 <hsu> big difference in divisors between 1K and 32K\r
+    06:49 <hsu> note: this is kmem and oversimplifies by assuming you're using all of kmem for network connections and you don't need it for anything else, like filesystem buffers\r
+    06:49 <dt_> still much better than windows, nt 4.0 is limited to 12,800 and w2k to 25,600 active connections\r
+    06:49 <hsu> but's it's accurate to the rough order of magnitude\r
+    06:49 <dt_> despite memory\r
+    06:49 <hsu> oh, you can have much more than that w/ dfly\r
+    06:49 <hsu> you do have to up some sysctl limits   though\r
+    06:50 <hsu> like kern.ipc.maxsockets\r
+    06:50 <hsu> and kern.ipc.nmbufs\r
+    06:51 <hsu> also, if you decrease kern.ipc.maxsockbuf to, say, 8K, then you can have roughly kmem/8K number of active connections\r
+    06:52 <hsu> basically, you're limited by the amount of memory that each connection takes, not by cpu resources\r
+    06:52 <hsu> for inactive connections, the tcpcb state is roughly 1K\r
+    06:52 <dt_> can thos sysctrl be adjusted at any time? will new connections change with them?\r
+    06:52 <hsu> for active connections, the amount of data sitting in sockbufs dominates, so it depends on your setting of kern.ipc.maxsockbuf\r
+    06:52 <hsu> yes\r
+    06:52 <dt_> awsome\r
+    06:53 <hsu> it helps if you're on a 64-bit processor w/ > 4GB of memory\r
+    06:53 <hsu> before, that 4GB limit was pretty hard to overcome\r
+    06:54 <hsu> now, just stuff up your board and you can increase capacity\r
+    06:54 <hsu> oh, you might have to increase kern.maxfilesperproc too\r
+    06:54 <hsu> if your network server is all in one process\r
+    06:54 <hsu> service\r
+    06:55 <hsu> finally, if you use sendfile, then you don't have to worry about sockbuf memory, since you get to share file buffers among connections\r
+    06:56 <hsu> applicable for the case where you have a web server sending out static file content\r
+\r
+***Note that DragonFlyBSD hasn't been ported to any 64-bit architectures yet.***\r
diff --git a/docs/developer/TechnicalSpecifications.mdwn b/docs/developer/TechnicalSpecifications.mdwn
new file mode 100644 (file)
index 0000000..8b146f5
--- /dev/null
@@ -0,0 +1,4 @@
+
+* [PCI Local Bus rev. 2.2](http://google.com/search?q=PCI+2.2+specification+pdf)\r
+
+* [PCI IDE controller specification](http://google.com/search?q=PCI+IDE+controller+specification)\r
diff --git a/docs/developer/Tokens.mdwn b/docs/developer/Tokens.mdwn
new file mode 100644 (file)
index 0000000..c2e111a
--- /dev/null
@@ -0,0 +1,46 @@
+    \r
+    2006 Jun 20 10:36:34  <@hsu> buggs: you know that tokens haven't worked out very well in dfly, right?\r
+    2006 Jun 20 10:36:58  <@buggs> hsu, no\r
+    2006 Jun 20 10:37:07  <ar> they didn't?\r
+    2006 Jun 20 10:37:10  <@buggs> tell me more\r
+    2006 Jun 20 10:37:11  <@hsu> yeah, Matt says so in all his talks\r
+    2006 Jun 20 10:37:23  <@hsu> I think he also replaced the token uses in vfs w/ spinlocks\r
+    2006 Jun 20 10:37:35  <@hsu> let me double-check that\r
+    2006 Jun 20 10:38:15  <@hsu> don't see that in the 1.4 sources\r
+    2006 Jun 20 10:38:21  <@corecode> yes\r
+    2006 Jun 20 10:38:34  <@corecode> he switched the token implementation to spinlocks\r
+    2006 Jun 20 10:38:37  <@corecode> that's one thing\r
+    2006 Jun 20 10:38:37  <@hsu> but basically, yeah, it wasn't one of the better new concepts\r
+    2006 Jun 20 10:38:51  <@corecode> and he switched most of the code to spinlocks as well\r
+    2006 Jun 20 10:39:04  <@corecode> the problem is that as you give them up when blocking\r
+    2006 Jun 20 10:39:16  <@buggs> i seem to have missed that on the lists\r
+    2006 Jun 20 10:39:25  <@corecode> you need to write code that handles situations which *potentially* block\r
+    2006 Jun 20 10:39:30  <@buggs> i wasn't aware the tokens and spinlocks where mutually\r
+    2006 Jun 20 10:39:39  <@corecode> so each time you allocate something\r
+    2006 Jun 20 10:39:47  <@corecode> you need to loop again\r
+    2006 Jun 20 10:39:55  <@corecode> because your variables might have become stale\r
+    2006 Jun 20 10:40:10  <@hsu> so the problems with tokens were they were relatively expensive\r
+    2006 Jun 20 10:40:39  <@hsu> and giving up the token when you blocked made it hard to code many things in the kernel\r
+    2006 Jun 20 10:40:52  <@buggs> i thought them to be on the same level as the new subsystem locks in freebsd\r
+    2006 Jun 20 10:41:05  <@hsu> because there were some calls like malloc which blocked\r
+    2006 Jun 20 10:41:13  <@buggs> meaning each subsystem has a token for itself\r
+    2006 Jun 20 10:41:20  <@buggs> which it could lend to others\r
+    2006 Jun 20 10:41:27  <@hsu> and so you couldn't call them w/ tokens held and still have any sort of guarantees\r
+    2006 Jun 20 10:41:37  <@hsu> same for free()\r
+    2006 Jun 20 10:41:44  <@corecode> yah\r
+    2006 Jun 20 10:41:54  <@corecode> i think we should do a lot of RCU\r
+    2006 Jun 20 10:42:00  <@corecode> and taskqueues\r
+    2006 Jun 20 10:42:14  <@corecode> and we just should have one taskqueue thread per cpu\r
+    2006 Jun 20 10:42:26  <@corecode> and not per subsystem one per cpu\r
+    2006 Jun 20 10:42:47  <@corecode> even if we lose code locality\r
+    2006 Jun 20 10:43:14  <@hsu> well, code locality is the whole point, so that's a big thing to lose\r
+    2006 Jun 20 10:43:27  <@hsu> it's what makes modern systems go fast\r
+    2006 Jun 20 10:43:40  <@buggs> well then i might be able to proof the problems of tokens\r
+    2006 Jun 20 10:43:48  <@hsu> i-cache misses are more deadly than d-cache misses now\r
+    2006 Jun 20 10:43:49  <@buggs> or find another thing to do proofs about\r
+    2006 Jun 20 10:44:23  <@hsu> buggs: have you looked into RCU?  someone just tried to write a proof of it, but I don't think it was a very good paper\r
+    2006 Jun 20 10:44:52  <@buggs> i only read some abstracts\r
+    2006 Jun 20 10:44:56  --> maudib (~andre@gprs-pool-1-023.eplus-online.de) has joined #dragonflybsd\r
+    2006 Jun 20 10:45:20  <@hsu> i have a suspicion that RCU can better be formulated in terms of Dijstra's  logical clocks, but haven't sat down to work  out the formulation yet\r
+    2006 Jun 20 10:45:57  <@buggs> i'm trying to apply Fagin's "Reasoning about Knowledge"\r
+\r
diff --git a/docs/developer/TypicalGitUsage.mdwn b/docs/developer/TypicalGitUsage.mdwn
new file mode 100644 (file)
index 0000000..2503c2c
--- /dev/null
@@ -0,0 +1,152 @@
+# Mastering the DragonFly git repository \r
+[[!toc  levels=3]]
+## Clone the repository \r
+\r
+    First you go in your work directory and clone the DragonFly repository. While ***crater*** is the official repo, you are urged to use one of our (generally much faster) mirrors instead. \r
+    > git clone -o chlamydia git://chlamydia.fs.ei.tum.de/dragonfly.git\r
+\r
+\r
+If you are a developer, you should create a ***remote*** entry for pushing to ***crater***:\r
+    \r
+    > git remote add crater ssh://crater.dragonflybsd.org/repository/git/dragonfly.git\r
+\r
+\r
+Clone creates remote-tracking branches for all branches in the parent repo and creates a local  **master**  branch from the remote  **master**  branch.\r
+\r
+    \r
+    > git branch -a\r
+    
+* master\r
+      chlamydia/DragonFly_RELEASE_1_10\r
+      chlamydia/DragonFly_RELEASE_1_12\r
+      chlamydia/DragonFly_RELEASE_1_2\r
+      chlamydia/DragonFly_RELEASE_1_4\r
+      chlamydia/DragonFly_RELEASE_1_6\r
+      chlamydia/DragonFly_RELEASE_1_8\r
+      chlamydia/DragonFly_RELEASE_2_0\r
+      chlamydia/HEAD\r
+      chlamydia/master\r
+      chlamydia/repo/hooks\r
+      chlamydia/vendor/ATHEROS\r
+      [...]\r
+      chlamydia/vendor/ZLIB\r
+\r
+\r
+## Prepare patches \r
+\r
+If you (as a non-developer) made some changes to the DragonFly source and want to get them included in the main repository, send your patches to submit@lists.dragonflybsd.org. git assists you in creating patches which are easy to handle for the developers.\r
+\r
+### Example \r
+ **Note:**  The change in this example is completely useless, it only serves demonstration purposes!\r
+\r
+At first edit the files you want to change:\r
+    \r
+    > vim README\r
+\r
+Then review your changes with `git diff`:\r
+    \r
+    > git diff\r
+    diff --git a/README b/README\r
+    index 495a262..6a95d1f 100644\r
+    --- a/README\r
+    +++ b/README\r
+    @@ -59,7 +59,7 @@ lib           System libraries.\r
+     \r
+     libexec                System daemons.\r
+     \r
+    -nrelease       Framework for building the ***live*** CD image.\r
+    +nrelease       Framework for building the ***live CD*** image.\r
+     \r
+     sbin           System commands.\r
+     \r
+\r
+If you are satisfied with your changes, commit them.   **Note:**  The first line of your commit message should describe your change in a small sentence.  Add more details after one newline.\r
+    \r
+    > git commit -a\r
+    ".git/COMMIT_EDITMSG" 10L, 342C written                                                                              \r
+    Created commit cbb871b: Change parentheses\r
+     1 files changed, 1 insertions(+), 1 deletions(-)\r
+\r
+Now you can use `git format-patch` to generate a patch file.  This file is ready for submission to submit@. `git format-patch` will generate one file for every commit you did.\r
+    \r
+    > git format-patch origin\r
+    0001-Change-parentheses.patch\r
+    > cat 0001-Change-parentheses.patch\r
+    From cbb871b4588c695f000bc701b4f3c16a0a518991 Mon Sep 17 00:00:00 2001\r
+    From: Matthias Schmidt <matthiasdragonflybsd.org>\r
+    Date: Tue, 2 Dec 2008 09:54:47 +0100\r
+    Subject: [PATCH] Change parentheses\r
+    \r
+    ---\r
+     README |    2 +-\r
+     1 files changed, 1 insertions(+), 1 deletions(-)\r
+    \r
+    diff --git a/README b/README\r
+    index 495a262..6a95d1f 100644\r
+    --- a/README\r
+    +++ b/README\r
+    @@ -59,7 +59,7 @@ lib           System libraries.\r
+     \r
+     libexec                System daemons.\r
+     \r
+    -nrelease       Framework for building the ***live*** CD image.\r
+    +nrelease       Framework for building the ***live CD*** image.\r
+     \r
+     sbin           System commands.\r
+     \r
+    -- \r
+    1.6.0.2\r
+    \r
+\r
+\r
+Attach the generated files to a mail and submit it.  Write some lines about your intention and why you changed what ...\r
+\r
+## Working with branches \r
+It is  **not**  recommended to work directly in your  **master**  branch, except maybe for one-liners. Branches in git are very cheap, so just keep your  **master**  branch pure, and always work on a different local branch.\r
+\r
+Say you want to work on a simple change. Just create a temporary branch, make the change and commit it.\r
+\r
+    \r
+    > git checkout -b work      # you're now in the work branch\r
+    > vim what/ever.c\r
+    > git commit -a\r
+\r
+\r
+Now, you can switch back to  **master** , merge in the changes in your  **work**  branch and push away:\r
+\r
+    \r
+    > git checkout master      # you're now in the master branch\r
+    > git merge work           # now master has your changes\r
+\r
+\r
+Afterwards, you may (or not, if you want to do further development) want to delete the  **work**  branch by\r
+\r
+    \r
+    > git branch -d work\r
+\r
+\r
+For more complex changes, you probably want to create a longer-lived branch. For example\r
+\r
+    \r
+    > git checkout -b myfeature\r
+\r
+\r
+You can work in the  **myfeature**  branch until your feature is ready. You can commit there as often as you like. If your work goes on for a significant amount of time, you will want to merge with the upstream  **master**  from time to time. It is recommended that you use git rebase, so that the merge points won't show up in the repo history on crater (they don't really add much information). For this, you'd do:\r
+\r
+    \r
+    > git checkout master\r
+    > git pull\r
+    > git checkout myfeature\r
+    > git rebase master\r
+\r
+\r
+## Push your work upstream \r
+When you judge that your code is ready for inclusion in mainline, you can merge it into your local  **master**  branch and push away:\r
+\r
+    \r
+    > git checkout master\r
+    > git merge myfeature\r
+    > git push crater\r
+\r
+\r
+as the command will not push any branch that is not in the remote repository.\r
diff --git a/docs/developer/Yanyh_AMD64Notes.mdwn b/docs/developer/Yanyh_AMD64Notes.mdwn
new file mode 100644 (file)
index 0000000..d839e27
--- /dev/null
@@ -0,0 +1,10 @@
+## Please edit system and help pages ONLY in the moinmaster wiki! For more\r
+## information, please see MoinMaster:MoinPagesEditorGroup.\r
+##master-page:HelpTemplate\r
+##master-date:Unknown-Date\r
+#format wiki\r
+## A note is to try to organize in an unorganized way \r
+
+* the following gcc switches can be used to catch 32-64 bit portability issues:\r
+    \r
+-Werror -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wuninitialized -ansi -pedantic -Wbad-function-cast -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decl \r
diff --git a/docs/developer/index.mdwn b/docs/developer/index.mdwn
new file mode 100644 (file)
index 0000000..b01ef9f
--- /dev/null
@@ -0,0 +1,4 @@
+Here is a list of all the developer-specific DragonFly documentation.
+
+[[!map  pages="docs/Developer/* and !blog/* and !*/Discussion"]]
+
diff --git a/docs/faq/FAQ-Chinese.mdwn b/docs/faq/FAQ-Chinese.mdwn
new file mode 100644 (file)
index 0000000..81b0496
--- /dev/null
@@ -0,0 +1,107 @@
+           \r
+<<TableOfContents>>\r
+\r
+# 关于 FAQ \r
+\r
+你可以在 DragonFly 官方网站找到这份 FAQ。并且,wiki 上的这份 FAQ 会定时与官方的 FAQ 同步。\r
+\r
+你还可以看到翻译成其它语言的 FAQ。\r
+Español (西班牙语版) -\r
+Français (法语版) -\r
+(Italian pending) -\r
+Lietuviškai (立陶宛语版) -\r
+荷兰语版 -\r
+Norwegian -\r
+Polski (波兰语版 - not completed) -\r
+Русский (俄语版) -\r
+Svenska (瑞士语版).\r
+\r
+# DragonFly 可以用于生产吗?\r
+\r
+可以。有些人已经将其用于生产了。一般在这一点上,DragonFly 是稳定的并且很快。DragonFly 可以通过 FreeBSD 的 ports 系统使用第三方软件,但有些可能不会被正确编译。建议你随时关注论坛获取相关内容。\r
+论坛页面请参阅 [http://www.dragonflybsd.org/main/forums.cgi ]。\r
+我们现在有个社团正在致力于这方面的工作。如果你在某个开源项目中发现了问题,请报告给他们。这样可以增加别人修订问题的机会。\r
+\r
+\r
+\r
+# 下一个版本潜在的目标是什么? \r
+\r
+用户空间线程和一个新的打包系统,以及移除继承于 FreeBSD-4 的多处理锁(大家都知道的 Big Giant Lock)。而且,我们还打算实现异步系统调用消息和线程方式的 VFS。\r
+有关 DragonFly 最新消息和大事,请随时关注 Matthew Dillon 的 日记 (http://www.dragonflybsd.org/status/diary.cgi),  DragonFly BSD 日志 (http://www.shiningsilence.com/dbsdlog/), DragonFly Wiki, 以及 DragonFly 邮件列表/新闻组 (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# 有面向稳定性的分支吗?如同 FreeBSD 的 -STABLE? \r
+\r
+还没有。我们打算在开始分支前,现实现最主要的一些特性。\r
+我们还没有开发资源来维护多个分支。但是,我们有 "DragonFly_Preview" 标记,习惯当作  "DragonFly_Stable"。用户可以同步这个标记,取代 HEAD。它只是一个浮动的标记,表明开发过程中一个适当的稳定点。例如,buildworld / buildrelease / buildkernel 可以正常的运行而不会产生一些不可用或过多错误。记住,"DragonFly_Preview" 只是一个标记,这不同于其他 *BSD 的 -STABLE。\r
+cvsup可以使用这个配置文件 (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) 获取标记为 "DragonFly_Preview" 的源码。\r
+\r
+# 当我启动时,屏幕上出现乱码或我似乎不能在初始启动菜单阶段暂停 \r
+\r
+DragonFly 启动时,会同时向显卡和串口显示输出(显卡和串口皆为控制台)。但是如果该计算机有一个有干扰的串口设备相连的话,它在启动过程中会从其读取数据。可以通过创建内容为:'-V' 的 /boot.config,屏蔽串口控制台。\r
+\r
+\r
+\r
+# 我无法安装 XFree86-4 port, 它在死循环 \r
+\r
+确信在你的 DragonFly 机器上,你已经用 dfports 覆盖了 XFree86-4-libraries, 并且安装了单独的 port。然后再正确地安装 XFree86-4 metaport。或,以 root 身份安装: 'pkg_add -r XFree86'. 如果一个 port 编译失败,使用 'pkg_add -r packagename' 一般会起作用。\r
+\r
+\r
+\r
+# 我怎么加速我的编译过程? \r
+\r
+你可以使用 make quickworld 取代 make buildworld。这样就会使用磁盘上已有的工具,也就相对提高了速度。相对内核是 quickkernel.\r
+\r
+\r
+\r
+# 但是 make quickworld/quickkernel 失败了! \r
+\r
+试试 make buildworld or buildkernel.\r
+\r
+\r
+\r
+# 怎么处理第三方的程序? (就像 ports, RPM, apt-get, 等等) \r
+\r
+目前,DragonFly 使用来自 FreeBSD 的 ports 系统,并会被在 dfports 目录里的 dfports 覆盖掉(缺省位于 /usr/dfports)。同 ports 一样,你可以通过 cvsup 保持更新。DragonFly 受到 pkgsrc (http://www.pkgsrc.org)的官方支持。\r
+这也是一个打包系统,非常像 FreeBSD 的 ports。它也有很多预先编译好的包。参看 pkgsrc HOWTO 获取快速指南. 最后,DragonFly 会有自己的 port 系统,其采用 VFS 机制,只是目前还没有完成。更多的信息,参见 existing packaging description (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+# DragonFly 都支持哪些体系结构?? \r
+\r
+DragonFly 当前支持 x86 系列处理器,她可以运行在386以上的处理器,尽管不建议使用386。支持64位的AMD处理的工作正在进行中。目前还没有支持其他处理器的计划,当然将来可能支持Sparc或PowerPC或其他处理器。如果你想向 DragonFly 提交代码,请紧记。\r
+\r
+\r
+\r
+# 我如何出一份力? \r
+\r
+找一个你喜欢的题目,开始工作。\r
+通过 团队页面 (http://www.dragonflybsd.org/about/team.cgi) 看看是否还有其他人和你志同道合,或者在 appropriate forum (http://www.dragonflybsd.org/main/forums.cgi) 发帖询问. 你可以 下载源码 (http://www.dragonflybsd.org/main/download.cgi), 以 unified diff 格式(diff -uN)将补丁提交到 'submit at dragonflybsd.org',便于他人审核。订阅那个提交 邮件列表/新闻组 (http://www.dragonflybsd.org/main/forums.cgi) 看看别人对你的补丁反馈,可以了解到它们是被接受了还是被拒绝了。而且你还可以更新 DragonFly Wiki.\r
+值得注意的是,不必非得是一个程序员才能帮助我们。传播 DragonFly,在各种硬件上测试并提交报告都是非常大的帮助。也可以尝试新特性并将自己的体验发布到论坛中。举例来说,整理 /etc/rc.d 只需要脚本经验。好的文档也很受欢迎的。\r
+\r
+# DragonFly 使用动态 /dev 文件系统吗?如 devfs? \r
+\r
+目前的计划是保持现有的文件系统模型,但去掉了 minor/major。也许需要一个 'devd' 进程处理动态设备。但在实现这个特性前,还有其它一些特性需要先实现。\r
+\r
+\r
+\r
+# 日志文件系统/后台fsck 目前是什么状态?我们有些等不及了... \r
+\r
+Matt 正在从事日志文件系统, 你可以翻阅这个帖子:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+或浏览整个主题:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+\r
+\r
+# DragonFly 使用 (insert name here) 技术? \r
+\r
+是,或否。特性要符合这个站点上已起草的计划。做这些不重要的工作前,已有很多问题还需要解决。当然,如果你愿意做,它也许能被完成。论坛是个好地方,在这里你可以得到反馈并且找到和你兴趣相投的人。\r
+团队页面 (http://www.dragonflybsd.org/about/team.cgi) 也是不错的。\r
+\r
+# 如何确切地命名这个操作系统?\r
+\r
+她是 BSD 变种,称为 DragonFly。注意 F 是大写,这不是严格意义上的英语。\r
+\r
+\r
+\r
+# Mplayer port 编译失败 \r
+\r
+拷贝 http://leaf.dragonflybsd.org/~joerg/mplayer.tgz 到 /usr/ports/multimedia 并展开。目录切换回到 /usr/ports/multimedia/mplayer,编译安装 'make install'。\r
diff --git a/docs/faq/FAQ-Danish.mdwn b/docs/faq/FAQ-Danish.mdwn
new file mode 100644 (file)
index 0000000..847e81b
--- /dev/null
@@ -0,0 +1,93 @@
+<<TableOfContents>>\r
+\r
+# Denne FAQ er ikke rettet mht. stavefejl og ligende. Hvis du har lyst, så giv en hånd med \r
+# Omkring denne FAQ \r
+\r
+Du kan finde en kopi af denne FAQ på den officielle DragonFly-hjemmeside.\r
+\r
+Du kan også finde oversættelser til andre sprog følgende steder:\r
+Deutsch (German) -\r
+Español (Spanish) -\r
+Français (French) -\r
+(Italian pending) -\r
+Lietuviškai (Lithuanian) -\r
+Nederlands -\r
+Norwegian -\r
+Polski (Polish - not completed) -\r
+Русский (Russian) -\r
+Svenska (Swedish).\r
+\r
+# Er DragonFly klar til produktionsmiljøer? \r
+\r
+Ja, det bliver allerede brugt af flere personer i produktionsmiljøer.\r
+DragonFly er generelt stabil og hurtig.\r
+Fra 1.4, benytter DragonFly NetBSD Pakke Samlingen pkgsrc (http://www.pkgsrc.org) for tredjeparts-programmer. pkgsrc indeholder over 5500 pakker og er understøttet på flere forskellige platforme fra Linux til AIX.\r
+Det anbefales at du følger med på de forskellige forummer, så du kan holde dig opdateret mht. fejl-rettelser.\r
+Tjek følgende forum-side (http://www.dragonflybsd.org/main/forums.cgi) for at finde ud af hvordan du tilgår disse.\r
+Vi har et aktivt fællesskab der sørger for at tingene fungerer til hver en tid.\r
+Som i ethvert open-source-project, er der større chance for at nogen kan fikse dit problem, hvis du rapporterer det.\r
+\r
+# Hvad er målsætningen for de kommende udgivelser? \r
+\r
+HAMMER filsystemet, fjernelse af multiprocessor-låsen (også kendt som "Big Giant Lock") i netværks stakken og et cache coherens håndterings system (CCMS).\r
+\r
+For DragonFly nyheder og begivenheder, bedes du holde øje med Matthew Dillon's dagbog (http://www.dragonflybsd.org/status/diary.cgi), DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), DFWiki, og DragonFly mailinglisterne/nyhedsgrupperne (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# Findes der en branch der er rettet mod stabilitet som FreeBSD -STABLE? \r
+\r
+Vi har en -RELEASE tag som anses for rimeligt stabil. \r
+\r
+# Jeg får en masse bras på min skærm under opstart, eller jeg kan ikke pause ved den første boot-menu. \r
+\r
+Når DragonFly starter op, udskriver den til både grafikkortet og seriel-porten. Hvis maskinen under opstart har en 'støjende' seriel endhed tilsluttet, kan den muligvis læse data derfra. Aktiveringen af den serielle konsol under opstart, kan slås fra ved at lave en fil, /boot.config, med indholdet: '-V'\r
+\r
+# Jeg kan ikke installere XFree86-4-porten. Den ender i en uendelig løkke. \r
+\r
+Vær sikker på at du har dfports-rettelsen til Xfree86-4-libraries på din DragonFly-maskine, og installér dén individuelle port. Xfree86-4 meta-porten burde installere korrekt derefter. En anden mulighed er at installer pakken som root: 'pkg_add -r XFree86'. Brugen af 'pkg_add -r pakkenavn' virker ofte hvis en port nægter at bygge.\r
+\r
+# Hvordan kan jeg reducere byggetiden? \r
+\r
+Du kan bruge make quickworld istedet for make buildworld. Dette vil genbruge de eksisterende værktøjer på harddisken og er derfor en del hurtigere. Til kernen findes et lignende quickkernel-target.\r
+\r
+# Men make quickworld/quickkernel fejler! \r
+\r
+Prøv make buildworld eller buildkernel i stedet.\r
+\r
+# Hvad vil blive brugt til håndtering af tredjeparts programmer (såsom ports, RPM, apt-get, osv.) \r
+\r
+For øjeblikket, bruger DragonFly det eksisterende ports-system fra FreeBSD-4, med lokale rettelser specifikt udviklet til DragonFly, placeret i dfports (som standard /usr/dfports). dfports virker på samme måde som ports - du kan holde det opdateret ved brug af cvsup.\r
+DragonFly er officielt understøttet af pkgsrc (http://www.pkgsrc), som er et pakkesystem der ligner FreeBSD ports. Det har mange færdigbyggede pakker til rådighed. For en hurtig guide, se pkgsrc HOWTO. Med tiden vil DragonFly have et hjemmelavet port-system, der gør brug af VFS mekanismer der er ikke er færdigtudviklede på nuværende tidspunkt. For mere information, se den eksisterende pakke beskrivelse (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+# Hvilke arkitekturer understøtter DragonFly? \r
+\r
+DragonFly er på nuværende tidspunkt rettet efter x86-linjen af processorer. Den bør virke på 386'ere og opefter, men en 386'er kan bestemt ikke anbefales. Der bliver også arbejdet på understøttelse af de nye 64-bits processorer fra AMD. På nuværende tidspunkt er der ikke planer om at understøtte andre processor-typer. Dog er Sparc, eller PowerPC-understøttelse en mulighed i fremtiden. Hvis du indsender kode til DragonFly-projektet, bør du have dette i baghovedet.\r
+\r
+# Hvordan kan jeg hjælpe til? \r
+\r
+Vælg et emne du kan lide og start arbejdet. Tjek hold siden (http://www.dragonflybsd.org/main/team.cgi) til at se om der er andre intresserede i dit emne, eller spørg i et passende forum (http://www.dragonflybsd.org/main/forums.cgi). Du kan downloade kilden (http://www.dragonflybsd.org/main/download.cgi) til operativ systemet og til den officelle side, og sende patches ind i diff format (diff -uN) til 'submit at dragonflybsd.org' for kritik. Tilmeld dig til submit mailinglisten/nyhedsgruppen (http://www.dragonflybsd.org/main/forums.cgi) for at se kommentarer til din patch, og til at se om den er blevet accepteret eller afvist. Derudover kan du opdatere DragonFly Wiki.\r
+\r
+Du behøver ikke at være programmør for at hjælpe til. At forkynde DragonFly, teste det på forskelligt hardware, og reportere resultater kan hjælpe en stor del. Prøv nye funktioner og rapportér til forumet omkring dine erfaringer.  Foreksempel kræver rengøring af /etc/rc.d kun shellscript-erfaring, og der er altid brug for bedre dokumentation.\r
+\r
+# Vil DragonFly bruge et dynamisk /dev filesystem, i stil med devfs? \r
+\r
+Den aktuelle plan, er at bibeholde den eksisterende filesystems-model, dog med fjernelse af minor/major nummerering. Det er muligt at der kommer til at være en 'devd'-procces til at håndtere dynamiske enheder. Dog er der andre features der i øjeblikket er vigtigere.\r
+\r
+# Hvad er statussen på det journaliserende filsystem / baggrunds-fsck? Vi kan ikke vente... \r
+\r
+Matt arbejder på journaling, men læs denne post for mere info omkring emnet:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Alternativt kan du læse hele diskussionen her:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Vil DragonFly bruge (indsæt navn her) teknologi? \r
+\r
+Både ja og nej. Features skal matche den eksisterende udlignede plan her på siden, od der er massevis af eksisterende problemer at løse før "unødvendigt" arbejde kan udføres. Dog kan det muligvis blive gjort, hvis du selv er villig til at arbejde på det. Forummerne er et udmærket sted at få feedback i, og til at finde andre der er interesserede i netop dit emne. DragonFly team-siden (http://www.dragonflybsd.org/about/team.cgi) er også et godt sted at tjekke.\r
+\r
+# Hvad er det korrekte navn på dette operativsystem? \r
+\r
+Det er en BSD-variant, kaldet DragonFly. (Ja, det skal være stort F, selvom det egentlig ikke er korrekt engelsk).\r
+\r
+# Mplayer fejler når jeg prøver at kompilere pakken.  \r
+\r
+Kopiér http://leaf.dragonflybsd.org/~joerg/mplayer.tgz ind i dit /usr/ports/multimedia-direktorie og udpak den. Skift tilbage til /usr/ports/multimedia/mplayer og kompilér den med 'make install'. \r
diff --git a/docs/faq/FAQ-Dutch.mdwn b/docs/faq/FAQ-Dutch.mdwn
new file mode 100644 (file)
index 0000000..11c1ef3
--- /dev/null
@@ -0,0 +1,69 @@
+## page was renamed from DutchFAQ\r
+ **Over deze FAQ** \r
+\r
+Je kunt een kopie van deze FAQ vinden op de officiële (http://www.dragonflybsd.org) DragonFly-website. Daarnaast is er een kopie die op de wiki onderhouden wordt en periodiek met de officiële FAQ wordt gesynchroniseerd.\r
+\r
+Je kunt ook andere vertalingen vinden op onderstaande locaties: Danish (Deens) Deutsch (Duits) - Español (Spaans) - Français (Frans) - Italiano (Italiaans) - Lietuviškai (Litouws) - Norsk (Noors) - Polski (Polish - not completed) - Русский (Russisch) - Svensk (Zweeds) - Ukrainian (not completed).\r
+\r
+ **Is DragonFly klaar voor productie?** \r
+\r
+Ja. Een aantal mensen gebruiken het al in productie. DragonFly is momenteel stabiel en snel. Sinds versie 1.4 gebruikt DragonFly de NetBSD pkgsrc (http://www.pkgsrc.org) software collectie voor externe software. Pkgsrc bevat meer dan 5500 software pakketten en is ondersteund op verscheidene platformen, van Linux tot AIX. Er wordt aangeraden om de fora (http://www.dragonflybsd.org/main/forums.cgi) in de gaten te houden. Het project heeft een actieve gebruikersgroep die alles draaiende houdt. Zoals bij elk open-sourceproject helpt het rapporteren van problemen om de kans op een oplossing te vergroten.\r
+\r
+ **Wat zijn de doelstellingen voor de volgende release?** \r
+\r
+Netwerking code zonder multiprocessor lock (ook wel bekend als de Big Giant Lock), een cache coherentie systeem en het importeren van Sun's ZFS (http://www.opensolaris.org/os/community/zfs/). Bekijk Matthew Dillon's bericht (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) voor verdere details.\r
+\r
+\r
+Voor DragonFly-nieuws en -evenementen, hou Matthew Dillons dagboek (http://www.dragonflybsd.org/status/diary.cgi) in de gaten, het DragonFly BSD Logboek (http://www.shiningsilence.com/dbsdlog/), deze DFWiki, en de DragonFly-fora (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+***'Is er een branch toegespitst op stabiliteit, zoals FreeBSD's -STABLE?***'\r
+\r
+Nog niet. Het is de bedoeling om de meeste belangrijke features op de 'goals'-lijst te implementeren alvorens te branchen. Op dit moment zijn er nog niet voldoende resources om meerdere branches te onderhouden. Er is wel een "DragonFly_Preview"-tag (vroeger "DragonFly_Stable") waarmee gebruikers kunnen synchroniseren in plaats van HEAD. Het is gewoon een actieve tag die een 'redelijk stabiel punt' in de ontwikkeling weerspiegelt, waar bijvoorbeeld de buildworld / buildrelease / buildkernel volgorde zeer waarschijnlijk werkt en geen onbruikbare of te buggy product oplevert. Houd er echter rekening mee dat "DragonFly_Preview" gewoon een tag is, en dus niet een branch zoals -STABLE of gelijkaardig bij de andere BSD's. Je kunt deze cvsup-configuratie (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) gebruiken om de source met de tag "DragonFly_Preview" via CVSup binnen te halen.\r
+\r
+Het is ook mogelijk om de RELEASE tag op te volgen. Zoals "DragonFly_Preview" is het een actieve tag, maar er worden enkel bugfixes toegevoegd specifiek aan de release. Geen nieuwe mogelijkheden worden toegevoegd, maar het systeem zou nooit minder stabiel mogen worden na het updaten.\r
+\r
+***'Ik krijg rotzooi op het scherm wanneer ik opstart, of ik kan schijnbaar niet pauzeren in het boot menu.***'\r
+\r
+DragonFly geeft output op zowel videokaarten als seriële poorten bij het opstarten. Als de opstartende computer een 'noisy' serieel apparaat aan een seriële poort heeft hangen, kan het die noise interpreteren als commando's voor de bootloader cq. kernel. Het gebruik van de seriële console tijdens het booten kan worden uitgeschakeld door het bestand /boot.config te creeeren met als inhoud: '-V'.\r
+\r
+ **Hoe kan ik het compilatieproces versnellen?** \r
+\r
+Je kunt 'make quickworld' gebruiken in plaats van 'make buildworld'. Dit hergebruikt de reeds bestaande tools op de schijf en versnelt het proces merkbaar. Voor de kernel is er een identiek target: 'make quickkernel'.\r
+[edit]\r
+Maar make quickworld/quickkernel gaat fout!\r
+\r
+Probeer in plaats daarvan een buildworld of buildkernel.\r
+\r
+***'Wat zal worden gebruikt om externe applicaties te beheren (zoals ports, RPM, apt-get, etc.)?***'\r
+\r
+Sinds versie 1.4 gebruikt DragonFly de NetBSD pkgsrc (http://www.pkgsrc.org) software collectie voor externe software. Pkgsrc is een software collectie systeem gelijkaardig aan FreeBSD's "ports" systeem en heeft veel voorgecompileerde pakketten beschikbaar. Voor een korte handleiding, zie de pkgsrc HOWTO. Ooit zal DragonFly een eigen port/package systeem hebben, dat gebruik maakt van de VFS-mechanismen die op dit moment nog niet beschikbaar zijn. Voor meer informatie, neem een kijkje op de bestaande packages-beschrijving (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+ **Welke architecturen worden door DragonFly ondersteund?** \r
+\r
+DragonFly is op dit moment hoofdzakelijk gericht op de de x86-processorarchitectuur; het zou moeten werken op een 80386 en nieuwer, waarbij vermeld dient te worden dat een 386 zeker niet aan te raden is. Er wordt ook werk verricht om de nieuwe 64-bits processoren van AMD te ondersteunen, evenals de compatibele Intel-processoren met EM64T-extensies. Er zijn op dit moment echter geen plannen om andere processortypes te ondersteunen, hoewel ondersteuning voor SPARC of PowerPC en andere populaire architecturen mogelijk is in de toekomst. Als je van plan bent code te contribueren aan het DragonFly-project, houd hier dan alsjeblieft rekening mee.\r
+\r
+ **Hoe kan ik bijdragen?** \r
+\r
+Kies een onderwerp dat jou aanspreekt en begin met werken. Check de teampagina (http://www.dragonflybsd.org/about/team.cgi) om te zien of er ook anderen geïnteresseerd zijn in jouw onderwerp, of vraag wat rond in de relevante fora (http://www.dragonflybsd.org/main/forums.cgi). Je kunt de broncode voor het besturingssysteem en/of die voor de officiële website downloaden (http://www.dragonflybsd.org/main/download.cgi), en vervolgens de door jou gemaakte patches in het unified diff formaat (diff -uN) sturen naar 'submit at dragonflybsd.org' voor controle. Word lid van diezelfde submit-mailing lijst/nieuwsgroep (http://www.dragonflybsd.org/main/forums.cgi) om reacties op je patches te lezen en om te zien of ze geaccepteerd of afgewezen worden. Daarnaast kun je de DragonFly Wiki updaten en onderhouden.\r
+\r
+Let op: je hoeft niet per se een programmeur te zijn om te helpen. DragonFly promoten en testen op verschillende hardware, en je resultaten rapporteren kan ook flink helpen. Probeer nieuwe features uit en rapporteer je ervaringen op de fora (http://www.dragonflybsd.org/main/forums.cgi). Het opschonen van /etc/rc.d vereist alleen shellscript-ervaring, bijvoorbeeld, en betere documentatie is altijd nuttig.\r
+\r
+***'Zal DragonFly gebruik maken van een dynamisch /dev-filesystem, zoals devfs?***'\r
+\r
+Het huidige plan is om het bestaande filesystem model te behouden, met uitzondering van major/minor device-nummering. Er komt mogelijk een 'devd'-proces om dynamische devices te ondersteunen. Er zijn wel eerst andere features te voltooien voordat deze aangepakt wordt.\r
+\r
+ **Wat is de status van journaling filesystems / background fsck? We kunnen niet wachten...** \r
+\r
+Matt is aan het werk met journalling, maar je zou wellicht deze post van hem willen lezen: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html . Of lees het hele topic hierover: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html .\r
+\r
+ **Zal DragonFly gebruikmaken van de (vul de naam in)-technologie?** \r
+\r
+Ja en nee. Features moeten binnen het bestaande plan voor DragonFly passen zoals uitgelegd op deze site. Er zijn namelijk genoeg bestaande problemen die kunnen worden opgelost voordat niet-essentieel werk kan worden gedaan. Als je er echter aan wilt werken, kan het waarschijnlijk wel gedaan worden. De fora zijn de ideale plek om feedback en andere geïnteresseerden te vinden voor jouw onderwerp. De teampagina (http://www.dragonflybsd.org/about/team.cgi) is ook handig om te checken.\r
+\r
+ **Wat is de correcte manier om dit besturingssysteem te noemen?** \r
+\r
+Het is een BSD-variant genaamd DragonFly. Let op de hoofdletter van de F, waardoor dit geen correct Engels is.\r
+\r
+ **Moet ldconfig_path in /etc/defaults/rc.conf aangepast worden om pkgsrc te ondersteunen ?** \r
+\r
+Nee. pkgsrc linkt alles met de optie -rpath, zodat alle binaire programmabestanden de juiste paden zouden moeten bevatten. Als ze dit niet doen bevatten de pakketten zelf een fout.\r
diff --git a/docs/faq/FAQ-English.mdwn b/docs/faq/FAQ-English.mdwn
new file mode 100644 (file)
index 0000000..7be89c9
--- /dev/null
@@ -0,0 +1,69 @@
+# About this FAQ \r
+\r
+You can find a copy of the FAQ on the official (http://www.dragonflybsd.org) DragonFly website. In addition, there is a copy maintained on the wiki which is periodically synchronized with the official FAQ.\r
+\r
+You can also find translations to other languages at these locations: Dansk (Danish) - Deutsch (German) - Español (Spanish) - Français (French) - Italiano (Italian) - Lietuviškai (Lithuanian) - Magyar (Hungarian) - Nederlands - Norwegian - Polski (Polish - not completed) - Русский (Russian) - Svenska (Swedish) - Ukrainian (not completed).\r
+\r
+# Is DragonFly ready for production? \r
+\r
+Yes. A number of people are using it in production. DragonFly is generally stable and speedy at this point. As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.pkgsrc.org) for third-party software. pkgsrc contains over 5500 packages and is supported on several different platforms from Linux to AIX. You are advised to keep a close eye on the forums. Check the forums page (http://www.dragonflybsd.org/main/forums.shtml) to find out on how to get access. We have an active community that are working on keeping things working. As in any open source project, if you find problems reporting them increases the chance that someone can fix it.\r
+\r
+# What are the potential goals for the next release? \r
+\r
+Multiprocessor-safe networking without the Big Giant Lock, a cache coherency management system, and the importation of Sun's ZFS (http://www.opensolaris.org/os/community/zfs/). See Matthew Dillon's post (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) for more details.\r
+\r
+For DragonFly news and events, keep an eye on Matthew Dillon's diary (http://www.dragonflybsd.org/status/diary.shtml), the DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), the DragonFly Wiki, and the DragonFly mailing lists/newsgroups (http://www.dragonflybsd.org/main/forums.shtml).\r
+\r
+# Is there a branch oriented towards stability, like the FreeBSD's -STABLE? \r
+\r
+We have a -RELEASE tag which is considered to be fairly stable.\r
+\r
+# I get garbage on the screen when I boot or I can't seem to pause at the initial boot menu. \r
+\r
+DragonFly, when booting, outputs to both video and serial ports. If the booting computer has a 'noisy' serial device connected, it may read data from it during the boot process. Serial console activation during boot can be disabled by creating the file /boot.config with the contents: '-V'\r
+\r
+# How can I speed up my build process? \r
+\r
+You can use make quickworld instead of make buildworld. This reuses existing tools on disk and speeds this step up considerably. For the kernel there is a similar quickkernel target.\r
+\r
+# But make quickworld/quickkernel fails! \r
+\r
+Try make buildworld or buildkernel instead.\r
+\r
+# What is used to handle third-party applications? (like ports, RPM, apt-get, etc.) \r
+\r
+As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.pkgsrc.org) for third-party applications. pkgsrc is a packaging system much like FreeBSD ports, and there are many pre-built packages available. For a quick guide see the pkgsrc HOWTO. Eventually, DragonFly will have a homegrown port system, using the VFS mechanisms that are as of this writing not complete yet. For more information, check the specifications for the ideal package management system (http://www.dragonflybsd.org/goals/packages.shtml).\r
+\r
+# What architectures does DragonFly support? \r
+\r
+DragonFly is currently targeted at the x86 line of processors; it should work on 386 and up, though a 386 is certainly not recommended. Work is also being done on support for the new 64-bit processors from AMD. There are currently no plans for support of other processor types. However, support for Sparc or PowerPC or other systems is possible in the future. If you plan to submit code to the DragonFly project, please keep this in mind.\r
+\r
+# How can I contribute? \r
+\r
+Pick a topic that you enjoy and start working. Check the team page (http://www.dragonflybsd.org/about/team.shtml) to see if there are others interested in your topic, or ask around in the appropriate forum (http://www.dragonflybsd.org/main/forums.shtml). You can download the source (http://www.dragonflybsd.org/main/download.shtml) to the operating system and to the official site, and send patches in unified diff format (diff -uN) to 'submit at dragonflybsd.org' for review. Subscribe to that same submit mailing list/newsgroup (http://www.dragonflybsd.org/main/forums.shtml) to see feedback on your patches, and to find if they have been accepted or rejected. In addition, you can update the DragonFly Wiki.\r
+\r
+Note that you do not have to be a programmer in order to help. Evangelizing DragonFly and testing it on a variety of hardware, and reporting results can help a great deal. Try new features and report to the forums on your experiences. Cleaning up /etc/rc.d only requires shell script experience, for instance, and there's always a need for better documentation.\r
+\r
+# Will DragonFly use a dynamic /dev filesystem, as in devfs? \r
+\r
+Current plans are to keep the existing filesystem model, with the removal of minor/major numbering. There may be a 'devd' process to handle dynamic devices. There are other features to complete first before this is tackled.\r
+\r
+# What is the state of journaling fs / background fsck? We cannot wait... \r
+\r
+Matt is working on journaling, but you may want to read this post: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Or just go through the whole topic: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Will DragonFly use (insert name here) technology? \r
+\r
+Yes and no. Features must match the existing plan outlined on the site here, and there's plenty of existing problems to solve before 'nonessential' work can be done. However, if you are willing to work on it, it probably can be done. The forums are an excellent place to get feedback and to find others that may be interested in your topic. The team page (http://www.dragonflybsd.org/about/team.shtml) is also a good place to check.\r
+\r
+# What's the correct way to name this operating system? \r
+\r
+It's a BSD variant, called DragonFly. Note the capitalization on the F, which isn't proper English.\r
+\r
+# Should ldconfig_path be updated in /etc/defaults/rc.conf to include support for pkgsrc? \r
+\r
+No. pkgsrc links everything with -rpath so all binaries should carry the correct paths already. If it breaks it's broken.\r
+\r
+[Yugioh English]\r
diff --git a/docs/faq/FAQ-French.mdwn b/docs/faq/FAQ-French.mdwn
new file mode 100644 (file)
index 0000000..bc2f4b5
--- /dev/null
@@ -0,0 +1,91 @@
+<<TableOfContents>>\r
+\r
+# Au sujet de cette FAQ \r
+\r
+Une copie de cette FAQ est disponible sur le site officiel (http://www.dragonflybsd.org) de DragonFly.\r
+De plus, une copie est maintenue sur le wiki, et est régulièrement synchronisée avec la FAQ officielle.\r
+\r
+Des traductions dans d'autres langues sont disponibles à ces adresses:\r
+Dansk (danois) -\r
+Deutsch (allemand) -\r
+English (anglais) -\r
+Español (espagnol) -\r
+(italien en cours) -\r
+Lietuvi?kai (lituanien) -\r
+Nederlands (néerlandais) -\r
+norvégien -\r
+Polski (polonais) -\r
+??????? (russe) -\r
+Svenska (suédois).\r
+\r
+# DragonFly est-il prêt pour un usage en production ? \r
+\r
+Oui. Un certain nombre de personnes l'utilisent en production.\r
+DragonFly est généralement stable et rapide à ce point de son développement.\r
+Depuis la version 1.4, DragonFly utilise la collection de packages de NetBSD pkgsrc (http://www.pkgsrc.org) pour les logiciels tiers. pkgsrc comprend plus de 5500 packages et est supporté par plusieurs plateformes, de Linux à AIX.\r
+Il est recommandé de garder un oeil attentif aux forums.\r
+Consultez la page des forums (http://www.dragonflybsd.org/main/forums.cgi) pour trouver comment y accéder.\r
+Nous avons une communauté active qui travaille à conserver les choses en bon fonctionnement.\r
+Comme dans beaucoup de projets open source, rapporter les problèmes que vous pouvez rencontrer augmente les chances que quelqu'un puisse les corriger.\r
+\r
+# Quels sont les objectifs possibles pour la prochaine version stable ? \r
+\r
+Une pile réseau exploitant le parallélisme sur les multiprocesseurs, sortie du Big Giant Lock (littéralement Gros Verrou Géant, empêchant deux processeurs d'être en même temps dans le noyau), un système de gestion de cohérence de cache (Cache Coherency Management System), et l'import du système de fichiers ZFS (http://www.opensolaris.org/os/community/zfs/) de Sun. Voir le post de Matthew Dillon (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) pour plus de détails.\r
+\r
+Pour les nouvelles et les évènements au sujet de DragonFly, gardez un oeil sur le journal (http://www.dragonflybsd.org/status/diary.cgi) de Matthew Dillon, le log DragonFly BSD (http://www.shiningsilence.com/dbsdlog/), la page d'accueil de ce wiki, et les listes de diffusion/newsgroups (http://www.dragonflybsd.org/main/forums.cgi) de DragonFly.\r
+\r
+# Y a-t-il une branche orientée vers la stabilité, comme -STABLE chez FreeBSD ? \r
+\r
+Pas encore. Nous avons l'intention d'implémenter la plupart des fonctionnalités majeures de nos objectifs avant d'en créer une. Nous n'avons pas encore les ressources de développement requises pour maintenir plusieurs branches. Cependant, nous avons un tag "DragonFly_Preview" (autrefois "DragonFly_Stable") sur lequel les utilisateurs peuvent se synchroniser, plutôt que sur HEAD. Il ne s'agit que d'un tag flottant indiquant un "point raisonnablement stable" dans le développement, c'est à dire, lorsque la séquence buildworld / buildrelease / buildkernel doit probablement fonctionner et sans produire quelque-chose de trop instable ou trop buggué. Gardez à l'esprit que "DragonFly_Preview" n'est qu'un simple tag, contrairement aux branches -STABLE des *BSDs. Vous pouvez utiliser ce fichier de configuration de cvsup (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) pour obtenir les sources tagguées "DragonFly_Preview" via cvsup.\r
+\r
+Il est également possible de suivre le tag "RELEASE" (distribution). Comme "DragonFly_Preview", ce n'est qu'un tag flottant, mais il suit les corrections de bugs apportés spécifiquement à cette distribution. Aucune nouvelle fonctionnalité n'est ajoutée, mais le système ne devrait jamais devenir moins stable à cause d'une mise à jour suivant ce tag.\r
+\r
+# J'obtiens n'importe quoi à l'écran au démarrage, ou je ne peux faire de pause au menu de démarrage. \r
+\r
+DragonFly, au cours de son démarrage, utilise à la fois l'affichage et les ports série. Si l'ordinateur qui démarre est connecté à un périphérique 'bruyant', il peut lire des données depuis celui-ci au cours du processus de démarrage. L'utilisation de la console série au cours du démarrage peut être désactivée en créant un fichier /boot.config contenant: '-V'.\r
+\r
+# Comment puis-je accélérer la compilation du système ? \r
+\r
+Vous pouvez utiliser make quickworld plutôt que make buildworld. Cela réutilise les outils existants sur le disque et accélère cette étape considérablement. Pour le noyau, il existe une cible similaire, quickkernel.\r
+\r
+# Mais make quickworld/quickkernel échoue ! \r
+\r
+Essayez make buildworld ou buildkernel à la place.\r
+\r
+# Qu'est-ce qui est utilisé pour gérer les logiciels tiers ? (comme les ports, RPM, apt-get, etc.) \r
+\r
+Depuis la version 1.4, DragonFly utilise la collection de packages de NetBSD pkgsrc (http://www.pkgsrc.org) pour les logiciels tiers. pkgsrc est un système de gestion de packages ressemblant aux ports de FreeBSD, et il existe beaucoup de packages pré-compilés disponibles. Pour une introduction à pkgsrc, voir le pkgsrc HOWTO. A terme, DragonFly aura son propre système, utilisant les mécanismes du VFS qui sont incomplets à l'heure où ces lignes sont écrites. Pour plus d'informations, voir les spécifications du système de gestion de packages idéal (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+# Quelles architectures sont supportés par DragonFly ? \r
+\r
+DragonFly cible actuellement la famille de processeurs x86; il devrait fonctionner sur un 386 ou un processeur supérieur, bien qu'un 386 ne soit certainement pas recommandé. Un travail est en cours afin de supporter les nouveaux processeurs 64-bits d'AMD. Il n'y a actuellement rien de prévu pour d'autres types de processeurs. Cependant, un support des systèmes Sparc, PowerPC ou autres sera possible dans le futur. Si vous prévoyez de soumettre du code au projet DragonFly, merci de garder cela à l'esprit.\r
+\r
+# Comment puis-je contribuer ? \r
+\r
+Choisissez un sujet qui vous plait et mettez vous au travail. Consultez la page de l'équipe (http://www.dragonflybsd.org/about/team.cgi) pour voir si d'autres sont intéressés par le sujet, ou demandez dans le forum approprié (http://www.dragonflybsd.org/main/forums.cgi). Vous pouvez télécharger le code source (http://www.dragonflybsd.org/main/download.cgi) du système et envoyer des patches au format diff unifié (diff -uN) à 'submit at dragonflybsd.org' pour revue. Souscrivez à cette même liste de discussion/newsgroup pour lire les retours au sujet de vos patches et pour savoir s'ils ont été acceptés ou rejetés. Vous pouvez aussi mettre à jour le wiki DragonFly.\r
+\r
+Notez que vous n'avez pas à être un programmeur pour aider. Parler de DragonFly autour de vous, le tester sur du matériel varié, et rapporter les résultats peut aider grandement. Essayez des nouvelles fonctionnalités, et rapportez dans les forums vos expériences. Faire le ménage dans /etc/rc.d ne requiert qu'une expérience en script shell, par exemple, et il y a toujours le besoin d'une meilleure documentation.\r
+\r
+# Est-ce que DragonFly utilisera un système de fichiers dynamique pour /dev, comme devfs ? \r
+\r
+On prévoit actuellement de garder le modèle actuel pour le système de fichiers, tout en supprimant les numéros mineurs/majeurs. Il pourra y avoir un processus "devd" pour gérer les périphériques dynamiques. Il y a d'autres objectifs de fonctionnalités à remplir avant que ceci soit entrepris.\r
+\r
+# Où en est la journalisation du système de fichier / fsck en arrière plan ? On ne peut plus attendre... \r
+\r
+Matt travaille sur la journalisation, vous pouvez lire lire ce message:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Ou lire tout le sujet:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Est-ce que DragonFly utilisera la technologie (insérez un nom ici) ? \r
+\r
+Oui et non. Les fonctionnalités doivent correspondre au plan décrit sur le site, et il y a assez de problèmes existants à résoudre avant d'entreprendre des travaux non essentiels. Cependant, si vous voulez y travailler, cela peut être fait. Les forums sont un excellent endroit pour obtenir des retours et pour trouver d'autres personnes intéressées par votre idée. La page de l'équipe (http://www.dragonflybsd.org/about/team.cgi) est également un bon endroit à consulter.\r
+\r
+# Quelle est la bonne façon d'appeler ce système d'exploitation ? \r
+\r
+C'est une variante de BSD, nommée DragonFly. Notez le F majuscule, qui n'est pas de l'anglais correct.\r
+\r
+# Est-ce que ldconfig_path doit être mis à jour dans /etc/defaults/rc.conf, pour inclure le support de pkgsrc ? \r
+\r
+Non. pkgsrc compile tout avec le paramètre -rpath donc les binaires produits doivent déjà comporter les chemins corrects. Sinon, c'est qu'il y a un problème.\r
diff --git a/docs/faq/FAQ-German.mdwn b/docs/faq/FAQ-German.mdwn
new file mode 100644 (file)
index 0000000..0c34541
--- /dev/null
@@ -0,0 +1,78 @@
+## page was renamed from GermanFAQ\r
+Zu dieser FAQ\r
+\r
+Eine Kopie dieser FAQ ist auf der offiziellen DragonFly Internetseite zu finden. Zusätzlich existiert ein weiteres Exemplar im Wiki, welches regelmäßig mit der offiziellen FAQ abgeglichen wird.\r
+\r
+Weitere Übersetzungen sind in folgenden Sprachen verfügbar: Dansk (Dänisch) - Español (Spanisch) - Français (Französisch) - (Italienisch, gegenwärtig ausstehend) - Lietuviškai (Litauisch) - Nederlands (Niederländisch) - Norwegisch - Polski (Polnisch - gegenwärtig ausstehend) - Русский (Russisch).\r
+\r
+Ist DragonFly bereit für den produktiven Einsatz?\r
+\r
+Ja. DragonFly ist bei einigen Leuten bereits im Einsatz. Im Großen und Ganzen kann DragonFly gegenwärtig als schnell und stabil beurteilt werden. Seit Version 1.4 nutzt DragonFly die NetBSD Package Collection pkgsrc (http://www.pkgsrc.org) für Software Dritter. Diese beinhaltet mehr als 5500 Packete und wird von weiteren Betriebssystemen von AIX bis Linux unterstützt. Es ist sinnvoll die Diskussionsforen im Auge zu behalten. Die Foren-Seite (http://www.dragonflybsd.org/main/forums.cgi) enthält entsprechende Zugangsinformationen. Das DragonFly-Projekt besitzt eine aktive Entwicklergemeinschaft, und wie in vielen Open-Source Projekten üblich, erhöhen gemeldete Probleme die Wahrscheinlichkeit einer baldigen Lösung.\r
+\r
+\r
+Welche Ziele werden für die nächsten Versionen angestrebt?\r
+Aufhebung des SMP-Locks (auch bekannt als „Big Giant Lock“), Einbindung eines cache coherency management Systems, sowie Importierung von Sun's ZFS (http://www.opensolaris.org/os/community/zfs/). Siehe Matthew Dillons Post (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) für weitere Details. \r
+\r
+Aktuelles ist stets auf Matthew Dillon's Statusseite (http://www.dragonflybsd.org/status/diary.shtml), sowie im DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), dem DFWiki, und der DragonFly Mailing-Liste/Newsgroup (http://www.dragonflybsd.org/main/forums.cgi) zu finden.\r
+\r
+\r
+Gibt es einen Zweig, vergleichbar mit FreeBSD's -STABLE?\r
+\r
+Wir benutzen nun ein -RELEASE Tag, das als stabil gelten kann.\r
+\r
+[edit]\r
+Beim Starten zeigt der Bildschirm nur Müll an, oder pausieren im Bootmenü ist nicht möglich.\r
+\r
+Während des Startvorganges sendet DragonFly, Ausgaben an Videogeräte und serielle Anschlüsse. Falls an den seriellen Port des betroffenen Rechners ein 'lärmendes' Gerät angeschlossen ist, kann es passieren, dass DragonFly beim Starten von diesem Port liest. Es ist möglich die serielle Konsole während des Startvorganges zu deaktivieren. Erstellen sie dazu die Datei '/boot.config' mit dem Inhalt: '-V'.\r
+[edit]\r
+Der XFree86-4 Port lässt sich nicht installieren, eine Endlosschleife verhindert dies.\r
+\r
+Überprüfen sie ob der 'dfports'-Ersatz der 'XFree86-4-libraries' auf Ihrem System vorhanden ist, und installieren Sie diesen gegebenenfalls. Der 'XFree86-4 metaport' sollte anschließend korrekt installieren. Alternativ können Sie auch ein Binärpaket installieren, falls ein Port nicht funktionieren sollte. Geben Sie dazu folgendes als root ein: 'pkg_add -r XFree86'. In diesem Fall wird 'XFree86' installiert, für andere Pakete: 'pkg_add -r <Paketname>'.\r
+[edit]\r
+Wie kann ich den Build-Prozess beschleunigen?\r
+\r
+Es ist möglich 'make quickworld' anstelle von 'make buildworld' zu benutzen, dadurch werden bereits existierende Tools auf Ihrer Festplatte erneut genutzt, was diesen Schritt beträchtlich verkürzt. Für den Kernel existiert ein ähnlicher Befehl: 'make quickkernel'.\r
+[edit]\r
+quickworld/quickkernel funktionieren jedoch nicht!\r
+\r
+Versuchen Sie stattdessen buildworld oder buildkernel.\r
+\r
+Wie wird Software Dritter in Zukunft gehandhabt? (ports, RPM, apt-get, etc.)\r
+\r
+Zum jetzigen Zeitpunkt nutzt DragonFly die NetBSD Packages Collection pkgsrc (http://www.pkgsrc.org) für Software Dritter, ein Packetsystem ähnlich den FreeBSD Ports mit vielen vorkompilierten Packeten. Für einen schnellen Einstieg gibt es das pkgsrc-HOWTO. Eventuell bekommt DragonFly ein eigenes Port-System, welches VFS Mechanismen nutzt die zu diesem Zeitpunkt noch nicht fertiggestellt sind. Weitere Informationen zu diesem Thema gibt es hier (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+[edit]\r
+Welche Hardwarearchitekturen werden von DragonFly unterstützt?\r
+\r
+Momentan läuft DragonFly ausschließlich auf x86 kompatiblen Systemen, d.h. 386 und höher, wobei 386er sicher nicht empfohlen sind. An der Unterstützung für AMD64 wird noch gearbeitet. Es ist zur Zeit nicht geplant, DragonFly auf andere Prozessortypen zu portieren. Allerdings ist dies, für beispielweise Sparc oder PowerPC, in Zukunft möglich, und sollte beim Einreichen von Patches und Code berücksichtigt werden.\r
+\r
+[edit]\r
+Wie kann ich etwas zum Projekt beisteuern?\r
+\r
+Natürlich gibt es die Möglichkeit sich ein Thema nach eigenem Geschmack auszusuchen. Schauen Sie auf der Team-Seite (http://www.dragonflybsd.org/about/team.cgi) nach, um zu sehen ob sich jemand für das gleiche Thema interessiert. Ansonsten kann man in einem entsprechendem Forum (http://www.dragonflybsd.org/main/forums.cgi) nachfragen. Es ist möglich auf der DragonFly-Download-Seite (http://www.dragonflybsd.org/main/download.cgi) den Quellcode des Betriebssystems herunterzuladen, und anschließend Patches im Unified-diff-Format (diff -uN) an 'submit at dragonflybsd.org' zur Überprüfung zu versenden. In den entsprechenden Mailing-Listen/Newsgroups (http://www.dragonflybsd.org/main/forums.cgi) lässt dazu Feedback finden, und auch ob der Patch angenommen wurde oder nicht. Weiterhin erwünscht ist auch Mithilfe am DragonFly Wiki (http://wiki.dragonflybsd.org).\r
+\r
+Um mitzuhelfen muss man kein Programmierer sein. Die Verbreitung, das Testen von DragonFly auf verschiedener Hardware, und eine Meldung der Ergebnisse können von sehr großem Nutzen sein. Probieren Sie einfach neue Features aus, und berichten Sie von ihren Erfahrungen in den Foren. Um /etc/rc.d zu überarbeiten braucht man lediglich ein wenig Shell-Scripting Praxis, und die Nachfrage nach guter Benutzerdokumentation ist immer groß.\r
+\r
+[edit]\r
+Wird DragonFly ein dynamisches /dev Verzeichnis, wie 'devfs' haben?\r
+\r
+Die aktuellen Pläne sehen nicht vor, das bisherige Model zu ändern. In Zukunft wird es eventuell einen 'devd'-Prozess geben um dynamisch Geräte hinzuzufügen oder zu entfernen. Momentan gilt es aber andere Dinge zu erledigen bevor dies in Angriff genommen werden kann.\r
+\r
+[edit]\r
+Wie ist der Status des 'Journaling-FS' / 'Background-fsck'?\r
+\r
+Matt arbeitet aktuell am 'Journaling'. Hier (http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html) kann man seine Beschreibung finden. Mehr zu diesem Thema gibt es hier (http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html)\r
+\r
+[edit]\r
+Wird DragonFly Technology XZ bieten?\r
+\r
+Ja und nein. Neue Features sollten in Übereinstimmung mit dem hier beschriebenen (http://www.dragonflybsd.org/goals/) Plan stehen, denn es gibt bis dato noch zahlreiche Probleme, die gelöst werden sollten, bevor unwesentliche Arbeiten begonnen werden. Wenn sich jedoch jemand bereiterklärt an einer Sache zu arbeiten, dann ist das in Ordnung. Die Foren sind ein hervorragender Ort um Feedback zu sammeln und andere Interessierte zu finden.\r
+[edit]\r
+Wie lautet der korrekte Name dieses Betriebssystems?\r
+\r
+Es handelt sich hierbei um eine BSD-Variante, mit dem Namen DragonFly. Man beachte die absichtlich falsche Großschreibung des englischen Wortes 'Fly'\r
+\r
+[edit]\r
+Sollte ldconfig_path in /etc/defaults/rc.conf geupdatet werden um support für pkgsrc haben?\r
+\r
+Nein. pkgsrc linkt alles mit -rpath, also sollten bereits alle Binaries den korrekten Pfad enthalten. \r
diff --git a/docs/faq/FAQ-Hungarian.mdwn b/docs/faq/FAQ-Hungarian.mdwn
new file mode 100644 (file)
index 0000000..46d9d1c
--- /dev/null
@@ -0,0 +1,92 @@
+           \r
+<<TableOfContents>>\r
+\r
+#A GYIK-ről\r
+\r
+A GYIK másolata megtalálható a hivatalos (http://www.dragonflybsd.org/) DragonFly honlapon.\r
+Ezenkívül egy másolat megtalálható a wiki-ben amit időnként frissítenek a hivatalos GYIK változásaival összhangban.\r
+\r
+Fordítások más nyelvekre megtalálhatóak a következő helyeken:\r
+Dansk (Dán) -\r
+Deutsch (Német) -\r
+English (Angol) -\r
+Español (Spanyol) -\r
+Français (Francia) -\r
+Italiano (Olasz) -\r
+Lietuviškai (Litván) -\r
+Nederlands (Holland) -\r
+Norwegian (Norvég) -\r
+Polski (Lengyel - folyamatban) -\r
+Русский (Orosz) -\r
+Svenska (Svéd) -\r
+Ukrainian (Ukrán - folyamatban).\r
+\r
+# Készen áll-e a DragonFly mindennapi használatra? \r
+\r
+Igen. Egy páran mindennapi szinten használják.\r
+A DragonFly mostmár általában véve stabil és gyors.\r
+Az 1.4-es verzió a NetBSD „Package gyűjtemény”-ét, a pkgsrc (http://www.pkgsrc.org)-t használja további programok telepítésekor. A pkgsrc több mint 5 500 programot foglal magába és több rendszeren is működik az AIX-tól kezdve a Linuxig.\r
+Tanácsoljuk hogy kövesd figyelemmel a fórumokat.\r
+Látogass el a »fórumok«&nbsp;lapra (http://www.dragonflybsd.org/main/forums.cgi) ahol leírják hogyan szerezhetsz hozzáférést.\r
+A DragonFly aktív közösséggel rendelkezik, akik mindent megtesznek hogy a dolgok simán menjenek.\r
+Mint minden szabad forráskódú (open source) projektnél, a talált hibák minél előbbi jelentése megnöveli annak az esélyét, hogy valaki kijavítja őket.\r
+\r
+# Mik a következő kiadás fő céljai? \r
+\r
+Többprocesszor-biztos hálózatkezelés a „Big Giant Lock” lefoglalása nélkül, egy gyorstár-koherenciát biztosító alrendszer, és a Sun ZFS (http://www.opensolaris.org/os/community/zfs/) beillesztése.  Lásd Matthew Dillon levelét (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) a részletekért.\r
+\r
+A DragonFly-lyal kapcsolatos hírekért és eseményekért kövesd figyelemmel Matthew Dillon naplóját (http://www.dragonflybsd.org/status/diary.cgi), a DragonFly BSD naplót (http://www.shiningsilence.com/dbsdlog/), a DragonFly Wiki-t, és a DragonFly levelezőlistákat/USENET-csoportokat (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# Van a DragonFly-nak a stabilitásra koncentráló ága, hasonlóan a FreeBSD -STABLE-höz? \r
+\r
+A -RELEASE taggal jelölt változat stabilnak mondható.\r
+\r
+# Értelmetlen karakterek jelennek meg a képernyőn, amikor a rendszert elindítom - vagy - nem tudom megállítani a boot-menünél. \r
+\r
+A DragonFly, amikor indul, a video- és a soros-portra is küld jelet. Ha a számítógéphez egy „zajos” soros eszköz van csatlakoztatva, lehet, hogy eközben a DragonFly adatot olvas róla. A soros konzol indítási folyamat közbeni aktiválása letiltható egy /boot.config fájl létrehozásával, a következő tartalommal: '-V'\r
+\r
+# Hogyan gyorsíthatom fel a fordítási folyamatot? \r
+\r
+Használhatod a 'make quickworld'-öt a 'make buildworld' helyett. Ez a már meglévő fordítókat és egyéb eszközöket használja jelentősen felgyorsítva ezt a lépést. A rendszermag számára is van egy hasonló 'quickkernel' parancs.\r
+\r
+# Dehát a make quickworld/quickkernel nem sikerül! \r
+\r
+Próbald a 'make buildworld'-öt vagy 'buildkernel'-t.\r
+\r
+# Mi használatos a további programok telepítésére? (à la ports, RPM, apt-get, satöbbi...) \r
+\r
+A DragonFly 1.4-es verzió a NetBSD „Package gyűjtemény”-ét, a pkgsrc (http://www.pkgsrc.org)-t használja további programok telepítésekor. A pkgsrc egy programcsomag-kezelő rendszer, hasonlóan a FreeBSD „port”-jaihoz, és rengeteg előre-fordított programot tesz elérhetővé. Rövid bevezetőként ajánlott a pkgsrc HOGYAN (HOWTO). Idővel a DragonFly rendelkezni fog egy saját programcsomag-kezelő rendszerrel, amely különböző VFS-mechanizmusok segítségével fog működni, amelyek azonban ezen írás pillanatában még nem állnak készen. További információért lásd az „ideális” programcsomag-kezelő rendszer leírásá (http://www.dragonflybsd.org/goals/packages.cgi)-t.\r
+\r
+# Milyen rendszertípusokat támogat a DragonFly? \r
+\r
+A DragonFly jelenleg az x86-os processzorokra koncentrál; A 386-oson és újabb modelleken működik, bár egy 386-os nemigen ajánlott. Dolgoznak az AMD új 64-bites processzorainak támogatásán is. Jelenleg nincsenek tervek másfajta processzortípusok támogatására. Azonban SPARC és PowerPC rendszerek és mások szóba jöhetnek a jövőben. Ha azt tervezed, hogy programkóddal járulsz a DragonFly-hoz, kérjük ezt tartsd szem előtt.\r
+\r
+# Hogyan vehetek részt? \r
+\r
+Válassz egy témát amit élvezel és láss munkához. Látogass el a »csapat«&nbsp;lapra (http://www.dragonflybsd.org/about/team.cgi) hogy lásd vannak-e mások is akiket érdekel az adott téma, vagy kérdezősködj a megfelelő fórumban (http://www.dragonflybsd.org/main/forums.cgi). Töltsd le (http://www.dragonflybsd.org/main/download.cgi) a rendszer és a hivatalos honlap forráskódját, majd küldj foltokat (patch)  „unified diff” formátumban (diff -uN) a 'submit (kukac) dragonflybsd.org' címre felülvizsgálatra. Iratkozz fel az adott submit levelezőlistára/USENET-csoportba (http://www.dragonflybsd.org/main/forums.cgi) hogy lásd a válaszokat a foltjaidra (patches), és hogy megtudd el lettek-e fogadva vagy pedig visszautasították őket. Sőt, frissítheted a DragonFly Wiki-t is.\r
+\r
+Nem kell programozónak lenned hogy segíthess. A DragonFly terjesztése vagy kipróbálása különböző gépeken, és az eredmények közzététele sokat segíthet. Próbálj ki új funkciókat és írj a fórumokra a tapasztalataidról. Például az /etc/rc.d könyvtár rendberakása csak shell-szkript tudást igényel, és mindig szükség van jobb dokumentációra is.\r
+\r
+# Fog a DragonFly dinamikus /dev fájlrendszert használni, pl. mint a devfs? \r
+\r
+A jelenlegi tervek szerint megtartjuk a mostani modellt, a minor/major számozás eltávolításának kivételével. Szó lehet egy 'devd' programról a dinamikus eszközök kezelésére. Ám vannak más, fontosabb problémák, melyeket előbb meg kell oldanunk.\r
+\r
+# Hol tart a naplózó fájlrendszer / háttérbeli fsck? Már nem győzünk várni... \r
+\r
+Matt dolgozik a naplózáson, érdekelhet ez a levele:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Vagy esetleg átolvashatod az egész témát:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Használni fogja a DragonFly a «kedvenc technológiám»-at? \r
+\r
+Igen is, meg nem is. A használt technológiáknak igazodniuk kell a terveinkhez, melyeket itt, ezen a honlapon vázoltunk, és van rengeteg már feltérképezett probléma amiket meg kell oldanunk mielőtt hozzákezdhetnénk a nem szükségszerű munkákhoz. Azonban ha hajlandó vagy dolgozni rajta, akkor valószínűleg megoldható. A fórumaink egy kíváló hely hogy visszajelzést kapj és találj másokat akiket esetleg érdekel az adott technológia. A »csapat«&nbsp;lap (http://www.dragonflybsd.org/about/team.cgi)ot ugyancsak ajánljuk.\r
+\r
+# Hogyan kell helyesen hívni ezt az operációs rendszert? \r
+\r
+Ez egy BSD változat, amit DragonFly-nak (szitakötő) neveznek. Figyelj arra, hogy az F nagy betű, bár ez így nem helyes angolban.\r
+\r
+# Szükséges az ldconfig_path-t frissíteni az '/etc/defaults/rc.conf'-ban a pkgsrc könyvtáraival? \r
+\r
+Nem. A pkgsrc mindent '-rpath'-al „linkel” szóval az összes program alapból a helyes könyvtárútvonalakat tartalmazza. Ha valami nem működik az azt jelzi, hogy a program hibás.\r
diff --git a/docs/faq/FAQ-Italian.mdwn b/docs/faq/FAQ-Italian.mdwn
new file mode 100644 (file)
index 0000000..1e1a10f
--- /dev/null
@@ -0,0 +1,112 @@
+           \r
+<<TableOfContents>>\r
+\r
+## Riguardo queste FAQ \r
+\r
+\r
+E' possibile trovare una copia delle FAQ sul sito web ufficiale (http://www.dragonflybsd.org/) di DragonFly. Inoltre, c'è una copia mantenuta sul wiki che è periodicamente aggiornata con le FAQ ufficiali.\r
+\r
+E' possibile trovare anche traduzioni altri linguaggi qui: Dansk (Danish) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Danish) - Deutsch (German) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_German) - Español (Spanish) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Spanish) - Français (French) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_French) - Lietuviškai (Lithuanian) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Lithuanian) - Nederlands (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Dutch) - Norwegian (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Norwegian) - Polski (Polish - not completo) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Polish) - Русский (Russian) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Russian) - Svenska (Swedish) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Swedish) -\r
+Ucraino (non completo) (http://wiki.dragonflybsd.org/index.php/DragonFly_FAQ_Ukrainian)\r
+\r
+\r
+\r
+## DragonFly è pronto per l'ambiente di produzione? \r
+\r
+\r
+Si. Alcune persone lo stanno utilizzando in ambiente di produzione. Attualmente, DragonFly è generalmente stabile e veloce. Con la versione 1.4, DragonFly utilizza il NetBSD Packages Collection pkgsrc (http://www.netbsd.org/Documentation/software/packages.html) come software di terze parti. Pkgsrc contiene oltre 5500 pacchetti ed è supportato da molte piattaforme differenti, da Linux a AIX. E' comunque una buona cosa controllare sempre i forum. Controlla la pagina forums (http://www.dragonflybsd.org/main/forums.cgi) per vedere come iscriversi. Noi abbiamo una comunità attiva  che sta lavorando assiduamente. Come ogni altro progetto open source, segnalare eventuali problemi riscontrati aumenta le possibilità che essi possano essere risolti.\r
+\r
+\r
+\r
+## Quali sono i potenziali obiettivi per la prossima release? \r
+\r
+Un networking per sistemi multiprocessore sicuro senza il Big Giant Lock, un cache coherency management system, il porting in DragonFly dello ZFS (http://www.opensolaris.org/os/community/zfs/) della Sun. Guarda questo post di Matthew Dillon (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) per magggiori dettagli.\r
+\r
+Le notizie e gli eventi riguardanti DragonFly sono mantenuti sul diario (http://www.dragonflybsd.org/status/diary.cgi) di Matthew Dillon, sul DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), sul Wiki di DragonFly, e sulle mailing lists/newsgroups (http://www.dragonflybsd.org/main/forums.cgi) di DragonFly.\r
+\r
+\r
+\r
+## Esiste un ramo orientato sempre alla stabilità, come quello STABLE di FreeBSD? \r
+\r
+\r
+Non ancora. Noi intendiamo realizzare la maggior parte delle funzionalità riportate nell'elenco dei nostri obiettivi prima di far partire questo ramo. Noi non abbiamo ancora le risorse di sviluppo richieste per mantenere molti rami. Comunque, possediamo un tag "DragonFly_Preview" (usato per divenire "DragonFly_Stable") che gli utenti possono aggiornare al posto di HEAD. Esso è un tag fluttuante che indica una 'versione ragionevolmente stabile', ad esempio quando la sequenza  buildworld / buildrelease / buildkernel funziona appropriatamente e non produce qualcosa di non usabile oppure che presenta dei bug. Bisogna ricordare che anche "DragonFly_Preview" è un altro tag, così esso non è come il tag -STABLE dei *BSD. E' possibile usare questo file config cvsup (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) per ottenere i sorgenti taggati "DragonFly_Preview" tramite cvsup.\r
+\r
+\r
+\r
+## E' possibile ottenere i messaggi sullo schermo quando avvio oppure quando non posso fermare l'esecuzione al menu di avvio iniziale. \r
+\r
+\r
+DragonFly, durante l'avvio, mostra l'output sia del video sia delle porte seriali. Se durante l'avvio il computer un dispositivo seriale rumoroso connesso, esso potrebbe leggere i dati da esso durante il procsso di avvio. La attivazione della console seriale durante l'avvio può essere disabilitato creando il file /boot.config con il comtenuto: '-V'\r
+\r
+\r
+\r
+## Come posso velocizzare il mio processo di compilazione? \r
+\r
+\r
+E' possibile usare make quickworld al posto di make buildworld. Questo comando riusa i tool esistenti sul disco e rende considerevolmente più veloce questa fase. Per il kernel esiste il target simile quickkernel.\r
+\r
+\r
+\r
+## Ma make quickworld/quickkernel falliscono! \r
+\r
+\r
+Allora esegui make buildworld oppure buildkernel.\r
+\r
+\r
+\r
+## Quale sistema verrà usato per manipolare applicazioni di terze parti? (come ports, RPM, apt-get, ecc.) \r
+\r
+\r
+Con la versione 1.4, DragonFly utilizza il NetBSD Packages Collection, ovvero pkgsrc (http://www.netbsd.org/Documentation/software/packages.html), per le applicazioni di terze parti. Pkgsrc è un sistema di gestione pacchetti molto simile ai ports di FreeBSD, e sono disponibili molti pacchetti precompilati. Per una guida rapida guarda  HOWTO di pkgsrc. Eventualmente, DragonFly avrà un suo proprio sistema di port, che utilizzerà i meccanismi del VFS che purtroppo non sono ancora completi. Per maggiori informazioni, controlla  le specifiche dei sistemi di gestione dei pacchetti esistenti (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+\r
+\r
+## Quali architetture sono supportate da DragonFly? \r
+\r
+\r
+Attualmente, DragonFly supporta processori della famiglia x86; esso dovrebbe funzionare sui processori 386 e successivi, sebbene un 386 non è ovviamente raccomandato. Il lavoro è anche indirizzato a supportare i nuovi processori a 64-bit della AMD. Attualmente non ci sono progetti per supportare altri tipi di processori. Comunque, il supporto per Sparc, PowerPC o altri tipi di sistemi è possibile in futuro. Se tu pensi di produrre codice per il progetto DragonFly, ricorda questa possibilità.\r
+\r
+\r
+\r
+## Come posso contribuire? \r
+\r
+\r
+Scegli un argomento che ti interessa e comincia a lavorare. Contolla la pagina team (http://www.dragonflybsd.org/about/team.cgi) per vedere se ci sono altre parsone interessate al tuo argomento, oppure chiedi in giro nel forum appropriato (http://www.dragonflybsd.org/main/forums.cgi). E' possibile effettuare il download dei sorgenti (http://www.dragonflybsd.org/main/download.cgi) del sistema operativo dal sito ufficiale, oppure inviare  patches in formati diff unificato (diff -uN) all'indirizzo 'submit at dragonflybsd.org' per una verifica. E' neccessaria la sottoscrizione alla medesima mailing list/newsgroup (http://www.dragonflybsd.org/main/forums.cgi) di submit per osservare  il  feedback delle proprie patches, e per vedere se esse sono state accettate o meno. Inoltre, è possibile aggiornare il DragonFly Wiki. \r
+Si noti che è necessario essere un programmatore per contribuire al progetto. L'evangelizzazione di DragonFly e la fase di testing su una grande varietà di hardware, e il riportare i risultati possono aiutare molto. Esegui le nuove funzionalità e riporta sui forum le tue esperienze. Ad esempio, ripulire /etc/rc.d richiede solamente esperienza con gli script di shell, e c'è sempre bisogno di una documentazione migliore.\r
+\r
+\r
+\r
+## DragonFly utilizzerà un filesystem /dev dinamico, come in devfs? \r
+\r
+\r
+I piani attuali sono di mantenere il modello di filesystem esistente, con la rimozione di vari problemi. Si potrebbe prevedere un processo 'devd' per manipolare i dispositivi dinamici. Ci sono altre funzionalità da completare prima di considerarne altre.\r
+\r
+\r
+\r
+## Quale è lo stato del journaling fs / background fsck? Noi non possiamo attendere... \r
+\r
+\r
+Matt sta lavorando sul journaling, comunque può essere utile leggere questo post: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Oppure è possibile leggere l'intero topic:  http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+\r
+\r
+## DragonFly userà la tecnologia (inserisci qui il nome)? \r
+\r
+\r
+Si e no. Le tecnologie devono devono corrispondere a progetti esistenti riportati su questo sito, e ci sono molti problemi esistenti da risolvere prima di realizzare altre cose meno importanti. Comunque, se tu stai lavorando al progetto che proponi, allora probabilmente potrà esssere fatto. I  forum sono un eccellente posto per ottenere un feedback e trovare altri che potrebbero essere interessati al tuo argomento. La pagina team (http://www.dragonflybsd.org/about/team.cgi) è un altro buon posto dove controllare.\r
+\r
+\r
+\r
+## Quale è il modo corretto per nominare questo sistema operativo? \r
+\r
+\r
+E' una variante BSD, chiamata DragonFly. Nota la lettera maiuscola F, che non è propriamente inglese.\r
+\r
+\r
+\r
+## ldconfig_path dovrebbe essere aggiornato in /etc/defaults/rc.conf per includere il supporto per pkgsrc? \r
+\r
+\r
+No. Pkgsrc effettua il link di ogni cosa con -rpath, così tutti i binari dovrebbero già avere il corretto percorso. Se esso si interrompe, allora è rotto.\r
diff --git a/docs/faq/FAQ-Norwegian.mdwn b/docs/faq/FAQ-Norwegian.mdwn
new file mode 100644 (file)
index 0000000..eaf0abb
--- /dev/null
@@ -0,0 +1,85 @@
+    \r
+    Note: This page is in parts outdated.\r
+\r
+\r
+<<TableOfContents>>\r
+\r
+# Om FAQen \r
+\r
+Du kan finne den origniale FAQen på den offisielle DragonFly websiden (http://www.dragonflybsd.org/main/FAQ.cgi).\r
+I tillegg ligger det oversettelser til flere språk på wikien. Lenker til disse finner du på den  engelsk FAQen.\r
+\r
+# Er DragonFly klar for produksjonsmiljøer? \r
+\r
+Ja, det blir allerede brukt av flere personer i produksjonsmiljøer. DragonFly er generelt sett stabilt og hurtig.\r
+FreeBSD ports blir fortsatt brukt til tredjepartsprogramvare, og det kan være problemer å få noen av disse til å bygge.\r
+Det er anbefalt at du følger med på de forskjellige forumene som finnes så du kan holde deg oppdatert med nye fikser og problemer som kan oppstå.\r
+Ta en kikk på forumsidene (http://www.dragonflybsd.org/main/forums.cgi) for å finne ut hvordan du får tilgang til disse.\r
+Det finnes et aktivt miljø som sørger for at ting fungerer optimalt til en hver tid.\r
+Som i alle andre open source-prosjekter er det mye større sannsynlighet for at et problem blir tatt hånd om hvis du rapporterer det.\r
+\r
+# Hva er målene for kommende utgivelser? \r
+\r
+Userland threading og et nytt pakkehåndteringssystem, sammen med fjerning av multiprosesseringslåsen (også kjent som "the Big Giant Lock") arvet fra Freebsd-4. I tillegg planlegger vi å iverksette asynkront systemopprop messaging, og en threaded VFS.\r
+\r
+For Dragonfly-nyheter og -begivenheter hold et øye på Matthew Dillons diary (http://www.dragonflybsd.org/status/diary.cgi), DragonFly BSD Logg (http://www.shiningsilence.com/dbsdlog/), DFWiki, og DragonFly mail- lister/newsgroups (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# Finnes det en gren rettet mot stabiltet som FreeBSDs -STABLE? \r
+\r
+Not yet. We intend to emplace most major features on our goals list before we start branching. We do not yet have the development resources required to maintain multiple branches. However, we do have a "DragonFly_Stable" tag which users can synchronize to instead of HEAD. It is just a floating tag indicating a 'reasonably stable point' in development i.e. where the buildworld / buildrelease / buildkernel sequence is likely to work and not producing something that is unusable or too buggy. Keep in mind that "DragonFly_Stable" is a just another tag, so it's not like *BSD's -STABLE. You can use this cvsup config file (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) obtaining source tagged "DragonFly_Stable" via cvsup.\r
+\r
+# Jeg får søppel på skjermen når jeg starter opp, eller jeg klarer ikke å pause den første boot menyen. \r
+\r
+DragonFly, when booting, outputs to both video and serial ports. If the booting computer has a 'noisy' serial device connected, it may read data from it during the boot process. Serial console activation during boot can be disabled by creating the file /boot.config with the contents: '-V'\r
+\r
+# Jeg kan ikke installere XFree86-4-porten, den går i en uendelig loop. \r
+\r
+Make sure you have the dfports override for XFree86-4-libraries on your DragonFly machine, and install that individual port. The XFree86-4 metaport should install correctly after that. Or, install the package as root: 'pkg_add -r XFree86'. Using 'pkg_add -r packagename' may often work if a port fails to build.\r
+\r
+# Hvordan kan jeg redusere byggetiden? \r
+\r
+You can use make quickworld instead of make buildworld. This reuses existing tools on disk and speeds this step up considerably. For the kernel there is a similar quickkernel target.\r
+\r
+# Men make quickworld/quickkernel mislykkes! \r
+\r
+Prøv `make buildworld` eller `make buildkernel` i stedet.\r
+\r
+# Hva vil bli brukt for å håndtere tredjepartsprogramvare? (som ports, RPM, apt-get, e.l.) \r
+\r
+Currently, DragonFly uses the existing ports system from FreeBSD4, with local overrides specific to DragonFly located in dfports (default location /usr/dfports). dfports works the same as ports - you can keep it up to date using cvsup. Eventually, DragonFly will have a homegrown port system, using the VFS mechanisms that are as of this writing not complete yet. For more information, check the existing packaging description (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+# Hvilke arkitekturer støtter DragonFly? \r
+\r
+DragonFly is currently targeted at the x86 line of processors; it should work on 386 and up, though a 386 is certainly not recommended. Work is also being done on support for the new 64-bit processors from AMD. There are currently no plans for support of other processor types. However, support for Sparc or PowerPC or other systems is possible in the future. If you plan to submit code to the DragonFly project, please keep this in mind.\r
+\r
+# Hvordan kan jeg hjelpe til? \r
+\r
+Pick a topic that you enjoy and start working. Check the team page (http://www.dragonflybsd.org/about/team.cgi) to see if there are others interested in your topic, or ask around in the appropriate forum (http://www.dragonflybsd.org/main/forums.cgi). You can download the source (http://www.dragonflybsd.org/main/download.cgi) to the operating system and to the official site, and send patches in unified diff format (diff -uN) to 'submit at dragonflybsd.org' for review. Subscribe to that same submit mailing list/newsgroup (http://www.dragonflybsd.org/main/forums.cgi) to see feedback on your patches, and to find if they have been accepted or rejected. In addition, you can update the DragonFly Wiki (http://wiki.dragonflybsd.org).\r
+\r
+Note that you do not have to be a programmer in order to help. Evangelizing DragonFly and testing it on a variety of hardware, and reporting results can help a great deal. Try new features and report to the forums on your experiences.  Cleaning up /etc/rc.d only requires shell script experience, for instance, and there's always a need for better documentation.\r
+\r
+# Vil DragonFly bruke et dynamisk /dev filsystem, ala devfs? \r
+\r
+Planen er å beholde den eksisterende filsystemmodellen, men å fjerne behovet for minor/major numberering. Det er mulig at det blir en 'devd' prosses for å håndtere dynamisk hardware. Det er andre funksjoner som er viktigre enn dette før øyeblikket.\r
+\r
+# Hva er statusen på journaling fs / bakgrunns-fsck? Vi kan ikke vente... \r
+\r
+Matthew Dillon jobber med å få journaling på plass, les denne posten for mer info:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Eventuelt, les gjennom hele diskusjonen:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+DragonFly vil ikke ha background fsck.\r
+\r
+# Vil DragonFly bruke (sett inn navn her)-teknologien? \r
+\r
+Både ja og nei. Teknologiene må passe til den eksisterende planen som er beskrevet på websiden til prosjektet (http://www.dragonflybsd.org/goals/), og det er nok av problemer som må taes hånd av før 'ikke-så-viktige' prosjekter kan gjøres. Men, hvis du er villig til å arbeide på et prosjekt så kan det fortsatt gjøres. Forumene er en bra plass til å få tilbakemeldinger og finne andre mennesker som muligens er interessert i prosjektet ditt. Team-siden (http://www.dragonflybsd.org/about/team.cgi) er også en god plass å sjekke.\r
+\r
+# Hva er det korrekte på operativsystemet?  \r
+\r
+Operativsystemet er en BSD-variant, kalt "DragonFly". (Ja, det skal være stor F, som egentlig ikke er korrekt engelsk).\r
+\r
+# Mplayer-porten kan ikke bygges. \r
+\r
+Kopier (last ned) http://leaf.dragonflybsd.org/~joerg/mplayer.tgz til /usr/ports/multimedia og pakk ut filen. Gå tilbake til /usr/ports/multimedia/mplayer og kompiler med 'make install'. \r
diff --git a/docs/faq/FAQ-Polish.mdwn b/docs/faq/FAQ-Polish.mdwn
new file mode 100644 (file)
index 0000000..95d8d82
--- /dev/null
@@ -0,0 +1,93 @@
+           \r
+<<TableOfContents>>\r
+\r
+# Kilka słów o tym FAQ \r
+\r
+Możesz znaleźć kopię tego FAQ na oficjalnej witrynie DragonFly.\r
+Dodatkowo dostępna jest kopia na stronach wiki , która jest okresowo synchronizowana z oficjalnym FAQ.\r
+\r
+Możesz również znaleźć tłumaczenia na inne języki wymienione poniżej:\r
+English (Angielski) -\r
+Español (Hiszpański) -\r
+Français (Francuski) -\r
+(Włoski oczekuje) -\r
+Lietuviškai (Litewski) -\r
+Nederlands -\r
+Norweski -\r
+Русский (Rosyjski) -\r
+Svenska (Szwedzki).\r
+\r
+# Czy DragonFly jest gotowy do zastosowań produkcyjnych? \r
+\r
+Tak. Pewna liczba osób używa DragonFly w zastosowaniach produkcyjnych.\r
+Generalnie DragonFly jest szybkim i stabilnym systemem operacyjnym.\r
+Ponieważ ciągle korzysta z systemu portów FreeBSD dla zewnętrznego oprogramowania, część portów może nie działać prawidłowo.\r
+Zapraszamy do częstego odwiedzania forów dyskusyjnych.\r
+Sprawdź witrynę forów dyskusyjnych (http://www.dragonflybsd.org/main/forums.cgi) by się dowiedzieć, jak uzyskać do nich dostęp.\r
+Aktywna społeczność pracuje nad tym, by wszystko działało prawidłowo.\r
+Tak jak w wielu projektach open source, jeśli dasz znać o problemach lub błędach które zauważyłeś, zwiększasz szansę na to, że ktoś je poprawi.\r
+\r
+# Jakie są planowane możliwości następnego wydania? \r
+\r
+Wątkowanie w userlandzie oraz nowy system pakietów, połączone z usuwaniem blokady z wieloprocesowości (znany jako Big Giant Lock) odziedziczony z FreeBSD-4. Dodatkowo, planujemy  zaimplementować asynchroniczne powiadamianie wywołań systemowych (system call messaging), i wątkowany VFS.\r
+\r
+Aby wiedzieć więcej na temat DragonFlyBSD, miej oczy otwarte na pamiętnik (http://www.dragonflybsd.org/status/diary.cgi) Matthewa Dillona, DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), DFWiki, oraz listy dystrybucyjne i grupy dyskusyjne (http://www.dragonflybsd.org/main/forums.cgi) DragonFly.\r
+\r
+# Czy jest gałąź zorientowana na stabilność, taka jak -STABLE z FreeBSD? \r
+\r
+Jeszcze nie. We intend to emplace most major features on our goals list before we start branching. We do not yet have the development resources required to maintain multiple branches. However, we do have a "DragonFly_Preview" tag (used to be "DragonFly_Stable") which users can synchronize to instead of HEAD. It is just a floating tag indicating a 'reasonably stable point' in development i.e. where the buildworld / buildrelease / buildkernel sequence is likely to work and not producing something that is unusable or too buggy. Keep in mind that "DragonFly_Preview" is a just another tag, so it's not like *BSD's -STABLE. You can use this cvsup config file (http://www.dragonflybsd.org/main/dragonfly-preview-supfile) obtaining source tagged "DragonFly_Preview" via cvsup.\r
+\r
+# Dostaję śmieci na ekranie, kiedy startuje system albo nie mogę zatrzymąc początkowego boot menu. \r
+\r
+W DragonFly, kiedy startuje, dane wychodzą na monitor i port szeregowy. Jeśli startująca maszyna posiada 'hałaśliwe' urządzenie podłączone do portu szeregowego, może ono przeczytać dane z niego podczas procesu startu. Aktywacja portów szeregowych podczas startu może być wyłączona przez stworzenie pliku /boot.config z zawartością: '-V'\r
+\r
+# Nie mogę zainstalować XFree86-4 z portów; zapętla się. \r
+\r
+Upewnij się, że masz zastępcze dfports dla XFree86-4-libraries na maszynie z DragonFly, i zainstaluj ten port. Metaport XFree86-4 powinien zainstalować się poprawnie po tej operacji. Albo, zainstaluj paczkę jako root: 'pkg_add -r XFree86'. Użycie 'pkg_add -r nazwa_paczki' często działa, jeśli port się nie buduje.\r
+\r
+# Jak mogę przyspieszyć proces kompilacji źródeł? \r
+\r
+Możesz użyć "make quickworld" zamiast "make buildworld". Używa to już istniejących narzędzi na dysku i przyspiesza czas kompilacji znacząco. Dla jądra systemu użyj "make quickkernel".\r
+\r
+# Jednak "make quickworld/quickkernel" nie działa! \r
+\r
+Spróbuj "make buildworld" lub "make buildkernel".\r
+\r
+# Co będzie używane do instalowania innych aplikacji? (czy porty, RPM, apt-get, itp.) \r
+\r
+Obecnie, DragonFly używa istniejących portów z FreeBSD4, z lokalnych zastępstwami specyficznymi dla DragonFly zlokalizowanymi w dfports (domyślna lokalizacja /usr/dfports). dfports działają tak samo jak porty - możesz je aktualizować przez cvsup.\r
+DragonFly jest też oficjalnie wspierany przez pkgsrc (http://www.pkgsrc.org - system paczek podobny do portów FreeBSD), istnieje także wiele prekompilowanych paczek binarnych. Dla krótkiego wprowadzenia przejrzyj pkgsrc HOWTO. W przyszłości, DragonFly będzie miał system portów własnej roboty, używając mechanizmów VFS, które nie są jeszcze kompletne w czasie pisania tego tekstu. By dowiedzieć się wiecej, sprawdź opis pakietowania (http://www.dragonflybsd.org/goals/packages.cgi).\r
+\r
+# Jakie architektury wspiera DragonFly? \r
+\r
+DragonFly aktualnie skupiony jest na linii procesorów x86&nbsp;; powinien działać na 386 i nowszych, jednak 386 raczej nie polecamy. Pracujemy również na wsparciu dla nowych 64-bitowych procesorów AMD. Nie ma aktualnie żadnych planów by wspierać inne typy procesorów. Jednakże, wsparcie dla Sparc lub PowerPC lub innych systemów jest wielce prawdopodobne w przyszłości. Jeżeli planujesz przesyłać poprawki do projektu DragonFly, miej to proszę na uwadze.\r
+\r
+# Jak mogę wspomóc proces rozwijania? \r
+\r
+Wybierz zagadnienie które cię interesuję i zacznij pracować. Sprawdź team page (http://www.dragonflybsd.org/about/team.cgi) by sprawdzić, czy ktoś inny jest również zainteresowany tym zagadnieniem, albo zapytaj na właściwym forum (http://www.dragonflybsd.org/main/forums.cgi). Możesz pobrać kod źródłowy (http://www.dragonflybsd.org/main/download.cgi) systemu operacyjnego oraz oficjalnej strony, a następnie wysłać poprawki w standardowym formacie diff (diff -uN) na adres 'submit at dragonflybsd.org' do przeglądu. Zapisz się na tą grupę dyskusyjną (http://www.dragonflybsd.org/main/forums.cgi) by zobaczyć opinie o swoich łatkach, oraz żeby się dowiedzieć, czy zostały zaakceptowane, czy odrzucone. Możesz również aktualizować serwis DragonFly Wiki.\r
+\r
+Zwróć uwagę, że nie musisz być programistą aby ofiarować swoją pomoc. Ewangelizacja DragonFly oraz testowanie go na różnych platformach sprzętowych, informowanie o efektach (bądź ich brakach) może nam bardzo pomóc. Spróbuj nowych właściwości i daj znać na forum o swoich doświadczeniach.  Oczyszczanie /etc/rc.d wymaga jedynie znajomości językó skryptowych, dla przykładu, oraz zawsze jest zapotrzebowanie na lepszą dokumentację.\r
+\r
+# Czy DragonFly używa dynamicznego systemu plików /dev, takiego jak devfs? \r
+\r
+Bieżace plany zakładają utrzymanie istniejącego modelu systemu plików, z usunięciem numerowania nadrzędny/podrzędny. Możliwe, że będzie proces 'devd' obsługujący dynamiczne urządzenia. Są inne funkcje do ukończenia, zanim się za to zabierzemy.\r
+\r
+# Jaki jest stan księgowania systemu plików / fsck w tle? Nie możemy czekać... \r
+\r
+Matt pracuje nad księgowaniem, ale byćmoże chciałbyś przeczytać poniższy post:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Albo przebrnąć przez cały wątek:\r
+http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Czy DragonFly używa technologii (wstaw tutaj nazwę)? \r
+\r
+Tak i nie. Funkcje muszą zgadzać się z bieżącym planem przedstawionym na tej witrynie, a jest wiele już istniejących problemów do rozwiązania, zanim zostaną zrobione 'zbędne' rzeczy. Jednak, jeśli chciałbyś ofiarować swoją pomoc, jest bardzo prawdopodobne, że się to uda. Fora dyskusyjne są wspaniałym miejscem do uzyskania pomocy oraz do znalezienia innych ludzi, którzy mogliby być zainteresowani twoją propozycją. Team page (http://www.dragonflybsd.org/about/team.cgi) jest miejscem, które również warto odwiedzić.\r
+\r
+# W jaki sposób prawidłowo nazwać ten system operacyjny? \r
+\r
+To klon BSD, zwany DragonFly. Zwróć uwagę na dużą literę F, która nie występuje w oryginalnym angielskim słowie 'dragonfly'.\r
+\r
+# Kompilacja portu Mplayera  nie działa \r
+\r
+Skopiuj plik http://leaf.dragonflybsd.org/~joerg/mplayer.tgz do twojego folderu /usr/ports/multimedia i rozpakuj go. Wróć do katalogu /usr/ports/multimedia/mplayer i skompiluj go używająć 'make install'. \r
diff --git a/docs/faq/FAQ-Romanian.mdwn b/docs/faq/FAQ-Romanian.mdwn
new file mode 100644 (file)
index 0000000..d477e92
--- /dev/null
@@ -0,0 +1,69 @@
+# Despre acest FAQ \r
+\r
+O copie a acestui FAQ se poate gasi pe site-ul oficial DragonFly BSD (http://www.dragonflybsd.org). In plus, mai exista pe wiki o copie care este sincronizata periodic cu FAQ-ul oficial.\r
+\r
+Se mai pot gasi traduceri il alte limbi in locatiile urmatoare: Dansk (Daneza) - Deutsch (Germana) - Español (Spaniola) - Français (Franceza) - Italiano (Italiana) - Lietuviškai (Lituaniana) - Magyar (Maghiara) - Nederlands (Olandeza) - Norwegian (Norvegiana) - Polski (Poloneza - incompleta) - Русский (Rusa) - Svenska (Suedeza) - Ukrainian ( Ucrainiana - incomplet).\r
+\r
+# Este DragonFly pregatit pentru a fi pus in productie? \r
+\r
+Yes. A number of people are using it in production. DragonFly is generally stable and speedy at this point. As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.pkgsrc.org) for third-party software. pkgsrc contains over 5500 packages and is supported on several different platforms from Linux to AIX. You are advised to keep a close eye on the forums. Check the forums page (http://www.dragonflybsd.org/main/forums.shtml) to find out on how to get access. We have an active community that are working on keeping things working. As in any open source project, if you find problems reporting them increases the chance that someone can fix it.\r
+\r
+# What are the potential goals for the next release? \r
+\r
+Multiprocessor-safe networking without the Big Giant Lock, a cache coherency management system, and the importation of Sun's ZFS (http://www.opensolaris.org/os/community/zfs/). See Matthew Dillon's post (http://leaf.dragonflybsd.org/mailarchive/kernel/2005-12/msg00040.html) for more details.\r
+\r
+For DragonFly news and events, keep an eye on Matthew Dillon's diary (http://www.dragonflybsd.org/status/diary.shtml), the DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), the DragonFly Wiki, and the DragonFly mailing lists/newsgroups (http://www.dragonflybsd.org/main/forums.shtml).\r
+\r
+# Is there a branch oriented towards stability, like the FreeBSD's -STABLE? \r
+\r
+We have a -RELEASE tag which is considered to be fairly stable.\r
+\r
+# I get garbage on the screen when I boot or I can't seem to pause at the initial boot menu. \r
+\r
+DragonFly, when booting, outputs to both video and serial ports. If the booting computer has a 'noisy' serial device connected, it may read data from it during the boot process. Serial console activation during boot can be disabled by creating the file /boot.config with the contents: '-V'\r
+\r
+# How can I speed up my build process? \r
+\r
+You can use make quickworld instead of make buildworld. This reuses existing tools on disk and speeds this step up considerably. For the kernel there is a similar quickkernel target.\r
+\r
+# But make quickworld/quickkernel fails! \r
+\r
+Try make buildworld or buildkernel instead.\r
+\r
+# What is used to handle third-party applications? (like ports, RPM, apt-get, etc.) \r
+\r
+As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.pkgsrc.org) for third-party applications. pkgsrc is a packaging system much like FreeBSD ports, and there are many pre-built packages available. For a quick guide see the pkgsrc HOWTO. Eventually, DragonFly will have a homegrown port system, using the VFS mechanisms that are as of this writing not complete yet. For more information, check the specifications for the ideal package management system (http://www.dragonflybsd.org/goals/packages.shtml).\r
+\r
+# What architectures does DragonFly support? \r
+\r
+DragonFly is currently targeted at the x86 line of processors; it should work on 386 and up, though a 386 is certainly not recommended. Work is also being done on support for the new 64-bit processors from AMD. There are currently no plans for support of other processor types. However, support for Sparc or PowerPC or other systems is possible in the future. If you plan to submit code to the DragonFly project, please keep this in mind.\r
+\r
+# How can I contribute? \r
+\r
+Pick a topic that you enjoy and start working. Check the team page (http://www.dragonflybsd.org/about/team.shtml) to see if there are others interested in your topic, or ask around in the appropriate forum (http://www.dragonflybsd.org/main/forums.shtml). You can download the source (http://www.dragonflybsd.org/main/download.shtml) to the operating system and to the official site, and send patches in unified diff format (diff -uN) to 'submit at dragonflybsd.org' for review. Subscribe to that same submit mailing list/newsgroup (http://www.dragonflybsd.org/main/forums.shtml) to see feedback on your patches, and to find if they have been accepted or rejected. In addition, you can update the DragonFly Wiki.\r
+\r
+Note that you do not have to be a programmer in order to help. Evangelizing DragonFly and testing it on a variety of hardware, and reporting results can help a great deal. Try new features and report to the forums on your experiences. Cleaning up /etc/rc.d only requires shell script experience, for instance, and there's always a need for better documentation.\r
+\r
+# Will DragonFly use a dynamic /dev filesystem, as in devfs? \r
+\r
+Current plans are to keep the existing filesystem model, with the removal of minor/major numbering. There may be a 'devd' process to handle dynamic devices. There are other features to complete first before this is tackled.\r
+\r
+# What is the state of journaling fs / background fsck? We cannot wait... \r
+\r
+Matt is working on journaling, but you may want to read this post: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html\r
+\r
+Or just go through the whole topic: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html\r
+\r
+# Will DragonFly use (insert name here) technology? \r
+\r
+Yes and no. Features must match the existing plan outlined on the site here, and there's plenty of existing problems to solve before 'nonessential' work can be done. However, if you are willing to work on it, it probably can be done. The forums are an excellent place to get feedback and to find others that may be interested in your topic. The team page (http://www.dragonflybsd.org/about/team.shtml) is also a good place to check.\r
+\r
+# What's the correct way to name this operating system? \r
+\r
+It's a BSD variant, called DragonFly. Note the capitalization on the F, which isn't proper English.\r
+\r
+# Should ldconfig_path be updated in /etc/defaults/rc.conf to include support for pkgsrc? \r
+\r
+No. pkgsrc links everything with -rpath so all binaries should carry the correct paths already. If it breaks it's broken.\r
+\r
+[Yugioh English]\r
diff --git a/docs/faq/FAQ-Russian.mdwn b/docs/faq/FAQ-Russian.mdwn
new file mode 100644 (file)
index 0000000..18fbd56
--- /dev/null
@@ -0,0 +1,58 @@
+## page was renamed from RussianFAQ\r
+Об этом FAQ\r
+\r
+Это перевод оригинального FAQ по операционной системе DragonFly BSD (http://www.dragonflybsd.org)\r
+\r
+Вы так же можете найти переводы на другие языки по этим адресам: English (Английский) - Español (Испанский) - Polski (Польский) - Lietuviškai (Литовский).\r
+\r
+# Готова ли DragonFly к промышленному использованию? \r
+DragonFly на данный момент достаточно быстра и стабильна. В DragonFly для установки дополнительного ПО до сих пор используется коллекция портов FreeBSD, и некоторые порты могут собираться неправильно. Советуем вам внимательно следить за сообщениями на форумах (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# Какие цели будут возможно достигнуты в следующей версии? \r
+Потоки в пользовательских процессах, новая система пакетов, а также удаление мультипроцессорных блокировок (известных как Big Giant Lock), унаследованных из FreeBSD-4 . Вдобавок к этому, мы планируем реализовать передачу асинхронных системных вызовов и потоковую виртуальную файловую систему (VFS).\r
+\r
+Чтобы быть в курсе самых последних новостей и событий, касающихся DragonFly, следите за дневником (http://www.dragonflybsd.org/status/diary.cgi) Мэтью Диллэна, логом DragonFly BSD (http://www.shiningsilence.com/dbsdlog/), [wiki.dragonflybsd.org|DragonFly Wiki] и списками рассылки/группами новостей (http://www.dragonflybsd.org/main/forums.cgi).\r
+\r
+# Существует ли ветка, ориентированная на стабильность, как -STABLE в FreeBSD? \r
+Есть тег -RELEASE который считается достаточно стабильным\r
+\r
+# При загрузке у меня на экране появляется всякий мусор или Кажется, я не могу задержаться меню начальной загрузки. \r
+При загрузке DragonFly осуществляет вывод как на видео порт, так и на последовательный порт. Если к загружающемуся компьютеру через последовательный порт подключено "шумящее" устройство, то оно может считывать данные в процессе загрузки. Активация последовательной консоли может быть отключена посредством создания файла /boot.config с содержимым: "-V".\r
+\r
+# Как я могу ускорить процесс сборки системы? \r
+Вы можете использовать make quickworld вместо make buildworld. При этом используются имеющиеся на диске инструменты и процесс сборки значительно ускоряется. Для ядра можно использовать make quickkernel.\r
+\r
+# Но make quickworld завершается с ошибкой! \r
+Попробуйте вместо этого make buildworld или make quickkernel.\r
+\r
+# Что будет использоваться для управления сторонним программным обеспечением? (порты, RPM, apt-get и т.д.) \r
+C версии 1.4 DragonFly использует pkgsrc (pkgsrc.org)\r
+\r
+TODO: перевести pkgsrc is a packaging system much like FreeBSD ports, and there are many pre-built packages available. For a quick guide see the pkgsrc HOWTO. Eventually, DragonFly will have a homegrown port system, using the VFS mechanisms that are as of this writing not complete yet. For more information, check the specifications for the ideal package management system (http://www.dragonflybsd.org/goals/packages.shtml).\r
+\r
+pkgsrc - это система пакетов, напоминающая FreeBSD ports. Также доступно множество заранее откомпилированных пакетов. Подробнее об этом написано в pkgsrc HOWTO. Планируется, что в конечном счете у DragonFly будет своя собственная система портов, задействующая механизм VFS, которая на данный момент еще не готова. Для того, чтобы получить более полное представление взгляните на "спецификации идеальной системы управления пакетами" (http://www.dragonflybsd.org/goals/packages.shtml).\r
+\r
+# Какие архитектуры поддерживает DragonFly? \r
+На данный момент DragonFly нацелена на x86-ю линейку процессоров; она должна работать на i386 и выше, однако использовать i386 не рекомендуется. Также закончена работа по поддержке 64-битных процессоров AMD. Пока нет планов портировать систему на другие архитектуры. Однако в будущем возможна поддержка для Sparc, PowerPC или других систем. Если вы планируете предоставлять код проекту DragonFly, имейте это ввиду.\r
+\r
+# Как я могу помочь? \r
+Выбираете интересную для вас область и начинайте работать. Загляните на страницу команды (http://www.dragonflybsd.org/main/team.cgi), чтобы узнать, не заинтересовался ли этой темой кто-нибудь ещё, или задавайте вопросы на соответствующем форуме (http://www.dragonflybsd.org/main/forums.cgi). Вы можете загрузить себе исходные коды (http://www.dragonflybsd.org/main/download.cgi) как операционной системы, так и сайта, и присылать патчи в унифицированном формате diff (diff -uN) по адресу 'submit at dragonflybsd.org' для рассмотрения. Подпишитесь на почтовую рассылку/новостную группу (http://www.dragonflybsd.org/main/forums.cgi) 'submit' для того, чтобы узнавать отзывы о ваших патчах и о том, приняты они, или отвергнуты. В добавок ко всемы, вы можете обновлять [DragonFly|Wiki](http:/wiki.dragonflybsd.org)\r
+\r
+Вам не обязательно быть программистом для того, чтобы оказывать помощь: вы можете рассказывать о системе другим людям, или проводить её тестирование на различном аппаратном обеспечении, информируя разработчиков о полученных результатах. Это тоже огромная помощь с вашей стороны. Пробуйте новые возможности и делитесь своим опытом. Если вы хорошо разбираетесь в shell-скриптах, то, возможно, вам захочется улучшить те, что находятся в /etc/rc.d. Расширение страниц руководства также является постоянной и необходимой задачей.\r
+\r
+# Будет ли DragonFly использовать динамическую файловую систему /dev, как devfs? \r
+Текущие планы состоят в сохранении существующей модели файловой системы с устранением нумерации старший/младший номер устройства. Возможно, будет процесс devd для работы динамических устройств. Есть другие задачи, которые необходимо решеить перед тем