Software-update: DragonFly BSD 1.12.0

Wie denkt aan een BSD-besturingssysteem zal denken aan een van de drie bekende varianten: FreeBSD, OpenBSD of NetBSD. Er zijn echter nog diverse andere BSD-versies, zoals PC-BSD en DragonFly BSD. Deze laatste is een afsplitsing van FreeBSD 4.8, die rond juni 2003 is onstaan omdat Matthew Dillon, de projectleider van DragonFly BSD, het destijds oneens was met de gekozen ontwikkelstrategie en de aandachtsgebieden van FreeBSD 5. Voor een overzicht van zijn doelstellingen voor DragonFly BSD kan je deze pagina doorspitten. DragonFly BSD 1.12.0 is sinds kort beschikbaar en is over de gehele linie verbeterd. De aankondiging en lijst met veranderingen zien er als volgt uit:

DragonFly 1.12 Released!

Hello everyone! We are happy to say that the 1.12 release is now available! This release is primarily a maintainance update. A lot of work has been done all over the kernel and userland. There are no new big-ticket items though we have pushed the MP lock further into the kernel.

The 2.0 release is scheduled for mid-year.

Of the current big-ticket item work, the new HAMMER filesystem is almost to the alpha stage of development and is expected to be production ready by the mid-year 2.0 release.


Kernel changes:
  • Support for the 386 CPU was abandoned.
  • Added the Hardware sensors framework. Ported from OpenBSD via FreeBSD Google SoC port. This framework retrieves motherboard information such as fan speed, temperature, and voltage via sysctl.
  • Major work on ipfw2, switch ipfw from ipfw1 to ipfw2.
  • Sync the ACPI code with recent changes from FreeBSD.
  • Syscall and trap entry code run MPSAFE by default now (most syscalls still get the MP lock when they hit the I/O path, though).
  • Fix memory leak in execve()
  • Many LWP related issues cleaned up.
  • Add support to CAM for 16-byte read and write commands.
  • Major update of the CAM code.
  • kmalloc() use cases cleaned up.
  • Updated rxcsum/txcsum offload support for network drivers.
  • mbuf leak fixed. Some use-after-free cases in if_ethersubr.c have been fixed.
  • Greatly simplify the vnode_pager*() code.
  • The kernel (and virtual kernel) now saves and restores the FP state for signal stack frames. Related libc_r hacks have been removed.
  • Ownership check added when dumping core (security fix).
  • Fix a possible weakness in the random number generator.
  • Fix a weakness in the 'random' IP sequence number generator and turn random IP id's on by default.
  • Correct a cpu routing bug in the TCP stack.
  • Power management updates.
  • Adjust getdirentries to support 64 bit directory position cookies. Also adjust libc. Unconditionally use seek (with its 64 bit offset range).
  • Add pselect() syscall.
  • Fix an objcache bug, improving objcache performance.
  • Numerous security related sysctls have been moved to a new sysctl category called 'security'.
Hardware changes:
  • Add SATA ATAPI support for AHCI controllers.
  • Update the agp code to the latest one from FreeBSD HEAD. This brings in a lot of newer hardware support.
  • Add several drivers for sensorsd: coretemp driver for Intel Core on-die digital thermal sensor from FreeBSD and lm and it drivers for hardware sensors used in many motherboards.
  • Major sound system update. Added drivers, IDs, and fixes from FreeBSD.
  • AGP support greatly improved, changes primarily taken from FreeBSD.
  • Sync the bktr driver with FreeBSD.
Hardware changes (Networking):
  • Add experimental bluetooth stack.
  • Add many new network adapter IDs.
  • Many network drivers updated & improved.
  • Import msk from FreeBSD which supports the Marvell Yukon II based NICs (both GE and FE).
  • Add et which supports Agere ET1310 based Ethernet chips (PCIe only).
  • Add support for newer devices used with ICH9 chipset motherboards.
  • 802.11 support greatly improved.
