Dive in kernel
Модератор: Модераторы разделов
-
- Модератор
- Сообщения: 4817
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Dive in kernel
Собственно, это не совсем книга и не совсем документация. Но этот раздел лучше всего подходит для этого поста.
Возможно, многие уже слышали про Matasano Crypto Challenge. Довольна увлекательная штука.
Но есть аналогичная и не менее увлекательная штука для тех, кто хочет освоить линуксовое ядро. Welcome to eudyptula challenge. Уровень вхождения -- нулевой. Т.е. для прохождения опыта работы с ядром не требуется, достаточно немного знать С и английский. Сложность заданий со временем увеличивается. Чем дальше, тем интереснее.
зы. Письма в ответ приходят далеко не всегда моментально. Даже на самый первый запрос, так что стоит набраться терпения.
Возможно, многие уже слышали про Matasano Crypto Challenge. Довольна увлекательная штука.
Но есть аналогичная и не менее увлекательная штука для тех, кто хочет освоить линуксовое ядро. Welcome to eudyptula challenge. Уровень вхождения -- нулевой. Т.е. для прохождения опыта работы с ядром не требуется, достаточно немного знать С и английский. Сложность заданий со временем увеличивается. Чем дальше, тем интереснее.
зы. Письма в ответ приходят далеко не всегда моментально. Даже на самый первый запрос, так что стоит набраться терпения.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
-
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Dive in kernel
Спасибо SLEDopit
Я хотел бы напомнить о русскоязычной рассылке, посвященной ядру Linux. Если у вас есть какие-то вопросы или просто темы, связанные с ядром, о которых вы хотели бы поговорить, всегда можно написать в этот ML.
http://lists.kernelnewbies.org/mailman/lis.../kernel-russian
Я хотел бы напомнить о русскоязычной рассылке, посвященной ядру Linux. Если у вас есть какие-то вопросы или просто темы, связанные с ядром, о которых вы хотели бы поговорить, всегда можно написать в этот ML.
http://lists.kernelnewbies.org/mailman/lis.../kernel-russian
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 2556
- ОС: Debian
Re: Dive in kernel
SLEDopit писал(а): ↑19.03.2014 17:40Но есть аналогичная и не менее увлекательная штука для тех, кто хочет освоить линуксовое ядро. Welcome to eudyptula challenge. Уровень вхождения -- нулевой. Т.е. для прохождения опыта работы с ядром не требуется, достаточно немного знать С и английский. Сложность заданий со временем увеличивается. Чем дальше, тем интереснее.
Да, пожалуй здесь это может быть более заметным, чем Eudyptula Challenge
Stauffenberg писал(а): ↑19.03.2014 23:03Я хотел бы напомнить о русскоязычной рассылке, посвященной ядру Linux. Если у вас есть какие-то вопросы или просто темы, связанные с ядром, о которых вы хотели бы поговорить, всегда можно написать в этот ML.
http://lists.kernelnewbies.org/mailman/lis.../kernel-russian
Он ожил? Есть какая-либо статистика использования?
Скажем у меня сейчас есть проблема на MIPS, последнее 3.14.0-rc7 вываливается с kernel panic а расшифровать сообщение, пока, знаний не хватает.
-
- Модератор
- Сообщения: 20477
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Dive in kernel
http://lists.kernelnewbies.org/pipermail/kernel-russian/
В этом году - ни одного сообщения. Одно в декабре, два в ноябре, перед этим почти весь год тишина.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Dive in kernel
IMB писал(а): ↑19.03.2014 23:22http://lists.kernelnewbies.org/mailman/lis.../kernel-russian
Он ожил?
В смысле ожил? Рассылка работает с момента создания без перебоев.
Подписанно достаточно народу, но все просто подписались и молчат. На форуме такая же проблема - все заходят, смотрят что пусто и выходят

