Ядерное программирование → Пишем первый драйвер
В этой статье я расскажу как написать модуль ядра для символьного устройства. Назовем его chardev. Это устройство будет выполнять несколько функций: нам будет предоставлена возможность открывать файл устройства на чтение функцией open() из другой программы и читать его содержимое утилитой cat. Устройство не будет поддерживать запись, но будет детектировать попытки обращения к нему на запись и возвращать ошибку. Файл устройства необходимо будет создать вручную и программа нас об этом предупредит.
Читать дальше
Ядерное программирование → Файлы символьныx устройств. Структура file_operatons и file
Структура file_operations определена в файле linux/fs.h и содержит указатели на функции драйвера, которые отвечают за выполнение различных операций с устройством. Например, практически любой драйвер символьного устройства реализует функцию чтения данных из устройства. Адрес этой функции, среди всего прочего, хранится в структуре file_operations. Ниже приводится определение структуры, взятое из исходных текстов ядра 2.6.30:
Читать дальше
Ядерное программирование → Драйверы устройств
Драйверы устройств являются одной из разновидностей модулей ядра. Они играют особую роль. Это настоящие «черные ящики», которые полностью скрывают детали, касающиеся работы устройства, и предоставляют четкий программный интерфейс для работы с аппаратурой. В Unix каждое аппаратное устройство представлено псевдофайлом (файлом устройства) в каталоге /dev. Этот файл обеспечивает средства взаимодействия с аппаратурой. Так, например, драйвер звуковой платы es1370.ko связывает файл устройства /dev/sound со звуковой платой Ensoniq IS1370. Пользовательское приложение, например mp3blaster может использовать для своей работы /dev/sound, ничего не подозревая о типе установленной звуковой платы.
Читать дальше
Ядерное программирование → Передача модулю параметров командной строки
Имеется возможность передачи модулю дополнительных параметров командной строки, но делается это не с помощью argc/argv.
Для начала вам нужно объявить глобальные переменные, в которые будут записаны входные параметры, а затем вставить макрос MODULE_PARAM(), для запуска механизма приема внешних аргументов. Значения параметров могут быть переданы модулю с помощью команд insmod или modprobe. Например: insmod mymodule.ko myvariable=5. Для большей ясности, объявления переменных и вызовы макроопределений следует размещать в начале модуля. Пример кода прояснит мое, по общему признанию, довольно неудачное объяснение.
Читать дальше
Для начала вам нужно объявить глобальные переменные, в которые будут записаны входные параметры, а затем вставить макрос MODULE_PARAM(), для запуска механизма приема внешних аргументов. Значения параметров могут быть переданы модулю с помощью команд insmod или modprobe. Например: insmod mymodule.ko myvariable=5. Для большей ясности, объявления переменных и вызовы макроопределений следует размещать в начале модуля. Пример кода прояснит мое, по общему признанию, довольно неудачное объяснение.
Читать дальше
Ядерное программирование → Как грузится Linux?
Очень многие любят пользоваться вещами, не зная, как они устроены и работают. Но мы ведь не из них верно? Поэтому я задался вопросом — что происходит после включения компьютера и выбора соответствующего ядра в Grub.
Читать дальше
Linux и все что с ним связано →
Создание специализированных Linux-дистрибутивов вроде MoviX
Как собрать свой собственный специализированный дистрибутив!
- 0
- admin
- 25 июня 2011, 19:54
- www.linuxjournal.com/article/6...
- 0
Блог им. admin → UserAndLINUX v11.05
Тема этого номера – Мультимедиа. В рубрике Software проанализированы мультимедийные средства: мультимедийные дистрибутивы Linux, аудио и видео проигрыватели, приложения для работы с Интернет потоками, конвертеры и редакторы, программы для композиторов и диск-жокеев. Новая рубрика Hot затронет горячо обсуждаемые темы: Microsoft подала более 70 исков против украинских компаний; Google оштрафовали на $5 млн за нарушение Linux-патента; Агентство
Читать дальше
Блог им. den → Первая российская компания вступила в Linux Foundation
Компания «Пингвин Софтвер» (PingWin Software) стала первой российской организацией, вступившей в Linux Foundation – некоммерческий консорциум развития Linux. В рамках членства в Linux Foundation компания «Пингвин Софтвер» намерена укрепить сотрудничество с другими компаниями, заинтересованными в СПО, и внести свой вклад в развитие Linux в рамках программы Open Compliance («Открытая совместимость»), развивающей инструменты для отслеживания возможных лицензионных конфликтов и разрабатывающей спецификации для обмена информацией о лицензиях. Еще одной важной задачей компании «Пингвин Софтвер» является работа по развитию LSB (Linux Standard Base) как ключевого способа обеспечения совместимости продуктов и решений в мире Linux.
«Мы всегда ценили ту работу, которую проводит Linux Foundation, поэтому присоединение к этой организации является естественным шагом для «Пингвин Софтвер». Вхождение в состав Linux Foundation позволит нам расширить сотрудничество с мировым СПО-сообществом и подтвердит наше участие в развитии Linux и жизни сообщества разработчиков открытого ПО», – считает генеральный директор «Пингвин Софтвер» Дмитрий Комиссаров.
«Мы всегда ценили ту работу, которую проводит Linux Foundation, поэтому присоединение к этой организации является естественным шагом для «Пингвин Софтвер». Вхождение в состав Linux Foundation позволит нам расширить сотрудничество с мировым СПО-сообществом и подтвердит наше участие в развитии Linux и жизни сообщества разработчиков открытого ПО», – считает генеральный директор «Пингвин Софтвер» Дмитрий Комиссаров.
Блог им. proger → Добавить Linux в рабочую группу Windows
И так кому надо то делаем это так, для начала установим Samba, в терминале вводим:
После того как все установится отредактируем /etc/samba/smb.conf для этого в том же терминале вводим:
и в открывшемся файле находим строчку workgroup = WORKGROUP, и меняем WORKGROUP на имя рабочей рабочей группы Windows, к которой хотите подключится, сохраняем и закрываем.
Теперь чтоб изменения вступили в силу перезапускам Samba
Все теперь Ubuntu в рабочей группе Windows, теперь только осталось сделать общий доступ к папкам.
sudo apt-get install samba smbfsПосле того как все установится отредактируем /etc/samba/smb.conf для этого в том же терминале вводим:
sudo gedit /etc/samba/smb.confи в открывшемся файле находим строчку workgroup = WORKGROUP, и меняем WORKGROUP на имя рабочей рабочей группы Windows, к которой хотите подключится, сохраняем и закрываем.
Теперь чтоб изменения вступили в силу перезапускам Samba
sudo service samba restartВсе теперь Ubuntu в рабочей группе Windows, теперь только осталось сделать общий доступ к папкам.