Hardware changes (USB):
  • Add many new USB device IDs.
  • Ported uftdi.
  • USB device attachment sped up considerably.
  • Geode companion support added to OHCI probe code.
  • ISA attachment for Adaptec 284X controllers and other significant aic7xxx work.
  • Improved reliability for high speed USB modems
  • Improved operation for USB based CD/DVD writers.
  • Improved operation of USB based serial devices.
  • Add moscom from OpenBSD, supporting MosChip based serial adapters.
  • Add uark from OpenBSD, supporting Arkmicro tech serial adapters.
  • Add uchcom from NetBSD. A driver for WinChipHead CH341/CH340 chips.
  • Add uslcom from OpenBSD, supporting Silicon Laboratories serial USB.
  • Add uticom driver for Texas Instruments TUSB3410 USB to serial chips.
Userland changes:
  • Switch to gcc41 (4.1.x) as the default compiler. gcc 3.4.x is still available via 'setenv CCVER gcc34'. Scrap binutils 215.
  • libthread_xu is now the default threading library for the userland.
  • Threading-related header files moved out of emulation/posix4 and into sys.
  • Add pkg_search to the base system. pkg_search queries the pkgsrc index for a given package name and display the results.
  • Add pkg_radd. pkg_radd acts as a wrapper for pkg_add and install binary pkgsrc packages.
  • Add a pkg_search script to simplify pkgsrc searches.
  • Add getent() from FreeBSD which retrieves and displays entries from the administrative database like passwd.
  • Add pam_nologin from FreeBSD.
  • Add bluetooth libraries and various Bluetooth tools to configure and manipulate Bluetooth devices. btconfig, bthcid, btpin, sdpd, sdpquery, and rfcomm_sppd. Mostly from NetBSD.
  • Fix minor bugs in hog partition ('*') specifications in disklabel.
  • Add /usr/Makefile containing easy-to-use targets for users to install and maintain DragonFly source and pkgsrc subtrees.
  • traceroute can now handle MPLS reporting.
  • Many documentation updates.
  • DPMS support added to the vesa console module.
  • Allow VESA mode numbers > 512.
  • Add lldiv_t, lldiv(), llabs(), imaxdiv() to libc.
  • Update the 'at' command.
  • Switch from libreadline to libedit.
  • vnconfig enhanced.
  • kdump enchanced to output more human readable information by default, from FreeBSD.
  • ARCnet, FDDI and Token Ring support was removed.
  • The fla driver was removed. It's known to be buggy, supports very limited set of obsolete devices with limited set of firmware versions, is removed from FreeBSD more than 3 years ago and is not supported any more more than 4 years.
  • Remove nv driver, it is replaced by nfe.
  • xntpd removed. dntpd is now our official client-side ntpd.
  • acxcontrol removed. Firmware files have been automated (see man acx).
  • The ray driver was removed. raycontrol removed.
  • wicontrol was removed. ifconfig has taken over most of its functionality.
Contributed Software:
  • less was updated to version 416
  • libarchive was updated to version 2.4.8
  • libpcap was updated to version 0.9.8
  • OpenSSL was updated to version 0.9.8g
  • OpenSSH was updated to version 4.7p1
  • sendmail was updated to version 8.14.2
  • tcpdump was updated to version 3.9.8
  • tcsh was updated to 6.15.00
  • zoneinfo database was synced with tzdata2007k (merged to DragonFly 1.10)
  • bind was updated to 9.3.4-P1
  • diffutils was updated to 2.8.7
  • sync libfetch with FreeBSD
  • wpa_supplicant and hostapd were updated to version 0.5.8 (for 802.11)
  • gcc was updated to 4.1.x
  • gdb was updated to 6.7.1
  • file was updated to 4.23
  • libevent was updated to 1.3e
