Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-09-20 19:45:52

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Pierwsze kompilacje kernela

Witam. Od kilku dni zacząłem bawić się kernelem. Na razie ogranicza się to do tego, że sprawdzam jak sprawuje się system z pojedynczymi opcjami.
Wyczytałem gdzieś na tym forum, że nie powinno się  używać configa z wersji distro, co obecnie robię, a na początek trzeba stworzyć config odpowiadający mojemu hardware. No i zbliżamy się do sedna. Jak stworzyć taki config?

Offline

 

#2  2013-09-20 20:11:13

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Pierwsze kompilacje kernela

http://forum.dug.net.pl/viewtopic.php?pid=225481#p225481

Linki w poście i posty niżej.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#3  2013-09-20 20:41:06

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

A więc są 3 opcje, które mnie zainteresowały, ale mam problem z dokładnym ich odróżnieniem. Mianowicie:

Kod:

make localmodconfig - This option creates a config file based on the current list of loaded modules and system configuration.
make localyesconfig - This will set all module options to yes - most of the kernel will be in module
make defconfig - This option creates a config file that uses default settings based on the current system's architecture.

Zacznijmy od pierwszego. localmodconfig jak idzie przetłymaczyć tworzy config oparty na liście aktualnie załadowanych modułów i konfiguracji systemu. Jeżeli lecę na kernelu z configiem distro aktualnie może być załadowana masa niepotrzebnych modułów, więc użycie tej opcji mi nie pomoże.
localyesconfig - z opisu wynika, że stworzy mi config, który będzie miał ustawioną wartość yes dla każdego modułu. Co mam rozumieć poprzez każdy moduł?
defconfig - stworzy mi config na podstawie architektury systemu i ustawieniami domyślnymi.

Z opisów tych komend wynika, że najlepszy byłby defconfig natomiast z linków, które mi podałeś wynika, że ludzie używają localyesconfig. Jestem nieco zmieszany. Możesz mi to rozjaśnić?

Offline

 

#4  2013-09-20 20:51:53

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Pierwsze kompilacje kernela

Kod:

localmodconfig

Uzywane sterowniki ustawia jako ładowalne moduły.

Kod:

localyesconfig

Ustawia te same sterowniki na sztywno.
Nie da ich sie ich wyladować.

Może mieć kolosalne znaczenie gdy musimy definiować paramety modułu stosownie do sprzętu.
Karty dźwiękowe,telewizyjne  u mnie nawet sterownik sata ,



Tego trzeciego nigdy nie używałem.Nie wiem dokładnie.


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#5  2013-09-20 21:11:33

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Pierwsze kompilacje kernela

Na stałe radzę dawać tylko to, co jest niezbędne do podniesienia systemu, systemy plików, kontroler dysku, chipsetu, pamięci RAM, procesora, obrazu w  konsoli.
Z resztą przyjdzie czas, nie wszystkie rzeczy działają dobrze, jeśli sterownik jest wbudowany na sztywno, inne zaś działają stabilniej i przewidywalniej, nie ma na to reguły.

Po kilku kernel-panikach, i kilku działających kernelach, już będzie jasne, co warto wbudować w jajo, a co zostawić, jako moduł ładowalny.

