модули и /proc
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
модули и /proc
Это возможность диагностики из ядра + возможность управлять параметрами ядра.
Создаём имена (и иерархии каталогов) в /proc и - читаем оттуда + пишем туда ... управляем параметрами ядра "на ходу"
Создаём имена (и иерархии каталогов) в /proc и - читаем оттуда + пишем туда ... управляем параметрами ядра "на ходу"
- Вложения
-
- procfs.265.tgz
- (20.35 КБ) 34 скачивания
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: модули и /proc
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo insmod mod_proc.ko
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ echo $?
0
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ ls -l /proc/mod_*
-rw-rw-rw- 1 root root 0 июн 24 15:09 /proc/mod_node
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ cat /proc/mod_node
.........1.........2.........3.........4.........5
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ echo new_string > /proc/mod_node
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ cat /proc/mod_node
new_string
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ dmesg | tail -n10
[17718.942044] ! /proc/mod_node installed
[17784.017884] ! read: 131072 bytes (ppos=0)
[17784.017888] ! return 51 bytes
[17784.017897] ! read: 131072 bytes (ppos=51)
[17784.017897] ! EOF
[17893.808853] ! write: 11 bytes
[17893.808856] ! put 11 bytes
[17903.418643] ! read: 131072 bytes (ppos=0)
[17903.418650] ! return 11 bytes
[17903.418667] ! read: 131072 bytes (ppos=11)
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo rmmod mod_proc
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo insmod mod_proc.ko
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ ./mcat 20
read + 20 bytes, input buffer: .........1.........2
read + 20 bytes, input buffer: .........1.........2.........3.........4
read + 11 bytes, input buffer: .........1.........2.........3.........4.........5
read + 00 bytes, input buffer: .........1.........2.........3.........4.........5
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ dmesg | tail -n9
[18061.025241] ! /proc/mod_node removed
[18070.520991] ! /proc/mod_node installed
[18129.162451] ! read: 20 bytes (ppos=0)
[18129.162455] ! return 20 bytes
[18129.162581] ! read: 20 bytes (ppos=20)
[18129.162582] ! return 20 bytes
[18129.162591] ! read: 20 bytes (ppos=40)
[18129.162592] ! return 11 bytes
[18129.162600] ! read: 20 bytes (ppos=51)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: модули и /proc
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo insmod mod_proct.ko
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ echo $?
0
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ tree /proc/mod_dir/
/proc/mod_dir/
└── mod_node
0 directories, 1 file
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ ls -l /proc/mod_dir/mod_node
-rw-rw-rw- 1 root root 0 июн 24 15:22 /proc/mod_dir/mod_node
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ cat /proc/mod_dir/mod_node
.........1.........2.........3.........4.........5
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ echo 12345 > /proc/mod_dir/mod_node
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ cat /proc/mod_dir/mod_node
12345
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ echo новая строка > /proc/mod_dir/mod_node
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ cat /proc/mod_dir/mod_node
новая строка
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo rmmod mod_proct
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: модули и /proc
Старые релизы работают только с предыдущими ядрами:
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ sudo insmod mod_2.ko mode=2
insmod: ERROR: could not insert module mod_2.ko: Operation canceled
olej@R420:~/2022/own.BOOKs/BHV.kernel/examples.tmp/proc/proc$ dmesg | tail -n1
[18726.137627] ! it's work only for kernel LE 3.9
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя