Dive in kernel

Обсуждение различной литературы о Linux

Модератор: Модераторы разделов

Ответить
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Dive in kernel

Сообщение SLEDopit »

Собственно, это не совсем книга и не совсем документация. Но этот раздел лучше всего подходит для этого поста.

Возможно, многие уже слышали про 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.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Dive in kernel

Сообщение Stauffenberg »

Спасибо SLEDopit

Я хотел бы напомнить о русскоязычной рассылке, посвященной ядру 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)
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Dive in kernel

Сообщение IMB »

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 а расшифровать сообщение, пока, знаний не хватает.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Dive in kernel

Сообщение Bizdelnick »

IMB писал(а):
19.03.2014 23:22
Есть какая-либо статистика использования?

http://lists.kernelnewbies.org/pipermail/kernel-russian/
В этом году - ни одного сообщения. Одно в декабре, два в ноябре, перед этим почти весь год тишина.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Dive in kernel

Сообщение Stauffenberg »

IMB писал(а):
19.03.2014 23:22
http://lists.kernelnewbies.org/mailman/lis.../kernel-russian
Он ожил?

В смысле ожил? Рассылка работает с момента создания без перебоев.
Подписанно достаточно народу, но все просто подписались и молчат. На форуме такая же проблема - все заходят, смотрят что пусто и выходят :) Каждый надеется, что кто-то другой зайдет, что-нибудь напишет, начнется обсуждение...

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

IMB писал(а):
19.03.2014 23:22
Есть какая-либо статистика использования?
Скажем у меня сейчас есть проблема на MIPS, последнее 3.14.0-rc7 вываливается с kernel panic а расшифровать сообщение, пока, знаний не хватает.

Просто напишите туда,если у Вас какая-то проблема или есть какой-то вопрос :console:
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)
Спасибо сказали:
Sentry
Сообщения: 20

Re: Dive in kernel

Сообщение Sentry »

A basic understanding of the C programming language is required.

Что, в их понимании, есть basic understanding?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Dive in kernel

Сообщение Hephaestus »

Stauffenberg писал(а):
20.03.2014 01:14
3 года назад написал один пост об kernel panic,
Спасибо за ссылку. Прочитал с интересом.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Dive in kernel

Сообщение deadhead »

IMB писал(а):
19.03.2014 23:22
Скажем у меня сейчас есть проблема на MIPS, последнее 3.14.0-rc7 вываливается с kernel panic а расшифровать сообщение, пока, знаний не хватает.
если будут подрбности паники - взглянул бы.... ну а 3.14 не в лучшем состоянии сейчас ;)
[x] close
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Dive in kernel

Сообщение IMB »

deadhead писал(а):
23.03.2014 00:30
IMB писал(а):
19.03.2014 23:22
Скажем у меня сейчас есть проблема на MIPS, последнее 3.14.0-rc7 вываливается с kernel panic а расшифровать сообщение, пока, знаний не хватает.
если будут подрбности паники - взглянул бы.... ну а 3.14 не в лучшем состоянии сейчас ;)

Код: Выделить всё

[    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 ;)
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Dive in kernel

Сообщение SLEDopit »

IMB писал(а):
23.03.2014 12:04
Собственно я подписался на данное мероприятие и вторым заданием стоит
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.
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Dive in kernel

Сообщение IMB »

SLEDopit писал(а):
23.03.2014 13:07
IMB писал(а):
23.03.2014 12:04
Собственно я подписался на данное мероприятие и вторым заданием стоит
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.


Бросьте, я не раскрыл никакой тайны. Быстрый поиск в сети показывает, что как минимум два первых задания стандартные - модуль "hello world" и собрать linux.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Dive in kernel

Сообщение SLEDopit »

IMB писал(а):
23.03.2014 13:41
Бросьте, я не раскрыл никакой тайны. Быстрый поиск в сети показывает, что как минимум два первых задания стандартные - модуль "hello world" и собрать linux.
Тут дело не в тайне. Тут акцент сделан именно на самостоятельную работу. Толку от коллективного решения не будет. Не более того.
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.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7274
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: Dive in kernel

Сообщение alv »

SLEDopit писал(а):
23.03.2014 15:13
Тут акцент сделан именно на самостоятельную работу.

С этим понятно - не понятна связь между умением писать модули и пониманием того, как надо собирать ядро.
Но сверхзадача всего раскрывается в одном из последних абзацев, до которого, похоже, мало кто дочитал:
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.

Я не ханжа, и сам выпить не дурак, а потому могу предложить другое решение задачи:
Если ночи пития так уж сильно затягиваются, закусывать получше.
Спасибо сказали:
IMB
Сообщения: 2559
ОС: Debian

Re: Dive in kernel

Сообщение IMB »

SLEDopit писал(а):
23.03.2014 15:13
Тут дело не в тайне. Тут акцент сделан именно на самостоятельную работу. Толку от коллективного решения не будет. Не более того.

Ну если рассматривать вопрос с этой стороны, то эту задачу я сдал на основе x86.
А с MIPS уже вопрос больше научный, так как текущую стальную версию 3.13.6 к сожалению не принимают.
Спасибо сказали:
Ответить