Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:kernel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:kernel [2010/01/29 20:08] krinkinmuetc:users:kernel [2016/08/08 20:53] (current) – ↷ Page moved from users:kernel to etc:users:kernel kel
Line 98: Line 98:
 #include <linux/module.h> - как написано, этот заголовочный файл должен быть у всех модулей, в нем есть объявления init_module и cleanup_module, еще куча структур описывающих состояние, версию и другую информацию о модулях. #include <linux/module.h> - как написано, этот заголовочный файл должен быть у всех модулей, в нем есть объявления init_module и cleanup_module, еще куча структур описывающих состояние, версию и другую информацию о модулях.
 #include <linux/kernel.h> - тут тоже есть много чего полезного, например максимальное и минимальное значение определенного типа, printk объявлена в этом заголовочном файле, KERN_INFO также объявлена здесь: #include <linux/kernel.h> - тут тоже есть много чего полезного, например максимальное и минимальное значение определенного типа, printk объявлена в этом заголовочном файле, KERN_INFO также объявлена здесь:
 +
 #define KERN_INFO "<6>" /* informational - она объявлена как строка, получается мы вызываем printk("<6>" "text"); это тоже самое, что и printk("<6>text"); ??? раньше не встречал такого варианта использования. #define KERN_INFO "<6>" /* informational - она объявлена как строка, получается мы вызываем printk("<6>" "text"); это тоже самое, что и printk("<6>text"); ??? раньше не встречал такого варианта использования.
  
Line 113: Line 114:
 ==== Makefile ==== ==== Makefile ====
  
-Как написано формально Makefile должен содержать только строку obj-m += hello-1.o, но тогда простой командой make мы только ошибку, правильным вариантом вызова будет:+Как написано формально Makefile должен содержать только строку obj-m += hello-1.o, но тогда простой командой make мы получим только ошибку, правильным вариантом вызова будет:
  
      make -C /usr/src/linux-source-2.6.32 M=$(shell pwd) modules      make -C /usr/src/linux-source-2.6.32 M=$(shell pwd) modules
  
 $(shell pwd) - текущий каталог, можно прописать и руками. $(shell pwd) - текущий каталог, можно прописать и руками.
 +
 /usr/src/linux-source-2.6.32 - каталог с исходниками ядра. /usr/src/linux-source-2.6.32 - каталог с исходниками ядра.
 +
 modules - не знаю зачем нужно, предполагаю, что эта команда показывает, что мы собираем именно модули ядра. modules - не знаю зачем нужно, предполагаю, что эта команда показывает, что мы собираем именно модули ядра.
 +
 +~~DISCUSSION~~
etc/users/kernel.1264784893.txt.gz · Last modified: 2010/01/29 20:08 by krinkinmu