etc:users:kernel
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| etc:users:kernel [2010/01/28 22:52] – krinkinmu | etc:users:kernel [2016/08/08 20:53] (current) – ↷ Page moved from users:kernel to etc:users:kernel kel | ||
|---|---|---|---|
| Line 72: | Line 72: | ||
| Должны получить примерно следующее: | Должны получить примерно следующее: | ||
| - | * make -C / | + | 1 make -C / |
| - | * make[1]: Entering directory `/ | + | 2 make[1]: Entering directory `/ |
| - | * CC [M] / | + | 3 CC [M] / |
| - | * Building modules, stage 2. | + | 4 Building modules, stage 2. |
| - | * MODPOST 1 modules | + | 5 MODPOST 1 modules |
| - | * CC / | + | 6 CC / |
| - | * LD [M] / | + | 7 LD [M] / |
| - | * make[1]: Leaving directory `/ | + | 8 make[1]: Leaving directory `/ |
| + | Если все получилось, | ||
| + | |||
| + | 1 sudo insmod hello-1.ko | ||
| + | 2 sudo rmmod hello-1.ko | ||
| + | 3 sudo cat / | ||
| + | |||
| + | Должны получить примерно следующее: | ||
| + | |||
| + | 1 Jan 28 22:32:25 debian kernel: [ 6196.992494] Hellow world | ||
| + | 2 Jan 28 22:40:17 debian kernel: [ 6669.012286] Goodbye world | ||
| + | |||
| + | Теперь разбираемся, | ||
| + | |||
| + | ==== Исходный текст ==== | ||
| + | |||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | # | ||
| + | |||
| + | int init_module(void) - вызывается, | ||
| + | void cleanup_module(void) - вызывается, | ||
| + | В данном случае мы не вольны выбирать имена функций входа и выхода, | ||
| + | |||
| + | printk - выводит значения, | ||
| + | |||
| + | Прошу знатоков еще пояснить вот такой момент: | ||
| + | |||
| + | код возврата определяется программистом, | ||
| + | |||
| + | |||
| + | ==== Makefile ==== | ||
| + | |||
| + | Как написано формально Makefile должен содержать только строку obj-m += hello-1.o, но тогда простой командой make мы получим только ошибку, | ||
| + | |||
| + | make -C / | ||
| + | |||
| + | $(shell pwd) - текущий каталог, | ||
| + | |||
| + | / | ||
| + | |||
| + | modules - не знаю зачем нужно, предполагаю, | ||
| + | |||
| + | ~~DISCUSSION~~ | ||
etc/users/kernel.1264708373.txt.gz · Last modified: 2010/01/28 22:52 by krinkinmu