Sub-project progress report:
  • Progress has been made on making more of the kernel MP safe. The network path has a good chance of getting there by the end of the year. The I/O path still needs a lot of work.
  • A great deal of 64-bit support infrastructure has been brought in but 64-bit isn't operational yet.
  • The HAMMER filesystem is not quite alpha yet, but well on its way.
  • DMA introduced - currently in an alpha state. This subsystem will provide local mail delivery and simple outgoing/smarthost mail delivery and allow us to remove sendmail from base.
Versienummer 1.12.0
Releasestatus Final
Website DragonFly user list
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Japke Rosink


29-02-2008 • 16:23

15 Linkedin

Submitter: Anoniem: 84120

Bron: DragonFly user list

Reacties (15)

Wijzig sortering
Ik vind het een beetje raar dat hij niet verder wilt werken aan FreeBSD omdat hij tak 5.X niet goed vind. Vervolgens een eigen Distributie start genaamt DragonFly BSD. En daarna alle drivers en onzin steelt van FreeBSD?

Rare mentaliteit....
Hij kan moeilijk helemaal opnieuw beginnen hé? Dat haalt hij nooit op. Het is ook niet zo dat hij niet tevreden was met FreeBSD, hij was ontevreden over waar iedereen ermee naartoe wilde, welke aanpassingen die ze gingen aanbrengen in de 5.x tak enz. Dus is het logisch dat hij de code van FreeBSD neemt die hij wel goed vind en er zijn eigen gedacht op doorzet denk ik...
da's helemaal niet raar, da's juist precies de geest waarin BSDs ontwikkeld worden :)
100% open licenties enzo... dit is BSD ten top.
Volgens mij is er nog steeds nauwe samenwerking tussen de FreeBSD en Dragonfly ontwikkelaars. Dragonfly houdt zich veel bezig met security waar FreeBSD ook weer dingen van implementeert. Het is een oplossing waardoor beiden hun eigen ontwikkelmethoden en ideeen kunnen blijven toepassen zonder meningsverschillen die in de weg staan en de boel afremmen.
"Ik vind het een beetje raar dat hij niet verder wilt werken aan FreeBSD omdat hij tak 5.X niet goed vind"
Waarom is dat raar? En de redenen die hij had waren gewoon goed (los van of hij gelijk had of niet). Hij was het principieel niet eens met de richting eens die FreeBSD opging (en naar later bleek was zijn kritiek wel enigzins correct), en dan is het niet vreemd om ergens niet meer verder aan te willen werken, zeker niet als je het in je eigen tijd doet.
"Vervolgens een eigen Distributie start genaamt DragonFly BSD. "
Dragonfly BSD is geen distributie, het is een OS. Groot verschil :-)
"En daarna alle drivers en onzin steelt van FreeBSD?"
Forken is niet stelen.

No offence, maar voordat je met zo'n oordeel komt, moet je je wel enigzins verdiepen in hetgene waar het over gaat.

[Reactie gewijzigd door Klaus_1250 op 29 februari 2008 17:19]

Dit is niet de eerste *BSD die ontstaan is omdat men het niet eens was (of kon worden) met de bestaande *BSD besturingssystemen.

Zo is vanuit NetBSD het OpenBSD besturingssysteem ontstaan, waarbij OpenBSD zich ging richten op veiligheid 'out of the box'. NetBSD daarentegen had (en heeft) als credo 'Of course it runs NetBSD', waarmee men aan wil geven dat men NetBSD zo ontworpen heeft dat het gemakkelijk naar een andere hardware architectuur kan poorten* - zo is er zelfs een broodrooster met NetBSD.