Кстати, я не имею ничего против, если тематика рассылки будет расширенна до простого системного программирования (т.е. до банальных системных программ на C с использованием syscall'ов, не обязательно модулей ядра или самого ядра)
Просто напишите туда,если у Вас какая-то проблема или есть какой-то вопрос

3 года назад написал один пост об kernel panic, но углубляться так и не стал. Сейчас могу найти причину проблемы, и, если проблема в модуле, то просто отключаю модуль, если такое возможно.
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 20
Re: Dive in kernel
A basic understanding of the C programming language is required.
Что, в их понимании, есть basic understanding?
-
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: Dive in kernel
Спасибо за ссылку. Прочитал с интересом.
-
- Сообщения: 1913
- Статус: zzz..z
Re: Dive in kernel
если будут подрбности паники - взглянул бы.... ну а 3.14 не в лучшем состоянии сейчас

[x] close
-
- Сообщения: 2556
- ОС: Debian
Re: Dive in kernel
Код: Выделить всё
[ 7.220000] usbcore: registered new interface driver usb-storage
[ 7.228000] ums-realtek 4-1:1.0: USB Mass Storage device detected
[ 7.236000] scsi2 : usb-storage 4-1:1.0
[ 7.236000] usbcore: registered new interface driver ums-realtek
[ 7.288000] usb 4-4: new high-speed USB device number 3 using ehci-pci
[ 7.428000] usb 4-4: New USB device found, idVendor=0bda, idProduct=8189
[ 7.428000] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7.428000] usb 4-4: Product: RTL8187B_WLAN_Adapter
[ 7.428000] usb 4-4: Manufacturer: Manufacturer_Realtek
[ 7.428000] usb 4-4: SerialNumber: 00e04c000001
[ 7.940000] FP exception in kernel code[#1]:
[ 7.940000] CPU: 0 PID: 127 Comm: rc Not tainted 3.14.0-rc7 #7
[ 7.940000] task: 98000000beea51b0 ti: 98000000bed10000 task.ti: 98000000bed1
0000
[ 7.940000] $ 0 : 0000000000000000 ffffffffcfffffff ffffffff8021046c 000000
0000000001
[ 7.940000] $ 4 : 000000007fa14b60 000000007fa14b60 00000000000044f3 000000
0000000000
[ 7.940000] $ 8 : 0000000000406000 00000000000000f8 0000000000000000 000000
0000000001
[ 7.940000] $12 : 0000000000089c20 ffffffff84080008 ffffffff80213050 ffffff
ff80958000
[ 7.940000] $16 : 0000000000000000 000000007fa14d74 ffffffffdbffffff ffffff
fffbffffff
[ 7.940000] $20 : 0000000000000000 ffffffff80960000 000000007fa14ef8 000000
007fa14df8
[ 7.940000] $24 : 0000000000000000 0000000000414150
[ 7.940000] $28 : 98000000bed10000 98000000bed13e40 0000000000000001 ffffff
+ff8021252c
[ 7.940000] Hi : 000000000000004a
[ 7.940000] Lo : 00000000739cef14
[ 7.940000] epc : ffffffff80210500 .ex132+0x4/0x1c
[ 7.940000] Not tainted
[ 7.940000] ra : ffffffff8021252c restore_sigcontext32+0x2b4/0x360
[ 7.940000] Status: 300044e3 KX SX UX KERNEL EXL IE
[ 7.940000] Cause : 1000803c
[ 7.940000] PrId : 00006303 (ICT Loongson-2)
[ 7.940000] Modules linked in: ums_realtek usb_storage ohci_pci ehci_pci ohci
+_hcd ehci_hcd usbcore usb_common
[ 7.940000] Process rc (pid: 127, threadinfo=98000000bed10000, task=98000000b
+eea51b0, tls=00000000775d7910)
[ 7.940000] Stack : 0000000000000080 000000007fa14b60 0000000000000000 000000
+007fa14ab0
000000007fa14e78 000000000042ecc8 000000000042c700 000000000042c704
0000000000000000 ffffffff802130fc 0000000000000000 0000000000000000
000000000042c660 ffffffff8021a07c 0000000000000000 0000000000000001
0000000000000080 000000007fa14ef8 ffffffffffffffff 000000007fa14ef8
0000000000000000 0000000000000000 0000000000000000 0000000000000000
98000000bf0c1628 5b01fdd6fa0a21a0 0000000000000000 0000000000000000
0000000000000100 ffffffff80958000 000000000042c660 000000007fa14e78
000000000042ecc8 000000000042c700 000000000042c704 0000000000000000
000000007fa14ef8 000000007fa14df8 0000000000000000 00000000774d7a4c
...
[ 7.940000] Call Trace:
[ 7.940000] [<ffffffff80210500>] .ex132+0x4/0x1c
[ 7.940000] [<ffffffff8021252c>] restore_sigcontext32+0x2b4/0x360
[ 7.940000] [<ffffffff802130fc>] sys32_rt_sigreturn+0xac/0x120
[ 7.940000] [<ffffffff8021a07c>] handle_sys+0x15c/0x180
[ 7.940000]
[ 7.940000]
Code: d49a01e0 d49c01f0 d49e0200 <44ccf800> 3c01cfff 3421ffff 03e1f824 03e0
0008 24020000
[ 7.944000] ---[ end trace 1f13432af6cd2cf4 ]---
[ 7.948000] note: rc[127] exited with preempt_count 1
[ 7.956000] FP exception in kernel code[#2]:
[ 7.956000] CPU: 0 PID: 1 Comm: init Tainted: G D 3.14.0-rc7 #7
[ 7.956000] task: 98000000be1572f0 ti: 98000000be158000 task.ti:
98000000be158000
[ 7.956000] $ 0 : 0000000000000000 ffffffffcfffffff ffffffff8021046c
0000000000010000
[ 7.956000] $ 4 : 000000007fcafdb0 000000007fcafdb0 0000000000000000
0000000000000000
[ 7.956000] $ 8 : 0000000000406100 00000000000000f8 0000000000000000
0000000000000001
[ 7.956000] $12 : 0000000000089c20 ffffffff84080008 ffffffff80213050
0000000000000007
[ 7.956000] $16 : 0000000000000000 000000007fcaffc4 ffffffffdbffffff
fffffffffbffffff
[ 7.956000] $20 : 0000000000000000 ffffffff80960000 000000007fcb03b8
0000000000000000
[ 7.956000] $24 : 0000000000000001 000000007774d22
[ 7.956000] $28 : 98000000be158000 98000000be15be40 000000007fcb0438
ffffffff8021252c
[ 7.956000] Hi : 0000000000100000
[ 7.956000] Lo : 00000000000ab300
[ 7.956000] epc : ffffffff80210500 .ex132+0x4/0x1c
[ 7.956000] Tainted: G D
[ 7.956000] ra : ffffffff8021252c restore_sigcontext32+0x2b4/0x360
[ 7.956000] Status: 300044e3 KX SX UX KERNEL EXL IE
[ 7.956000] Cause : 1000803c
[ 7.956000] PrId : 00006303 (ICT Loongson-2)
[ 7.956000] Modules linked in: ums_realtek usb_storage ohci_pci ehci_pci
ohci_hcd ehci_hcd usbcore usb_common
[ 7.956000] Process init (pid: 1, threadinfo=98000000be158000,
task=98000000be1572f0, tls=000000007788cb10)
[ 7.956000] Stack : 000000007fcafcd8 000000007fcafdb0 0000000000000000
000000007fcafd00
0000000000420000 000000007fcb0278 0000000000407f38 000000007fcb0058
0000000000420000 ffffffff802130fc 0000000000000000 0000000000000000
0000000000420000 ffffffff8021a07c 0000000000000000 ffffffffcfffffff
0000000000000004 0000000000000000 000000000000000b 000000007fcb03b8
0000000000000000 0000000000000001 000000007786c000 000000007fcaff74
000000007787c000 000000007787c000 fffffffff0000000 0000000000000060
0000000000000000 000000007fcafe90 0000000000420000 0000000000420000
000000007fcb0278 0000000000407f38 000000007fcb0058 0000000000420000
000000007fcb03b8 0000000000000000 0000000000000028 0000000077733f24
...
[ 7.956000] Call Trace:
[ 7.956000] [<ffffffff80210500>] .ex132+0x4/0x1c
[ 7.956000] [<ffffffff8021252c>] restore_sigcontext32+0x2b4/0x360
[ 7.956000] [<ffffffff802130fc>] sys32_rt_sigreturn+0xac/0x120
[ 7.956000] [<ffffffff8021a07c>] handle_sys+0x15c/0x180
[ 7.956000]
[ 7.956000]
Code: d49a01e0 d49c01f0 d49e0200 <44ccf800> 3c01cfff 3421ffff 03e1f824
03e00008 24020000
[ 7.960000] ---[ end trace 1f13432af6cd2cf5 ]---
[ 7.964000] note: init[1] exited with preempt_count 1
[ 7.968000] Kernel panic - not syncing: Attempted to kill init!
Собственно я подписался на данное мероприятие и вторым заданием стоит - собрать и загрузиться с последней версией Linux

-
- Модератор
- Сообщения: 4817
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Dive in kernel
What are the rules?
There aren't any, with the exception that you really should be doing your own work. This challenge is for you, not anyone else, so don't ask about how to solve them on mailing lists or IRC. Posting answers to the questions online is also frowned apon, as it really doesn't help anyone out.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Сообщения: 2556
- ОС: Debian
Re: Dive in kernel
SLEDopit писал(а): ↑23.03.2014 13:07What are the rules?
There aren't any, with the exception that you really should be doing your own work. This challenge is for you, not anyone else, so don't ask about how to solve them on mailing lists or IRC. Posting answers to the questions online is also frowned apon, as it really doesn't help anyone out.
Бросьте, я не раскрыл никакой тайны. Быстрый поиск в сети показывает, что как минимум два первых задания стандартные - модуль "hello world" и собрать linux.
-
- Модератор
- Сообщения: 4817
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Dive in kernel
Тут дело не в тайне. Тут акцент сделан именно на самостоятельную работу. Толку от коллективного решения не будет. Не более того.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
- Бывший модератор
- Сообщения: 7268
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Dive in kernel
С этим понятно - не понятна связь между умением писать модули и пониманием того, как надо собирать ядро.
Но сверхзадача всего раскрывается в одном из последних абзацев, до которого, похоже, мало кто дочитал:
The idea for this came to us after a long night of drinking in which it was determined that if the Linux kernel was to survive, it would need new programmers to fix all of the bugs that were recently added after a long night of drinking.
Я не ханжа, и сам выпить не дурак, а потому могу предложить другое решение задачи:
Если ночи пития так уж сильно затягиваются, закусывать получше.
-
- Сообщения: 2556
- ОС: Debian
Re: Dive in kernel
Ну если рассматривать вопрос с этой стороны, то эту задачу я сдал на основе x86.
А с MIPS уже вопрос больше научный, так как текущую стальную версию 3.13.6 к сожалению не принимают.