[Подробное объяснение команд Linux] 196. Анализ команд Linux: использование и параметры depmod и dmesg

депмод

Анализ зависимостей загружаемых модулей

Дополнительная информация

Команда depmod может генерировать файлы сопоставления, зависящие от модуля.При построении встроенной системы эта команда необходима для создания соответствующих файлов, которые используются modprobe.

грамматика

депмод (опция)

Параметры

  • -a или –all: проанализировать все доступные модули;
  • -d или debug: запустить режим отладки;
  • -e: выходные символы, на которые нельзя ссылаться;
  • -i: не проверять версию таблицы символов;
  • -m<файл> или system-map<файл>: использовать указанный файл таблицы символов;
  • -s или –system-log: записывать ошибки в системный журнал;
  • -v или –verbose: отображать подробную информацию во время выполнения;
  • -V или –version: отобразить информацию о версии;
  • --help: Отобразить справку.

Пример

depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a

/home/windsome/EMMA3PF-KernelSource-20080626/install_pos — это путь хранения всех модулей после того, как я создаю mod_install.
./boot/System.map создается после make linux, и я скопировал его в этот каталог.
2.6.18_pro500-bcm91250-mips2_fp_be — это версия Linux, которую я собрал.

Примеры компиляции Linux и выполнения depmod:

genkernel.sh (в Linux-2.6.18_pro500)