Tussen de verschillende *BSD varianten wordt er ook aardig wat code uitgewisseld, zo is het 'ports' systeem van FreeBSD overgenomen door OpenBSD en NetBSD (hoewel het hier om praktische redenen 'packages heet). Ook is bijvoorbeeld de opstartprocedure van NetBSD (de rc-scripts dus) overgenomen door de andere *BSD's.

*: Door dit redelijk cleane ontwerp is NetBSD dan ook gepoort naar de meeste hardware architecturen, voor ieder OS - inclusief Linux-based OS'en en dat ondanks dat de Linux wereld een stuk groter is...
NetBSD is meer gericht op het schrijven van schone en goede code waardoor ze ook al gauw dingen als security en portabiliteit mee nemen. Dat is dan ook eerder de reden waarom het voor zoveel platformen beschikbaar is. OpenBSD heeft vergelijkbare doelen maar richt zich net wat meer op de security kant (wat ook erg goed te merken is aangezien ze nogal prominent op de site hebben staan hoeveel remote holes ze hebben in hun default install). Er zit echter veel overlap tussen alle BSD varianten maar dat komt ook omdat er erg veel van elkaars code gebruik wordt gemaakt (bijv. pf van OpenBSD). Die mate zie je niet bij Linux.

[Reactie gewijzigd door ppl op 29 februari 2008 23:18]

NetBSD (en overigens ook DragonFlyBSD) gebruiken pkgsrc, wat wel op een vergelijkbare manier werkt als ports, maar verder een apart stuk code is. Pkgsrc is ontworpen voor portabiliteit, en draait dan ook op veel meer dan alleen NetBSD en DragonFlyBSD, zoals IRIX of Interix (Microsoft Services for UNIX).

Overigens is het volgens mij al een tijdje zo dat Linux op meer 'architecturen' draait, waarbij je architecturen als ISAs moet zien.

Het versienummer is 1.12, waar komt die 1.12.0 vandaan?

[Reactie gewijzigd door TGEN op 29 februari 2008 23:31]

heb o.a. bij wiskunde geleerd dat versie 1 zelfde is als versie 1.0 ;-) (de nul mocht immers weggelaten worden)
Versienummers zijn geen floating point getallen maar dotted integers (cf. IPv4 adressen).
Is dit dan een *nix distro bedoelt als desktop, of als server?
(ik begin namelijk een beetje nieuwschierig te worden naar *BSD :) )
Het is geen distro, maar een OS, zoals GNU/Linux :-) Distro-like *BSD-pakketten zijn PC-BSD en DesktopBSD (beide gebasseerd op FreeBSD).

Meeste *BSD's zijn geschikt voor zowel desktop als server. Omdat ze vooral in de laatste categorie worden gebruikt, zie je dit ook wel terug in de ontwikkeling. Er is wat minder ondersteuning voor bijvoorbeeld hardware die je vooral op desktops terugziet, alhoewel dat de laatste tijd toch wel meer aandacht heeft gekregen.
Dit is geen van beide :+
BSD is nog een andere tak die ontstaan is uit UNIX, dus niet uit Linux, maar ernaast. Een voorbeeld van een besturingssysteem dat redelijk "populair" is (gebaseerd op BSD) is niets minder dan Apple's OSX. De kernel (Darwin) komt van BSD, de GUI is door Apple zelf gemaakt.

Maar goed, BSD is dus een OS dat zich voornamelijk richt op stabiliteit (en dus in de eerste plaats op servers).
eerlijk gezegd kon ik het ook niet vinden bij de goals. er staan allemaal specifieke doelen voor 'bsd'. maar het woord server of desktop komen alle twee niet voor op de 'goals' pagina
Gebruikt iemand dit? En zo ja, voor welke toepassing(en)?

Naar mijn idee hebben alle BSD varianten een speciaal aandachtsgebied, bv veiligheid, netwerkserver, portability enz. Klopt dit, of zit ik er gewoon helemaal naast?

Op dit item kan niet meer gereageerd worden.

Kies score Let op: Beoordeel reacties objectief. De kwaliteit van de argumentatie is leidend voor de beoordeling van een reactie, niet of een mening overeenkomt met die van jou.

Een uitgebreider overzicht van de werking van het moderatiesysteem vind je in de Moderatie FAQ

Rapporteer misbruik van moderaties in Frontpagemoderatie.

Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack,, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.


Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details


    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details