Модули ядра FreeBSD

Как уже говорилось, модули ядра – это его компоненты, которые можно запускать (или загружать) и выгружать при необходимости. Модули ядра могут загружаться при подключении устройств и выгружаться при их отключении. Это позволяет экономить системную память и повышает гибкость системы.

Само ядро по умолчанию хранится в виде файла /boot/kernel/kernel, модули ядра также хранятся в виде файлов в каталоге /boot/kernel. Заглянув в этот каталог, можно увидеть сотни файлов модулей ядра. Имена файлов всех модулей ядра имеют расширение .ko. Обычно файлы модулей ядра получают имена, соответствующие их функциональности. Например, в файле /boot/kernel/joy.ko находится драйвер джойстика (от английского «joy»), описание которого находится в странице руководства joy(4). Этот драйвер делает джойстик видимым для системы в виде устройства joyO.

Просмотр списка загруженных модулей

В главе 3 было показано, как получить список загруженных модулей перед загрузкой, но этот метод не годится, после того как система загрузится. Получить список загруженных в настоящий момент модулей ядра можно с помощью команды kldstat(8).

# kldstat

Id Refs   Address     Size       Name

О 1 15   0xc0400000  6a978c     kernel

©2 1      OxcOaaaOOO  6228       snd_via8233.ko

©3 2      OxcOaMOOO   23898      sound, ko

На этом ноутбуке загружено три модуля ядра. Первый – это ядро О, далее идут драйвер звуковой карты © и звуковая подсистема ©. (Это совершенно неудивительно, так как речь идет о ноутбуке.) Каждый модуль содержит один или более подмодулей, которые можно увидеть с помощью команды kldstat -v, но само ядро содержит несколько сотен подмодулей, поэтому будьте готовы получить очень длинный список.

Загрузка и выгрузка модулей

Загрузка и выгрузка модулей ядра производится с помощью команд kldload(8) и kldunload(8). Например, обычно мой ноутбук подключается к сети посредством проводного соединения Ethernet. При беспроводном подключении мне необходимо загрузить модуль ядра wlan_wep.ko, который использует WEP-шифрование. Для этого я пользуюсь командой kldload, которой передаю имя файла модуля ядра с требуемой функциональностью:

#           kldload /boot/kernel/wlan_wep.ko

Как только беспроводное подключение станет ненужным, я выгружаю модуль.1 Для этого требуется указывать не имя файла, а имя модуля, в том виде, как его отображает команда kldstat:

#           kldunload wlan_wep.ko

Если бы все возможные функции компилировались непосредственно в ядро, оно имело бы очень большой размер. Модульная архитектура

На самом деле я едва ли буду беспокоиться об этом, потому что я выключу ноутбук, но сама идея, я думаю, вам понятна.

позволяет уменьшить ядро, сделать его более эффективным, а редко используемые функции загружать только в случае необходимости.

Команды kldload(8) и kldunload(8) не требуют указания полного пути к модулю ядра, точно так же они не требуют указания расширения файла ко. Если вы помните точное имя файла модуля ядра, можно использовать примерно такие команды:

#           kldload wlan_wep

#           kldunload wlan_wep

Лично я, со своим слабеньким мозгом, полагаюсь на функцию автоматического дополнения, присутствующую в командной оболочке, которая напоминает мне полные и правильные имена модулей.

Автоматическая загрузка модулей ядра

Для автоматической загрузки модуля надо добавить его в файл /boot/ loader.conf. Файл по умолчанию loader.conf содержит множество примеров загрузки модулей ядра, в которых используется один и тот же синтаксис. Нужно взять имя модуля ядра, убрать расширение файла ко и добавить к нему строку load=»YES». Например, чтобы автоматически загрузить модуль /boot/kernel/procfs.ko, в файл loader.conf нужно добавить такую строку:

procfs_load=»YES»

Самое сложное во всем этом – узнать точное имя модуля, который требуется загрузить. Пользоваться драйверами устройств проще простого – если ядро не поддерживает новую сетевую карту или устройство SCSI, тогда вместо перенастройки ядра можно просто загрузить модуль драйвера. В этом случае нужно выяснить, какой драйвер поддерживает подключенное устройство, и здесь вам помогут страницы руководства и поисковая система Google. Везде в этой книге я буду упоминать модули ядра, которые помогут решать те или иные проблемы.

Впрочем, подождите минутку – зачем FreeBSD вынуждать загружать драйверы устройств, если она сама определяет их во время загрузки? Отличный вопрос! Дело в том, что вы можете собрать свое собственное ядро и удалить поддержку неиспользуемого устройства. Вы до сих пор не знаете, как собрать свое собственное ядро? Сейчас мы исправим этот недостаток.
system-repair.net

Рубрика: FreeBSD | Оставить комментарий

Управление портами FreeBSD

Коллекция Портов и Пакетов FreeBSD даёт пользователям и администраторам простой метод установки приложений. Дерево портов – это тематический список расположения дистрибутивов программ, патчей и библиотек на серверах поддержки FreeBSD в сети Интернет. То есть, если вам нужно установить какую-либо программу, вы заходите по дереву портов в определённый каталог и выполняете всего две команды – make (скачать всё, что нужно из сети и подготовить к установке) и make install (установить в систему).

Для управления системой портов FreeBSD существуют дополнительные утилиты, удобные и функциональные.

Утилита portupgrade

Portupgrade – это не одна утилита, а целый пакет утилит по управлению портами.
В пакет portupgrade входят:

