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:57] – krinkinmu | etc:users:kernel [2016/08/08 20:53] (current) – ↷ Page moved from users:kernel to etc:users:kernel kel | ||
---|---|---|---|
Line 81: | Line 81: | ||
8 make[1]: Leaving directory `/ | 8 make[1]: Leaving directory `/ | ||
- | Если все получилось, | + | Если все получилось, |
1 sudo insmod hello-1.ko | 1 sudo insmod hello-1.ko | ||
Line 92: | Line 92: | ||
2 Jan 28 22:40:17 debian kernel: [ 6669.012286] Goodbye 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.1264708644.txt.gz · Last modified: 2010/01/28 22:57 by krinkinmu