export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
export INSTALL_MOD_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/lib -rf
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/* -rf
cd <linux_src_dir>
make
make modules_install
cp vmlinux System.map /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/ -p
cd /home/windsome/EMMA3PF-KernelSource-20080626/install_pos
depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a

Другое использование:

В настольной системе Linux при компиляции нового драйвера, чтобы загрузить модуль с помощью modprobe***, необходимо сначала скопировать модуль в каталог /lib/modules/2.6.31-20-generic, а затем запустите sudo depmod -a, чтобы записать информацию о модуле в файлы Modules.dep, Modules.dep.bin, Modules.alias.bin, Modules.alias и Modules.pcimap.

Например, я скомпилировал новый драйвер Wi-Fi r8192se_pci.ko, скопировал его в /lib/modules/2.6.31-20-generic/wireless, а затем запустил depmod в /lib/modules/2.6.31-20-generic -a , вы можете запустить modprobe r8192se_pci в любом каталоге.

dmesg

Отображение информации о запуске системы Linux

Дополнительная информация

Команда dmesg используется для проверки и управления кольцевым буфером ядра. Ядро будет хранить загрузочную информацию в кольцевом буфере. Если у вас нет времени проверять информацию при загрузке, вы можете использовать для ее проверки dmesg. Информация о загрузке хранится в файле /var/log/dmesg.

грамматика

dmesg (опции)

Параметры

  • -c: после отображения информации очистить содержимое кольцевого буфера;
  • -s<размер буфера>: значение по умолчанию — 8196, что точно равно размеру кольцевого буфера;
  • -n: установить уровень записи информации.

Пример

[root@localhost ~]# dmesg | head
Linux version 2.6.18-348.6.1.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Tue May 21 15:34:22 EDT 2013
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000010000 - 000000000009f400 (usable)
 BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000007f590000 (usable)
 BIOS-e820: 000000007f590000 - 000000007f5e3000 (ACPI NVS)
 BIOS-e820: 000000007f5e3000 - 000000007f5f0000 (ACPI data)
 BIOS-e820: 000000007f5f0000 - 000000007f600000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000e8000000 (reserved)

Просмотр основной информации о жестком диске

dmesg | grep sda

[    2.442555] sd 0:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
[    2.442590] sd 0:0:0:0: [sda] Write Protect is off
[    2.442592] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.442607] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.447533]  sda: sda1
[    2.448503] sd 0:0:0:0: [sda] Attached SCSI disk

Учитесь с нуляpython

[Изучите Python с нуля] 92. Используйте библиотеку запросов Python для отправки HTTP-запросов и обработки ответов
[Изучите Python с нуля] 91. Используйте декораторы и словари для управления путями запросов в простом веб-приложении
[Изучите Python с нуля] 93. Используйте словарь Путь запроса управления
[Изучить Python с нуля] 89. Используйте WSGI для создания простого и эффективного веб-сервера
[Изучить Python с нуля] 88. Подробное объяснение интерфейса WSGI: реализовать простую и эффективную веб-разработку
[Изучить Python с нуля] 87. Вручную создание HTTP-сервера на Python. Реализация и многопоточная параллельная обработка
[Изучение Python с нуля] 86. Углубленное понимание протокола HTTP и его роли во взаимодействии браузера и сервера
[Изучение Python с нуля] 85. Применение технологии параллельных вычислений в пуле процессов Python
[Изучение Python с нуля] 84. Углубленное понимание потоков и процессов
[Изучение Python с нуля] 83. Многопроцессное программирование Python и использование пулов процессов
[Изучение Python с нуля] 82. Программа чата реализация на основе многопоточности
[Изучение Python с нуля] 81. Python подробнее Применение потоковой связи и очереди
[Изучение Python с нуля] 80. Доступ к потокам к глобальным переменным и вопросы безопасности потоков
[Изучение Python с нуля] 79. Доступ к потокам к глобальные переменные и проблемы безопасности потоков
[Изучить Python с нуля] 78. Случай загрузки файла
[Изучить Python с нуля] 77. Программирование TCP-сервера и меры предосторожности
[изучить Python с нуля] 76. Сервер и клиент: ключевые компоненты сетевой связи
[изучить Python с нуля] 75. Протокол TCP: надежный протокол связи уровня передачи, ориентированный на соединение.
[Изучение Python с нуля] 74. Сетевая программа UDP: подробное объяснение проблем с портами и информация о привязке
[Изучение Python с нуля] 73. Сетевая программа UDP — отправка данных
[Изучение Python с нуля] 72. Углубленное понимание связи через сокет и Метод создания сокетов
[Изучить Python с нуля] 71. Сетевые порты и их функции
[Изучить Python с нуля] 70. Методы сетевой связи и их применение: от прямой связи до маршрутизаторов для соединения нескольких сетей
[Изучить Python с нуля] 69. Сеть анализ связи и классификации IP-адресов
[Изучение Python с нуля] 68. Жадные и нежадные режимы в регулярных выражениях Python
[Изучение Python с нуля] 67. Модуль re в Python: технология регулярной замены и расширенного сопоставления
[Изучение Python с нуля] 66. Углубленное понимание регулярных выражений: мощный инструмент для сопоставления с образцом и обработки текста
[Изучение Python с нуля] 65. Подробное объяснение модификаторов регулярных выражений Python и их применения
[Изучение Python с нуля] 64. Метод re.compile в регулярных выражениях Python Подробное объяснение использования
[Изучение Python с нуля] 63. Введение в класс re.Match, его атрибуты и методы в регулярных выражениях
[Изучение Python с нуля] 62. Регулярные выражения Python: мощный инструмент сопоставления строк
[Изучение python с нуля] 61. Подробное объяснение и примеры применения атрибутов свойств в Python
[Изучение Python с нуля] 60. Генератор исследований: гибкий инструмент для итерации
[Изучение Python с нуля] 59. Итератор: эффективный инструмент для оптимизации обхода данных
[ Изучите Python с нуля] 58. Пользовательские исключения в Python и методы их создания.
[Изучите Python с нуля] 57. Используйте ключевое слово with в Python, чтобы правильно закрывать ресурсы
[Изучите Python с нуля] 56. Важность и применение обработки исключений в программировании
[Изучите Python с нуля] 55. Сериализация и сумма в Python Десериализация, применение модулей JSON и Pickle
[Изучение Python с нуля] 54. Запись данных в память
[Изучение Python с нуля] 53. Файлы CSV и CSV-модуль Python
[Изучение Python с нуля] 52. Чтение и запись файлов — Руководство по работе с файлами Python
[ Изучение Python с нуля] 51. Открытие и закрытие файлов и их приложений в Python
[Изучение Python с нуля] 49. Встроенные функции, связанные с объектами в Python, и их использование
[Изучение Python с нуля] 48. Подробное объяснение наследования и множественности наследование в Python
[Изучение Python с нуля] 47. Концепция и основы использования наследования в объектно-ориентированном программировании
[Изучение Python с нуля] 46. Анализ методов __new__ и __init__ и синглтонов в шаблонах проектирования Python
[Изучение Python с нуля] 45 Методы класса и статические методы в Python
[Изучение Python с нуля] 44. Частные свойства и методы в объектно-ориентированном программировании
[Изучение Python с нуля] 43. Примеры в объектно-ориентированном программировании на Python Свойства и атрибуты класса
[Изучение Python с нуля] 42. Встроенные свойства и методы Python
[Изучение Python с нуля] 41. Магический метод Python (2)
[Изучение Python с нуля] 40. Магический метод Python (1)
[Изучение Python с нуля] 39. Базовый объектно-ориентированный синтаксис и примеры приложений
[Изучение Python с нуля] 38. Как использовать и импортировать пакеты Python
[Изучение Python с нуля] 37. Использование пользовательских модулей Python и меры предосторожности
[Изучение Python с нуля] Изучение Python] 36. Методы и приемы использования pip для управления сторонними пакетами в Python
[Изучение Python с нуля] 35. Общие системные модули Python и их использование
[Изучение Python с нуля] 34. Подробное объяснение импорта и использование модулей Python
[Изучить Python с нуля] 33. Роль декораторов (2)
[Изучить Python с нуля] 32. Роль декораторов (1)
[Изучить Python с нуля] 31. Глубокое понимание высшего упорядочивание функций и замыканий в Python
[Из книги «Изучение Python с нуля» 30. Углубленное понимание рекурсивных и анонимных функций
【Изучение Python с нуля】 29. «Подробное объяснение параметров функций» — понимание различных вариантов использования параметров функций Python
【 Изучите Python с нуля】28. Локальные переменные и глобальные переменные в Python Переменные
[Изучение Python с нуля] 27. Использование функций Python и вложенных вызовов
[Изучение Python с нуля] 25. Функции: инструмент для повышения эффективности написания кода
[Изучение Python с нуля] 24. Строковые операции и методы обхода в Python
[Изучение Python с нуля] 23. Как использовать множества (set) и общие операции в Python
[Изучение Python с нуля] 22. Добавление, удаление, изменение и Запрос переменных словаря в Python
[Изучение Python с нуля] 21. Кортежи и словари Python
[Изучение Python с нуля] 20. Навыки и примеры работы со списками Python
[Изучение Python с нуля] 19. Применение циклического перебора списков и вложения списков
[Изучение Python с нуля] 18. Подробное объяснение основных операций со списками Python (1)
[Из изучения Python с нуля] 17. Метод форматирования строк Python (2)
【Изучение Python с нуля】 16. Метод форматирования строк Python (1)
【Изучение Python с нуля】 15. Углубленное понимание строк и кодировка набора символов
【Изучение Python с нуля】14. Общие операции со строками Python (2)
【Изучение Python с нуля】13. Общие операции со строками Python (1)
【Изучение Python с нуля】12. Операции со строками Python и приложения
【 Изучение Python с нуля】 11. Операторы цикла Python и поток управления
[Изучение Python с нуля] 10. Подробное объяснение условных операторов Python и их вложенности
[Изучение Python с нуля] 09. Операторы условного суждения в Python
[Изучение Python с нуля] 08 Python понимает оператор битовых операций, приоритет оператора
[Изучите Python с нуля] 07. Подробное объяснение операторов Python: присваивание, сравнение и логические операторы
[Изучите Python с нуля] 06. Использование арифметических операторов в Python для вычислений и конкатенации строк
[Изучите Python Scratch] python ] 05. Вывод и ввод в Python
[Изучение Python с нуля] 04. Основы программирования на Python: переменные, типы данных и идентификаторы
[Изучение Python с нуля] 03. Интерактивное программирование на Python и подробное объяснение комментариев
[Изучение Python с нуля] 02. Введение в инструменты разработки
[Изучение Python с нуля] 01. Установка и настройка Python

おすすめ

転載: blog.csdn.net/qq_33681891/article/details/133294768