1. portupgrade – одноименная утилита, средство автоматического обновления установленных программ
2. portinstall – утилита установки новых программ, присутствующих в системе портов FreeBSD
3. portversion – утилита показывающая установленный софт и наличие обновлений для него.
4. portsclean – утилита очистки мусора остающигося после сборки портов
5. portsdb – утилита создающая базу программ, присутствующих в портах FreeBSD
6. ports_glob – предназначена для поиска по базе портов
7. portcvsweb – браузер для CVSWeb
8. pkgdu – утилита, предназначенная для подсчета дискового пространства занятого уcтановленныыми программами
9. pkgdb – еще одна утилита для управления базой портов
10. pkg_which – предназначен для поиска по базе портов
11. pkg_sort – утилита сортирует порты в соответствии c зависимостями
12. pkg_fetch – утилита для скачки собранных(бинарных) пакетов
13. pkg_deinstall – средство для массового удаления установленного софта

Устанавливаем:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

Использование утилит из пакета portupgrade.

1. Обновить все программы (-a) с зависимостями от обновляемых портов (-r) и зависимостями для этих портов (-R)

# portupgrade -arR

А такая команда позволит скачать новые программы, не устанавливая их:

# portupgrade -aFrR

2. Если в системе что то сломалось и мы хотим обновить все программы независимо от того, нуждаются они в обновлениии или нет, выполняем:

# portupgrade -af

При добавлении ключа (-b) к этой команде позволяет сохранить старые версии пакетов в бэкап (/usr/ports/packages/All/), установить пакет из бэкапа можно используя команду:

# pkg_add

3. Определяем программы, нуждающиеся в обновлении:

# pkg_version -v | grep "need"

или

# portversion | grep "< "

Можно и так:

# portversion -l "< "

Вид списка нуждающихся в обновлении портов будет разным.

4. С помощью portinstall можно устанавливать программы, делаем так:

# portinstall /usr/ports/databases/mysql51-server/

Сборка и установка порта будет произведена по правилам, указанным в файле конфигурации.

5. Для переодической чистки дерева портов от всякого мусора, оставшегося от неудачных сборок, используем portsclean:

# portsclean -C

— для очистки рабочих директорий, тех которые используются для сборки программ и

portsclean -D

— для очистки директории /usr/ports/distfiles от устаревших файлов исходников программ

6. Pkgdb — в основном используется для исправления нарушенных зависимостей портов:

# pkgdb -F

7. Удаляем пакеты при помощи pkg_deinstall:

# pkg_deinstall apache

Интересная особенность, не нужно больше указывать полностью номер версии!

Portupgrade — очень полезный и надежный инструмент!

Утилита Portmaster

Не менее удобное, чем potrupgrade, средство, кроме этого, есть одно очень позитивное отличие: если portupgrade при сбое и повторном запуске начинает все сначала, причем при этом еще и может пострадать его база данных, portmaster, не используя никаких сторонних баз, строит список пересобранных портов. В случае, если возникает какая-либо нерешаемая ситуация, и пересборка портов останавливается, достаточно вручную решить проблему и перезапустить portmaster.

Установка:

# /usr/ports/ports-mgmt/portmaster
# make install clean

Использование Portmaster

1. Ищем что необходимо обновить:

# portmaster -L | grep -B1 «New version»

Выводятся имена пакетов

2. Обновляем все пакеты:

# portmaster -Da

Не забываем обновлять порты перед использованием утилит!

# portsnap fetch update

Для удобства можно заскриптовать все стадии и настроить cron.

Пример скрипта можно взять здесь:
Обновление портов

Утилиты Portupgrade и Portmaster могут прекрасно уживаться вместе и дополнять друг друга. Пример из жизни — случилась неприятная ситуация с повреждением базы установленных портов. Pkgdb -F не помогал. На помощь пришел Portmaster:

#portmaster --check-depends  
#portmaster --check-port-dbdir  
#pkgdb -Fu

На вопросы об удалении нарушенных зависимостей отвечаем утвердительно («у»).

dwolfix.ru

Рубрика: FreeBSD | 1 комментарий

MC34063 Calculator Online > Step-Down, Step-Up, Inverter

Calculeaza valorile componentelor pentru sursa in comutatie MC34063A (MC34063, MC33063A), in configuratie step-down (coborator de tensiune), step-up (ridicator de tensiune) sau inverter (inversor de tensiune) si verifica valorile limita pentru curent si tensiune. Alege valori standard pentru rezistorii de feedback, cat mai aproape de valorile calculate.

Valori tipice pentru componente:

  • condensator intrare: 100uF, electrolitic
  • condensator iesire: 470uF, electrolitic, low ESR
  • dioda rapida: 1N5818, 1N5819, 1N5820, …
  • bobina: 100uH…220uH

    Video tutorial design convertor DC/DC cu MC34063

    bobtech.ro

Рубрика: * | Оставить комментарий

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Крошка Ши — белка. Обаятельную толстушку с кисточками на ушах придумала пермский дизайнер Леся Гусева, изобразив в ней себя, но десятки тысяч барышень в сети находят в Ши и свои черты.
Девичья правда от Крошки Ши
История Ши — это картинки, в которых Леся иллюстрирует запавшие ей в душу сетевые фразы или собственные. Она показывает, как прошел ее день, отображает свои эмоции, настроение и желания.
Ши, как и Леся, любит кофе, спать, лениться и тортики. И не любит тех, кто ее обижает.

———————————————
Девичья правда от Крошки ШиДевичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши

Девичья правда от Крошки Ши
nnm.ru

Рубрика: * | Оставить комментарий

Седьмое Солнце — Навсегда В Моем Сердце

СЕДЬМОЕ СОЛНЦЕ — украинская рок-группа из г. Запорожье. Исполняет музыку в стилях: поп-рок, альтернативный рок.
Седьмое Солнце — Навсегда В Моем Сердце

Рубрика: клип | Оставить комментарий