Może mieć kolosalne znaczenie gdy musimy definiować paramety modułu stosownie do sprzętu.[/quote]
U mnie klika modułów wbudowanych na stałe łapała ustawienia opcji z /etc/modprobe.d/*, ale na to też nie ma reguły, trzeba sprawdzić lub poszukać ino dla konkretnego modułu.
Np nigdy na kolejnych 2 płytach głównych nie miałem problemu z modułem HDA-Intel wbudowanym na sztywno, z kernelami dystrybucyjnymi kilka razy miałem jakieś zabawy z opcjami przy ładowaniu tego modułu.

Ostatnio edytowany przez Jacekalex (2013-09-20 21:16:56)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2013-09-20 21:34:48

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Powiedzcie mi jeszcze, jak dodać poszczególne moduły, aby te ładowały się na sztywno?

Generalnie mam takie załadowane moduły na moim serwerze:

Kod:

root@s3:~# lspci -k | egrep -i 'driver|modules'
        Kernel driver in use: ohci_hcd
        Kernel driver in use: ohci_hcd
        Kernel driver in use: ehci_hcd
        Kernel driver in use: piix4_smbus
        Kernel driver in use: pata_serverworks
        Kernel driver in use: tg3
        Kernel driver in use: tg3
        Kernel driver in use: aacraid

Z tego co mówisz, na początek warto spróbować z:

Kod:

Kernel driver in use: piix4_smbus
Kernel driver in use: pata_serverworks
Kernel driver in use: aacraid

wbudowanymi w jądro, tak?

Ostatnio edytowany przez fifka (2013-09-20 21:40:42)

Offline

 

#7  2013-09-20 21:43:04

  katia - Użytkownik

katia
Użytkownik
Zarejestrowany: 2010-05-22

Re: Pierwsze kompilacje kernela

W

Kod:

make menuconfig

Wyszukiwarkę masz pod [b]/[/b]

Jeśli na sztywno to zaznaczasz je [b]*[/b]  jeśli moduły to [b]M[/b]

Offline

 

#8  2013-09-20 22:01:54

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Rozumiem. Teraz, mam nadzieje, ostatnie glupie pytanie. Jaka jest roznica w ladowaniu sterownika na sztywno a jako modulu? Moj serwer to dedyk i nie widzi mi sie zepsucie lub nie zaladowanie sie sterownika od eth, bo kvm swoje kosztuje.

Ostatnio edytowany przez fifka (2013-09-20 22:08:07)

Offline

 

#9  2013-09-20 22:23:01

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Pierwsze kompilacje kernela

To sobie kernel na jakiejś wirtualnej najpierw sprawdź.


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#10  2013-09-20 22:30:16

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Z miejscem slabo na takie kombinacje. Generalnie sterownik na sztywno laduje sie przy starcie systemu a jako modul po starcie, tak?

Offline

 

#11  2013-09-20 22:34:15

  copowieryba - Użytkownik

copowieryba
Użytkownik
Zarejestrowany: 2012-04-11

Re: Pierwsze kompilacje kernela

to i ja mam pytanie, a mianowicie  jak skompilować krenela z taką flagą -mtune=amdfam10

Offline

 

#12  2013-09-20 22:35:36

  katia - Użytkownik

katia
Użytkownik
Zarejestrowany: 2010-05-22

Re: Pierwsze kompilacje kernela

Na sztywno nie ładuje się po starcie gdyż jest już w obrazie jadra wkompilowany.
Jeśli jest zaś jako moduł to rozruch rozpoczyna się od initrd potem część jest ładowana przez udev ,część jest zdefiniowana w skryptach startowych i plikach konfiguracyjnych.

Offline

 

#13  2013-09-20 22:40:42

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Tak, ale zeby zaladowal sie jako modul to musze fizycznie uteorzyc jakis skrypt/dodac do initrd czy robi sie to automatycznie gdy wybiore M w menuconfig?

Offline

 

#14  2013-09-20 22:43:55

  katia - Użytkownik

katia
Użytkownik
Zarejestrowany: 2010-05-22

Re: Pierwsze kompilacje kernela

Nic nie musisz robić.

W make menuconfig zaznaczasz które sterowniki przy kompilacji kernela zostaną wkompilowane na stałe w obraz jądra ,które jako ładowalne moduły albo wcale nie zostaną skompilowane.

Offline

 

#15  2013-09-20 22:44:23

  copowieryba - Użytkownik

copowieryba
Użytkownik
Zarejestrowany: 2012-04-11

Re: Pierwsze kompilacje kernela

--initrd takiej opcji trzeba użyć jeśli kompilujesz z wykorzystaniem make-kpkg

Offline

 

#16  2013-09-21 02:58:06

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Mhm. Teraz wszedłem w make menuconfig i zacząłem szukać np. ehci_hcd. Pokazują mi się wszystkie opcje, które zawierają ten ciąg znaków. Nie widzę, w którym miejscu mogę wybrać pomiędzy * a M. Dodam, ze wersja kernela to 2.6.33.9

Ostatnio edytowany przez fifka (2013-09-21 11:03:23)

Offline

 

#17  2013-09-21 12:09:10

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Pierwsze kompilacje kernela

Czy w konfigu wszystkie opcje muszą być 'poukładane'?

Offline

 

#18  2013-09-21 12:16:10

  ilin - Palacz

ilin
Palacz
Skąd: PRLu
Zarejestrowany: 2006-05-03

Re: Pierwsze kompilacje kernela

Niektóre sterowniki trzeba zaznaczyć globalnie jako jakaś "rodzina" dopiero potem dostępne są poszczególne "gałązki".


[b]Problemy rozwiązujemy na forum nie na PW[/b] -> Niech inni na tym skorzystają.
[url=http://dug.net.pl/]Polski portal Debiana[/url]

Offline

 

#19  2013-09-21 15:56:27

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Kod:

root@s3:~/kernel/linux-2.6.33.9# make localmodconfig
using config: '.config'
module xt_limit did not have configs CONFIG_NETFILTER_XT_MATCH_LIMIT
module xt_multiport did not have configs CONFIG_NETFILTER_XT_MATCH_MULTIPORT
module serio_raw did not have configs CONFIG_SERIO_RAW
module aacraid did not have configs CONFIG_SCSI_AACRAID
module pcspkr did not have configs CONFIG_INPUT_PCSPKR
module ata_generic did not have configs CONFIG_ATA_GENERIC
module joydev did not have configs CONFIG_INPUT_JOYDEV
module i2c_piix4 did not have configs CONFIG_I2C_PIIX4
module pata_serverworks did not have configs CONFIG_PATA_SERVERWORKS

Co to oznacza?

Offline

 

#20  2013-09-21 16:38:16

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Pierwsze kompilacje kernela

Starszego kernelu to już nie było?


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#21  2013-09-21 18:46:33

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Były :) Staram się znaleźć najbardziej optymalne jądro pod hosting HLDS i utrzymanie 1000 fps na serwerze. Z tego co ludzie piszą w necie, lepiej nadają się do tego jądra w wersji 2.6.x

Offline

 

#22  2013-09-21 20:01:29

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Pierwsze kompilacje kernela

[img]http://www.reactiongifs.us/wp-content/uploads/2013/02/facepalm.gif[/img]


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#23  2013-09-21 21:59:42

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Jaki sens ma taki komentarz?

Offline

 

#24  2013-09-21 22:19:15

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Pierwsze kompilacje kernela

Taki, że u większości osób powodujesz uśmiech na twarzy.


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#25  2013-09-21 22:26:05

  fifka - Użytkownik

fifka
Użytkownik
Zarejestrowany: 2013-09-20

Re: Pierwsze kompilacje kernela

Rozumiem, że jesteś głosem większości forumowej? Sorka, ale nie nadążam za tutejszymi zwyczajami. Jestem tu od wczoraj.

Tak czy inaczej, jak już wspominałem są to moje pierwsze zabawy z kernelem więc nie powinno Cię dziwić to co napiszę. Skoro sam tego nie przetestowałem, a gdzieś o tym czytałem to chyba logiczne, że najpierw chcę to sprawdzić, prawda? Nie wiem w jakim celu obnosisz się, ze swoją wyższością tutaj... Logiczne jest, że jestem początkujący i nie mam wiedzy a Ty nie wiem po jakiego grzyba to wyśmiewasz...

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.015 seconds, 14 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00098 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.133.138.129' WHERE u.id=1
0.00084 UPDATE punbb_online SET logged=1732210828 WHERE ident='3.133.138.129'
0.00053 SELECT * FROM punbb_online WHERE logged<1732210528
0.00083 DELETE FROM punbb_online WHERE ident='13.59.95.170'
0.00078 DELETE FROM punbb_online WHERE ident='185.191.171.18'
0.00088 DELETE FROM punbb_online WHERE ident='3.128.201.207'
0.00059 SELECT topic_id FROM punbb_posts WHERE id=241498
0.00008 SELECT id FROM punbb_posts WHERE topic_id=24290 ORDER BY posted
0.00073 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24290 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00233 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24290 ORDER BY p.id LIMIT 0,25
0.00120 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24290
Total query time: 0.01 s