Monday 20 December 2010

Упс...

Докато няма какво да се прави - търся "linux kernel patch 200 lines". Първи резултат:

www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1

Кликам на вълшебната връзка (patch) във втория параграф и попадам на емайл линия:

marc.info/?l=linux-kernel&m=128978361700898&w=2

Оттук-оттам поразглеждам кода и решавам да запиша всичко под трите тирета:

---
Documentation/kernel-parameters.txt | 2
...

и до подписа (който не знае подписът за всеки емайл клиент започва с две тирета).

Междувременно съм се запалил по UASP (USB Attached SCSI) драйвера в ядрото ( www.opennet.ru/opennews/art.shtml?num=28987) и се занимавам с компилация, дърпайки го "от извора" github.com/ltuikov/linux-2.6, като междувременно научавам git, това, че ползвайки Убунту указания не винаги помага при положение че git клонинга не е от Убунту/Дебиан, а ванила, при което указанията blog.avirtualhome.com/2010/11/06/how-to-compile-a-ubuntu-10-10-maverick-kernel/ не стават и си караме по стария начин www.howtoforge.com/kernel_compilation_ubuntu без разбира се да забравяме благините на Убунту/Дебиан като make-kpkg. Докато цялата тази работа се случва обаче ми свършва мястото на диска (глупава нова работа! Да работиш в линух виртуална машина на виндовс(R) хост си е просто извращение!) и трябва да увелича диска, дяла, файловата система, нов суоп дял, нов UUID...) В крайна сметка


drago@ubuntu:~$ uname -a
Linux ubuntu 2.6.37-rc5-uasp #1 SMP Mon Dec 20 13:16:35 EST 2010 i686 GNU/Linux
drago@ubuntu:~$ sudo modprobe uas
[sudo] password for drago:
drago@ubuntu:~$ lsmod | grep uas
uas 7100 0


И голяма работа ще кажете вий и аз веднага ще се съглася. UASP драйвера работи с USB 3.0, което нямам. Цялото упражнение за нищо, загубено време и т.н.? Може би, но за четящите този пост, не за моя милост. Изтърквам здраво ръждата която съм хванал по въпроса прекомпилиране на ядро взето то от git или от друго. И като ми падне >= USB 3.0 комп познайте... Най-голямата изненада обаче идва най-накрая:


drago@ubuntu:~/tmp/source$ patch -p1 < /home/drago/Desktop/200_lines.patch.txt
patching file include/linux/sched.h
patching file kernel/sched.c
patching file kernel/fork.c
patching file drivers/tty/tty_io.c
Hunk #1 succeeded at 3169 (offset 9 lines).
patching file kernel/sched_autogroup.h
patching file kernel/sched_autogroup.c
patching file kernel/sysctl.c
patching file init/Kconfig
Hunk #1 succeeded at 741 (offset 13 lines).
patching file Documentation/kernel-parameters.txt

Опит за пач просто за спорта работи!?! И то с файл, който чисто наслуки съм копирал от някъде си... Излиза вече мога да разпозная пач просто като го видя в емайл! Във всеки случай горкото чисто ново ядро трябва да се прекомпилира, преди да работи и час...

No comments: