Прекомпилиране на кернел на Убунту
6 отговора
0 прегледа
Прекомпилиране на кернел на Убунту
От известно време се опитвам по някакъв начин да сложа кернел 2.6.17 или 2.6.18 на Кубунту 7.10 (неговия кернел е 2.6.22.14).
Сега ще питате защо? Ами защото го ползвам на лаптопа а с кернел по-голям от 2.6.18 не ми работи тъчпада!
В новия кернел се разпознава като Macintosh mouse button emulation
Та какво направих изтеглих сорса от [линк] на 2.6.18, дезархивирах в /usr/src.
След това
# ln -s linux-2.6.18 linux
# cd linux
# cp /boot/config-2.6.22-14-generic .config
# make-kpkg kernel_image --initrd binary
Сега за тази последната команда доколкото четох в ман страницата на make-kpkg binary прави kenel_image kernel_headers kernel_doc, обаче не знам дали опцията --initrd работи с binary
след това
# dpkg -i linux-image-2.6.18*.deb linux-headers-2.6.18*.deb
# ln -s /lib/firmware/2.6.22-14-generic /lib/firmware/2.6.18
# update-initramfs -u
но след рестарт не ми работи звука и мрежовата карта и харддиска работи хипер бавно
hdparm -T /dev/hda дава около 2МБ/с.
Сега не знам дали това е заради опцията --initrd или просто заради това че ползвам .config от по-нов кернел на по-стар или просто проблема е някъде другаде.
ПС: Да не ви казвам че make-kpkg иска към 5ГБ свободно място за да си направи кернела и какви гимнастики съм правил за да му го осигуря
ПС2: С текущия кернел на Кубунту всичко си работи перфектно, освен тъчпада
Прекомерната употреба на LINUX води до пристрастяване!
Сега ще питате защо? Ами защото го ползвам на лаптопа а с кернел по-голям от 2.6.18 не ми работи тъчпада!
В новия кернел се разпознава като Macintosh mouse button emulation
Та какво направих изтеглих сорса от [линк] на 2.6.18, дезархивирах в /usr/src.
След това
# ln -s linux-2.6.18 linux
# cd linux
# cp /boot/config-2.6.22-14-generic .config
# make-kpkg kernel_image --initrd binary
Сега за тази последната команда доколкото четох в ман страницата на make-kpkg binary прави kenel_image kernel_headers kernel_doc, обаче не знам дали опцията --initrd работи с binary
след това
# dpkg -i linux-image-2.6.18*.deb linux-headers-2.6.18*.deb
# ln -s /lib/firmware/2.6.22-14-generic /lib/firmware/2.6.18
# update-initramfs -u
но след рестарт не ми работи звука и мрежовата карта и харддиска работи хипер бавно
hdparm -T /dev/hda дава около 2МБ/с.
Сега не знам дали това е заради опцията --initrd или просто заради това че ползвам .config от по-нов кернел на по-стар или просто проблема е някъде другаде.
ПС: Да не ви казвам че make-kpkg иска към 5ГБ свободно място за да си направи кернела и какви гимнастики съм правил за да му го осигуря
ПС2: С текущия кернел на Кубунту всичко си работи перфектно, освен тъчпада
Прекомерната употреба на LINUX води до пристрастяване!
Re: Прекомпилиране на кернел на Убунту
Мисля че си поел в грешна посока.
И аз съм с Кубунту 7.10, моя тъчпад си бачка като тъчпад.
По добре е да се опиташ или да смениш драйвера, или да настроиш съществуващия.
Ако ще си прекомпилираш кернел - минавай и през make menuconfig и си избирай само драйверите които ти трябват.
Определено е главоболна история но ....
Правил съм подобни упражнения за Gentoo, а веднъж и за Debian.
Bеer? Mоre?
Плацебото
И аз съм с Кубунту 7.10, моя тъчпад си бачка като тъчпад.
По добре е да се опиташ или да смениш драйвера, или да настроиш съществуващия.
Ако ще си прекомпилираш кернел - минавай и през make menuconfig и си избирай само драйверите които ти трябват.
Определено е главоболна история но ....
Правил съм подобни упражнения за Gentoo, а веднъж и за Debian.
Bеer? Mоre?
Плацебото
ми то..
..ше прозвучи много идиотско, ама -- шо не пробваш друго дистро?
ако си готов на толкоз нерви да прекомпилираш ядрото, ше не пробваш нещо друго със същата версия (или приблизителна) на кернела 2.6.22.14
таман ше видиш дали не е просто проблем в настройките
ПП> въх, какъв професионален съвет дадох
...и горкото водородче останало самииичкоооо...
ако си готов на толкоз нерви да прекомпилираш ядрото, ше не пробваш нещо друго със същата версия (или приблизителна) на кернела 2.6.22.14
таман ше видиш дали не е просто проблем в настройките
ПП> въх, какъв професионален съвет дадох
...и горкото водородче останало самииичкоооо...
Re: Прекомпилиране на кернел на Убунту
На базата на долния линк съм компилирал ядра за Дебиан - и тръгнаха най-важното - с малко бой де, щото винаги успявам да забравя някой модул, или да не го сложа където му е мястото.
[линк]
Bеer? Mоre?
Плацебото
[линк]
Bеer? Mоre?
Плацебото
Re: Прекомпилиране на кернел на Убунту
Ами не е ли по-добре да разбереш точния модел на тъчпад-а, и евентуално съответния "шофьор"
за него, който се е ползвал с по старото ядро и дистрибуция? Всъщност тест с друго дистро също е доста добра идея - току виж с нещо различно от Ubuntu, touchpad-a вземе да проработи.. Аз лично бих пробвал поне с още 1-2 live cd-та..
Re: Прекомпилиране на кернел на Убунту
Благодаря за отговорите.
Не мисля че ще проработи тъчпада в някоя друга дистрибуция (пробвах Mepis, Mandriva) с ядро с по-голям номер от 2.6.18 и там не работи.
Също пробвах и PCLinuxOS (адро 2.6.18) там си работи обаче пък като изключиш лаптопа от тока и блокираше при зареждане на ACPI, когато се опитваш да го стартираш на батерия, също беше и голяма мъка да си подкарам безжичната мрежа.
cat /proc/bus/devices/input липсва PS/2 Touchpad или нещо такова (цитирам по спомен), а пише Macintosh mouse button emulation и другите неща като power бутони, капак на лаптопа, бутон за изключване и т.н.
Аз през make menuconfig минах обаче смених само типа на процесора. Реших че след като използвам .config файла от кернел 2.6.22.14 на Убунту ще се компилира със същите модули и ще си работи по същия начин.
Според ман страницата на make-kpkg
NOTE: this requires a non-standard cramfs initrd patch to the kernel sources, (unless the mkintrd configuration has been modified not to use cramfs) or may result in a unbootable kernel. The patch is generally present in the kernel sources shipped by Debian, but is not present in pristine kernel sources.
Възможно ли е проблемите да се появяват от това че сорса на кернела е изтеглен от kernel.org и не е пачнат с non-standard cramfs initrd patch to the kernel sources?
Не мисля че ще проработи тъчпада в някоя друга дистрибуция (пробвах Mepis, Mandriva) с ядро с по-голям номер от 2.6.18 и там не работи.
Също пробвах и PCLinuxOS (адро 2.6.18) там си работи обаче пък като изключиш лаптопа от тока и блокираше при зареждане на ACPI, когато се опитваш да го стартираш на батерия, също беше и голяма мъка да си подкарам безжичната мрежа.
cat /proc/bus/devices/input липсва PS/2 Touchpad или нещо такова (цитирам по спомен), а пише Macintosh mouse button emulation и другите неща като power бутони, капак на лаптопа, бутон за изключване и т.н.
Аз през make menuconfig минах обаче смених само типа на процесора. Реших че след като използвам .config файла от кернел 2.6.22.14 на Убунту ще се компилира със същите модули и ще си работи по същия начин.
Според ман страницата на make-kpkg
NOTE: this requires a non-standard cramfs initrd patch to the kernel sources, (unless the mkintrd configuration has been modified not to use cramfs) or may result in a unbootable kernel. The patch is generally present in the kernel sources shipped by Debian, but is not present in pristine kernel sources.
Възможно ли е проблемите да се появяват от това че сорса на кернела е изтеглен от kernel.org и не е пачнат с non-standard cramfs initrd patch to the kernel sources?
Re: Прекомпилиране на кернел на Убунту
За кернела - не знам, но при мен тъчпада работи идеално. Според мен проблема ти е в настройките на xorg.
Виж как е при мен - с работещ тъчпад:
root@laptop:~# cat /proc/bus/input/devices
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=kbd event1
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=0f62 Product=1001 Version=0110
N: Name="Acrox USB & PS/2 Mouse"
P: Phys=usb-0000:00:13.0-2/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=mouse1 event2
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103
I: Bus=0003 Vendor=108b Product=0005 Version=0111
N: Name="C&C Technology Inc. HID Keyboard/Mouse PS/2 to USB Translator"
P: Phys=usb-0000:00:13.1-2/input0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event3
B: EV=120003
B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe
B: LED=1f
I: Bus=0003 Vendor=108b Product=0005 Version=0111
N: Name="C&C Technology Inc. HID Keyboard/Mouse PS/2 to USB Translator"
P: Phys=usb-0000:00:13.1-2/input1
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=kbd mouse2 event4
B: EV=7
B: KEY=a0 2000 0 0 0 1f0000 780 44000 603878 d801d7e9 1e0000 0 0 0
B: REL=103
I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input6
U: Uniq=
H: Handlers=kbd event5
B: EV=40001
B: SND=6
I: Bus=0011 Vendor=0002 Product=0005 Version=0063
N: Name="ImPS/2 Logitech Wheel Mouse"
P: Phys=isa0060/serio2/input0
S: Sysfs=/class/input/input7
U: Uniq=
H: Handlers=mouse3 event6
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=button_power/button/input0
S: Sysfs=/class/input/input8
U: Uniq=
H: Handlers=kbd event7
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/class/input/input9
U: Uniq=
H: Handlers=event8
B: EV=21
B: SW=1
I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button (CM)"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/class/input/input10
U: Uniq=
H: Handlers=kbd event9
B: EV=3
B: KEY=4000 0 0 0 0
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input11
U: Uniq=
H: Handlers=kbd event10
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=""
P: Phys=
S: Sysfs=/class/input/input12
U: Uniq=
H: Handlers=event11
B: EV=1
Bеer? Mоre?
Плацебото
Виж как е при мен - с работещ тъчпад:
root@laptop:~# cat /proc/bus/input/devices
I: Bus=0017 Vendor=0001 Product=0001 Version=0100
N: Name="Macintosh mouse button emulation"
P: Phys=
S: Sysfs=/class/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input2
U: Uniq=
H: Handlers=kbd event1
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=0f62 Product=1001 Version=0110
N: Name="Acrox USB & PS/2 Mouse"
P: Phys=usb-0000:00:13.0-2/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=mouse1 event2
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103
I: Bus=0003 Vendor=108b Product=0005 Version=0111
N: Name="C&C Technology Inc. HID Keyboard/Mouse PS/2 to USB Translator"
P: Phys=usb-0000:00:13.1-2/input0
S: Sysfs=/class/input/input4
U: Uniq=
H: Handlers=kbd event3
B: EV=120003
B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe
B: LED=1f
I: Bus=0003 Vendor=108b Product=0005 Version=0111
N: Name="C&C Technology Inc. HID Keyboard/Mouse PS/2 to USB Translator"
P: Phys=usb-0000:00:13.1-2/input1
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=kbd mouse2 event4
B: EV=7
B: KEY=a0 2000 0 0 0 1f0000 780 44000 603878 d801d7e9 1e0000 0 0 0
B: REL=103
I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input6
U: Uniq=
H: Handlers=kbd event5
B: EV=40001
B: SND=6
I: Bus=0011 Vendor=0002 Product=0005 Version=0063
N: Name="ImPS/2 Logitech Wheel Mouse"
P: Phys=isa0060/serio2/input0
S: Sysfs=/class/input/input7
U: Uniq=
H: Handlers=mouse3 event6
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
I: Bus=0019 Vendor=0000 Product=0002 Version=0000
N: Name="Power Button (FF)"
P: Phys=button_power/button/input0
S: Sysfs=/class/input/input8
U: Uniq=
H: Handlers=kbd event7
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/class/input/input9
U: Uniq=
H: Handlers=event8
B: EV=21
B: SW=1
I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button (CM)"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/class/input/input10
U: Uniq=
H: Handlers=kbd event9
B: EV=3
B: KEY=4000 0 0 0 0
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button (CM)"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/class/input/input11
U: Uniq=
H: Handlers=kbd event10
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=""
P: Phys=
S: Sysfs=/class/input/input12
U: Uniq=
H: Handlers=event11
B: EV=1
Bеer? Mоre?
Плацебото