Вышел очередной релиз форка FreeBSD 4.x с улучшенной, по-мнению авторов проекта, реализацией поддержки SMP-систем. Самой заметной для пользователя вещью в этом релизе станет реорганизованная и улучшенная поддержка беспроводных адаптеров IEEE-802.11. Также наметился значительный прогресс по удалению кусков кода с giant lock, что в свою очередь поможет в будущем реализовать такие вещи как виртуальные файловые системы в пользовательском окружении и кластеризацию. Home_http://www.dragonflybsd.org/ Downloads (~93,9 Mb)_http://chlamydia.fs.e...6.0_REL.iso.gz
de1ay, 1.02.2007 - 8:20
DragonFly BSD 1.8
Установочный диск сочетает в себе LiveCD, т.е. позволяет загрузить рабочий вариант DragonFly BSD 1.8 без установки на жесткий диск. Новая система инсталляции поддерживает режим управления установкой через web-интерфейс на удаленной машине. Другая полезная функция - встроенный механизм установки по сети (загружаем установочный CD на одной машине и устанавливаем систему по сети на другой).
Главное новшество релиза - поддержка виртуализации (технология виртуальных ядер - VKERNEL, запускаемых как пользовательский процесс).
Кроме того, можно отметить следующие новшества: # Полностью переписан код NULLFS (mount_null); # Поддержка IPv6 в jail и возможность установки нескольких IP для одного jail. # Большое число новых драйверов; # Новая инфраструктура поддержки оборудования для работы в беспроводных сетях; # Перенос кода для работы с USB из FreeBSD 6; # Компилятор по умолчанию теперь GCC 3.4;
» Детальный changelog «
A more complete list is included below. We consider 1.8 to be more stable then 1.6.
* Implement Virtual Kernel support and add a VKERNEL target. Virtual kernels are run as userland processes and provide a complete (minus hardware drivers) working kernel environment. A simulated disk driver is included and a simulated network driver using the TAP interface is included, allowing network access. See the vkernel(7) manual page for more information. * Jails are now IPv6 aware and support multiple IP addresses. * Bridging support has been greatly improved. * Many, many new network drivers and chipsets have been added. * Major infrastructure for 802.x wireless support added (WPA, TX rate control, major API layer for all wireless network devices, better ifconfig integration, and more). * The cpdup program has been greatly enhanced and now supports remote copies via ssh. * Introduce getcontext(3), setcontext(3), and friends * Improved support for old-style disklabels. * Kernel sources are now included on release CDs. * Major rewrite of the vnode operations infrastructure, greatly simplifying the layer. * Fix a bug related to POSIX locking. * Tons of documentation updates and code readability cleanups. * Restructure the kernel build to accomodate multiple architectures. Start separting platform components from cpu components. * Synchronize a bunch of AMD64 related items (but we don't support 64 bit mode yet). * Major rewrite of the mount glue infrastructure and NULLFS which allows the namecache topology to be shared for multiple NULLFS mounts and also allows arbitrary stacking of read-only and read-write NULLFS mounts with basically zero kernel overhead. * Unconditionally associate a namecache reference with all file descriptors, allowing us to share vnodes across different mounts (NULLFS). * NULLFS mounts may now be arbitrarily stacked and distinct paths are no longer required. * Properly dereference mount point roots when unmounting. Raise hell if unmounting a filesystem which still has references. * Do a massive reorganization of the device operations vector and remove many instances where devops functions were dependant on the calling process or thread to obtain cred information. * Do a run through of all system header files to make sure they include any dependancies themselves, instead of requiring the originating source file to include the dependancies first. This greatly reduces the effort required to use kernel header files in new sources. * Synchronize MII support with NetBSD and OpenBSD, including adding standard conforming GMII support. Er. In otherwords, improve driver support for physical network interfaces (phys's). * Remove VOP locking vectors. Make VOP locking functions direct calls (and thus mandatory). * Control access to vnode ref count fields with a spinlock * Fix a dubious construct in usr.bin/tail (no, really! That's what the commit message said!). * Add support for %j to the kernel printf. * Major symbol separation for most kernel functions which inexactly mimic libc functions. e.g. printf -> kprintf, in order to allow user-mode kernels to be linked against libc. * Update to sendmail to 8.13.8. * Update to OpenSSL to 0.9.8d * Update to OpenSSH 4.5p1 * Update to Bind 9.3.2-P1 * Update to less 3.9.4 * Update to awk 20050424 * Update to file 4.19 * Update to tcpdump 3.9.5 * Update to libpcap 0.9.5 * Synchronize m4 with FreeBSD * Import libarchive * Import bsdtar 1.3.1 and make bsdtar our default tar. GNU tar is still installed as gtar. * Import NetBSD's ftp client under its new name (tnftp). * Bring in GCC-4.1 (setenv CCVER GCC41 to use). * Significant code cleanups to make the world and kernel compile under GCC-4.1. Note that the default compiler is still GCC 3.4 (GCC-4.x will probably become the default sometime in 2007). * More work on LWP/THREAD/PROC separation for 1:1 threading support. * Fix a major bug in /bin/make that can cause make (or some child make in a large build) to ignore ^C. make temporarily installs SIG_IGN when polling whether a signal is being ignored or not. Fix the code to not do this. * Fix a long standing signal/fork race that could cause a process group signal to not make it to a newly fork child if it occurs while the fork is in progress. * Synchronize the zoneinfo database with tzdata2006p. * Add an ECC detection device, currently supporting AMD64's memory controller. * Greatly reduce the memory allocated by fsck when fscking filesytems with a huge number of directories (primarily mirors with lots of hardlinked files). Otherwise fsck can run out of memory on such filesystems. * Adjust RCNG to support 'blah=YES/NO' as well as 'blah_enable=YES/NO', giving us better compatibility with PkgSrc based RC scripts. * Fix a bug related to ALTQ when setting the algorithm for a queue on which packets are already present. * Do a major clean up of the BUSDMA header file architecture. * We have a new web site layout! * Use spinlocks in the objcache instead of tokens (the critical path is still lockless). * Replace the global VM page hash table with a per-VM-object Red-Black tree. * A considerable amount of work on IPSEC support has been done. * NATA has been ported from FreeBSD and is currently being tested. * Sync USB support with FreeBSD6 - use task queues to handle operations that cannot be handled from an interrupt thread. * Explore low-speed USB busses during cold boot so the USB keyboard starts working earlier in the boot sequence. * Start introducing glue for the SYSLINK and CCMS infrastructures. (system link protocol and cache coherency management subsystems). * Introduce a system call skeleton and test code for SYSLINK. * Introduce the algorithm and structural topology that will be used for cache coherency into the VFS path. * Introduce a user-managed virtuallized page table infrastructure which can be accessed via mmap(), as part of the infrastructure to support virtual kernels running in userland (MAP_VPAGETABLE). * Introduce vmspace_*() system calls which allows a user process to manage and control multiple VM spaces, as part of the virtualization support effort.
We are happy to say that the 1.12 release is now available! This release is primarily a maintenance 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 at the alpha stage of development and is expected to be production ready by the mid-year 2.0 release. Downloads (~118 Mb)_ftp://ftp.esat.net/m...2.0_REL.iso.gz
2.0 is our eighth major DragonFly release. DragonFly's policy is to only commit bug fixes to release branches. Changes in this release include: the HAMMER filesystem featuring crash recovery on-mount (without fsck) and queueless incremental mirroring, numerous kernel changes like native fairq-queue implementation and native connection state recovery, various hardware changes like added drivers and better USB survivability, userland changes like blacklist for weak Debian-generated SSH keys and improved manual pages and documentation, a lot of contributed software like new versions of BIND, OpenSSH, tnftpd, and GCC. Fortran was removed from the base system, along with other old stuff like legacy device drivers. Downloads (~129 Mb)_ftp://ftp.theshell.c...0.0_REL.iso.gz
The DragonFly 2.2 release is here! The HAMMER filesystem is considered production-ready in this release; it was first released in July 2008. The 2.2 release represents major stability improvements across the board, new drivers, much better pkgsrc support and integration, and a brand new release infrastructure with multiple target options. Three release options are now available - our bare-bones CD ISO, a DVD ISO which includes a fully operational X environment, and a bare-bones bootable USB disk-key image (less than 512M). We offer over 7,300 pre-built pkgsrc packages for this release. The pkg_radd(1) utility may be used to download pre-built binary packages. By default, this script will query the main package site for a random redirect to one of our mirrors. Downloads (~515 Mb)_ftp://mirror.evilpro...2.0_REL.iso.gz console (~183 Mb)_ftp://jane.tihlde.or...2.0_REL.iso.gz
ЭЖД, 30.04.2009 - 11:46
DragonFly BSD 2.2.1
Kernel changes
Fixes for libthread_xu: MAP_STACK and an errno leak.
Hardware changes
Bug fixes for sln(4), sppp(4), and i4b(4).
Fixed recursive lock in detached close of /dev/tty.
HAMMER changes
HAMMER VFS: Added missing hammer_rel_volume() call in deadlock/retry case.
Networking changes
Allowed the IP_MINTTL socket option to be set to zero.
Release improvements
Fixed an installworld failure due to kernel fixes and a libthread_xu issue.
Installer now works correctly in the console, and includes the TEST_DEV command.
2.2.x releases can now be built on 2.3.
Userland changes
Updates for msdosfs, pax(1), and magic(3)
Allowed uid/gid/flags changes to fail if running cpdup as a user
Contributed software
Synced zoneinfo database with tzdata2009c through tzdata2009f from elsie.
Security updates
FreeBSD-SA-09:05.telnet - fix environment based code execution vulnerability
Одним из главных новшеств версии 2.4 является появление сборок для 64-разрядных систем (AMD64). Для загрузки доступны образы для установки с CD (консольная версия), DVD (LiveDVD с десктоп-окружением) и USB Flash. Репозиторий pkgsrc в версии DragonFlyBSD 2.4 включает в себя примерно 6 тыс. предкомпилированных пакетов, для CVS репозитория pkgsrc поддерживается активное GIT зеркало.
Основные новшества:
Поддержка DEVFS для динамического формирования содержимого директории /dev. Ранее производилось статическое создание всех dev-устройств;
Увеличена производительность файловой системы HAMMER, добавлена поддержка ребалансировки B-Tree структур, увеличена производительность, устранены мешающие промышленной эксплуатации ошибки;
В утилите disklabel64 появилась поддержка загрузки со смешанных UFS + HAMMER разделов;
В реализации NFS переписан код, связанный с организацией RPC взаимодействия на стороне клиента, по умолчанию для транспорта используется протокол TCP, значительно увеличена производительность NFS-клиента;
Реализованы CAM драйверы с поддержкой горячей замены и мультипликаторов портов для контроллеров AHCI и для чипов Silicon Image 3132;
В ядре реализован новый алгоритм приоритезации операций чтения в подсистеме ввода/вывода, минимизирующий задержки для операций записи;
Локальный почтовый агент dma (DragonFly Mail Agent) доведен до приемлемого для использования состояния;
Из FreeBSD портировано большое число изменений, связанных с поддержкой нового оборудования;
Код системной библиотеки libc синхронизирован с проектами FreeBSD и NetBSD. Версия повышена до libc.so.7
В mount_ntfs, mount_msdos, smbfs добавлена поддержка кодировки UTF-8;
В состав базовой системы добавлены новые версии: GCC 4.4.1 (по умолчанию активен GCC 4.1.2), less 429, OpenSSH 5.2p1, OpenSSL 0.9.8k. Из комплекта удален GCC 3.4.
Основные улучшения, добавленные в DragonFlyBSD 2.6:
* Ядро o Из NetBSD портирована поддержка файловой системы tmpfs, позволяющей организовать эффективное размещение данных в ОЗУ (VM page cache). В отличие от MFS в tmpfs для дублирующихся данных сохраняется только одна копия; o В swapcache реализована поддержка SSD-накопителей, что позволяет организовать кэширование на высокопроизводительных SSD-накопителях данных и мета-данных из других файловых систем. Подобное кэширование может заметно увеличить производительность ФС, на которых хранятся миллионы файлов; o Из NetBSD портирована реализация очередей сообщений POSIX (POSIX Message Queues); o Обновлен код эмулятора Linux, Linuxulator теперь может запускать java и flash; o Добавлен фреймворк gpio; o Добавлен совместимый с watchdogd фреймворк для создания watchdog-в o Подготовлено экспериментальное 64-разрядное ядро vkernel64, в названиях вместо amd64 теперь упоминается x86_64; o Реализовано псевдо-устройство hotplug; o В vinum налажена возможность размещения корневого раздела на программном RAID; o Из FreeBSD портирован код minidumps и произведена синхронизация кода opencrypto, ACPI и инициализации CPU; o Проведена работа по устранению ошибок, влияющих на производительность ввода/вывода. * Файловая система HAMMER обновлена до версии 4. Интересным новшеством является поддержка размещения REDO-лога поверх уже созданного UNDO-лога, что позволяет значительно увеличить скорость режима fsync без потери способности быстрого восстановления после сбоя; * Добавлена поддержка нового оборудования: o uchcom(4) - WinChipHead CH341/CH340; o Из FreeBSD портирован драйвер glxsb(4); o hifn(4) - в драйвер добавлена возможность работы с opencrypto; o Из NetBSD портирован драйвер nsclpcsio(4); o aibs(4) - драйвер для сенсоров ASUSTeK AI Booster ACPI ATK0110; o Новые драйверы kate(4) и km(4) для сенсоров AMD 0Fh, 10h и 11h AMD64; o wbsio(4) - драйвер для Winbond LPC Super I/O; o alc(4) - драйвер для сетевых карт Atheros AR8131/AR8132; o Из FreeBSD портирован драйвер e1000(4) для сетевых карт Intel Pro/1000. * Пользовательские утилиты: o При монтировании null-разделов теперь поддерживается опция "-o update"; o В awk увеличена ширина разделителя полей во входящих данных, что позволяет использовать расширенные регулярные выражения; o В cpdup(1) добавлена опция "-VV" для проверки по содержимому файлов и игнорированию упрощенной проверки по времени модификации; o Через periodic(8) теперь отправляются уведомления о наличии уязвимостей в pkgsrc-пакетах; o Из OpenBSD портированы программы watchdogd и hotplugd. * Новые версии сторонних программ, поставляемых в базовой системе: BIND 9.5.2-P3 с включенным по умолчанию DNSSEC, sendmail 8.14.4, wpa_supplicant 0.6.10, hostapd 0.6.10, groff 1.20.1, file 5.04, ncurses 5.7, top 3.8beta1, less 43 openssh 5.3p1 (с HPN патчем), gcc 4.4.2, binutils 2.20. i386 (~218 Mb)_ftp://mirror.pavlovm....1_REL.iso.bz2 amd64 (~232 Mb)_ftp://ftp.dragonflyb....1_REL.iso.bz2
ЭЖД, 30.10.2010 - 15:39
DragonFlyBSD 2.8
Основные улучшения, добавленные в DragonFlyBSD 2.8:
* Поддержка шифрования дисковых разделов, включая корневой раздел и раздел подкачки. Код шифрования разделов изначально оптимизирован для работы в многопоточном режиме, т.е. полностью задействует все ресурсы многоядерных CPU. Для управления используется утилита, совместимая с cryptsetup. * Код пакетного фильтра PF синхронизирован с OpenBSD 4.2 (до этого PF в DragonFlyBSD был импортирован из OpenBSD 3.5). Дополнительно проведена оптимизация производительности PF: связанные с операциями route-to, altq и tags данные теперь напрямую сохраняются в заголовках mbuf-блоков; удалены ненужные проверки контрольных сумм; переписан код работы с таблицами отслеживания состояния соединений и привязки к сетевым интерфейсам. Из особенностей варианта PF в DragonFlyBSD можно отметить поддержку алгоритма справедливой обработки очереди пакетов (fair-queue) и возможность восстановления статуса соединения в PF, что позволяет сохранить активными TCP соединения при перезагрузке маршрутизатора; * Из FreeBSD портирован новый WiFi-стек (802.11). Пока не все драйверы перенесены, но процесс портирования драйверов существенно упрощен, что дает основание полагать, что в ближайшее время поддержка новых WiFi-устройств в DragonFlyBSD будет расширена. Из поддерживаемых драйверов отмечены: ath, iwi, iwn, ral, wi, wpi. Еще предстоит портировать драйверы: acx, an, bwi, ndis, rtw, rum, ural; * Проведена работа по увеличению производительности при работе на многопроцессорных системах. Сокращено число областей в которых используется MPLOCK (эксклюзивная блокировка, позволяющая гарантировать, что код ядра в данным момент выполняется только одним CPU). В большинстве подсистем ядра блокировка MPLOCK заменена на мягкие локальные признаки LWKT, которые пока зависят от MPLOCK, но позволяют значительно упростить тестирования процесса ухода от MPLOCK. Работа в MPSAFE-режиме (sysctl lwkt.vm_mpsafe) уже близка к стабильному состоянию, несмотря на то, что при данном режиме без привязки к MPLOCK работает вся подсистема управления памятью, pf, kevent и обработчики сетевых протоколов, код синхронизации VFS и Linux-эмулятор; * Добавлены новые драйверы: Areca RAID; aesni crypto; реализована поддержка AHCI для новых AMD SATA чипов; из OpenBSD портирован драйвер uguru для мониторинга за системными датчиками; код драйвера twa синхронизирован с FreeBSD. Драйверы ahci и sili переработаны для поддержки режима MPSAFE; * Из базовой системы удалены DNS-сервер BIND (вместо него интегрированы drill и libldns) и библиотека libevent, которые отныне нужно ставить из пакетов. Обновлены версии сторонних программ в базовой системе: OpenSSH 5.6p1, OpenSSL 1.0.0a, bzip2 1.0.6, awk 20100523. Импортирован код LVM (Logical Volume Manager). * Улучшения ядра системы: o Реализован dsched - фреймворк для подключения планировщиков ввода/вывода. Добавлена политика справедливого распределения между процессами операций ввода/вывода - dsched_fq (Fair Queuing I/O scheduler); o Из NetBSD импортирован код Device Mapper, в котором обеспечена поддержка целей stripe и crypt; o Реализация select(2), poll(2) и kqueue/kevent(2) унифицирована и теперь базируется на едином кода kqueue; o Из FreeBSD синхронизирован код подсистем amdpm и alpm; o Добавлен kern_udev - фреймворк для ассоциирования дополнительной информации с устройствами; o Из FreeBSD портирован код TCP-MD5 (RFC 2385); o Добавлена поддержка initrd (ram-диск для начальной загрузки); o В криптографический фреймворк opencrypto добавлена поддержка AES-XTS и AES-CTR; * Добавлены новые программы: o mkinitrd, o powerd (демон для управления питанием CPU), o libdevattr (совместимая с libudev библиотека для получения информации об устройствах) + udevd (демон для отслеживания подключения устройств) o crashinfo и savecore (утилиты для анализа дампа краха ядра), o proplib, o stress2 (утилита для стресс-тестирования системы), o ioprio (утилита для установки приоритетов для ввода/вывода) Downloads_ftp://ftp.halifax.rw....2_REL.img.bz2