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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Cześć,
Zainstalowałem jądro z eksperimentala linux-3.8-trunk. Coś mi nie pasowało, stwierdziłem, że zrobię sobie takie, ale nie będę za dużo w nim grzebał. Tak więc config z niego dałem do źródeł 3.8.3 (troche inne, ale wydaje mi się, że to tu nie ma takiego znaczenia). No i zmiany to wkompilowanie na stałe FS, ahci, grafikę intela, odznaczenie swapu (bo nie korzystam) i to chyba tyle. Zaznaczenie, że to low-latency-desktop. A i zaznaczyłem w grafice logo linux'a żeby było ladnie :) i teraz efekt:
pablo@lena:/lib/modules$ du -ah 3.8-trunk-amd64/| wc -l 3568 pablo@lena:/lib/modules$ du -ah 3.8.3| wc -l 3537 pablo@lena:/lib/modules$ du -sh 3.8-trunk-amd64/ 111M 3.8-trunk-amd64/ pablo@lena:/lib/modules$ du -sh 3.8.3 1,9G 3.8.3
Same jądra są podobne wielkościowo tylko te moduły są ciekawe. Dla ułatwienia (tudzież utrudnienia):
pablo@lena:~$ grep XZ /boot/config-3.8.3 CONFIG_HAVE_KERNEL_XZ=y CONFIG_KERNEL_XZ=y CONFIG_RD_XZ=y CONFIG_SQUASHFS_XZ=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y CONFIG_XZ_DEC_IA64=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_XZ=y
Generalnie nic świadomnie nie zorbiłem takiego, żeby efekt był aż tak znaczny.
Trochę pomocy (znajduje gdzie ile jest plików które mają klika mega tu i tu):
pablo@lena:/lib/modules$ du -sh 3.8.3/kernel/drivers/*|grep M|wc -l 50 pablo@lena:/lib/modules$ du -sh 3.8-trunk-amd64/kernel/drivers/*|grep M|wc -l 15
Tu jest źródło ciężaru... Ktoś wie dlaczego tak się dzieje? Jaka opcja za to odpowiada?
Z góry dzięki :)
Ostatnio edytowany przez P@blo (2013-04-10 15:26:35)
Offline
Ale jesteś pewien, że chodzi o te kilka plików? Tam nie są czasem podlinkowane źródła brane pod uwagę? Bez opcji -L niby nie powinny, ale to pierwsze co mi przyszło na myśl. Może coś innego ze źródłami? ;) Sprawdź jeszcze ile te katalogi kernel/drivers ważą na obu i ile rozbabrane źródła od Twojego ważą. I jeszcze jak instalujesz kernela/moduły?
Offline
1,9 G to żródła po kompilacji z symbolami debugowania wszystkich modułów.
Nie pamiętam dokładnie, która to opcja, ale poszukaj coś w stylu kernel_debug w konfigu, kernele dystrybucyjne domyślnie mają to włączone.
Poza tym domyslnie folder ze źródłami jest podlinkowany w [b]/lib/modules/{wersja}/build[/b] i najwyraźniej policzył te źródła.
A poza tym zrób sobie porządny konfig kernela:
du -shm /lib/modules/`uname -r` 22 /lib/modules/3.8.4-gr3
Z czego:
du -shm /lib/modules/`uname -r`/video/* 12 /lib/modules/3.8.4-gr3/video/nvidia.ko
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2013-03-29 05:21:01)
Offline
[b]@ArnVaker[/b]
pablo@lena:/lib/modules$ du -sh 3.8-trunk-amd64/kernel/drivers/ 77M 3.8-trunk-amd64/kernel/drivers/ pablo@lena:/lib/modules$ du -sh 3.8.3/kernel/drivers/ 1,3G 3.8.3/kernel/drivers/
Odnośnie instalacji:
Sama kompilacja była na innym kompie na którym zrobiłem:
make deb-pkg
Potem do siebie tup tup i via dpkg. Tak więc źródeł jako (w /usr/src/) tako nie mam :)
[b]@Jacekalex:[/b]
Więc twierdzisz, że to:
pablo@lena:~$ grep DEBUG_KERNEL /boot/config-3.8.3 CONFIG_DEBUG_KERNEL=y pablo@lena:~$ grep DEBUG_KERNEL /boot/config-3.8-trunk-amd64 CONFIG_DEBUG_KERNEL=y
Jest powodem? To nie rozumiem dlaczego w dystrybucyjnym jest to wszystko małe, a u mnie duże?
Co do reszty to chyba pudło, bo jak pisałem wyżej nie mam źródeł :) (fizycznie)
pablo@lena:~$ du -sh /lib/modules/3.8.3/build/ 61M /lib/modules/3.8.3/build/
Ostatnio edytowany przez P@blo (2013-03-29 09:55:43)
Offline
Jak dasz [tt]make modules_install[/tt] to też tyle ważą moduły? Nie używałem nigdy [tt]make deb-pkg[/tt], także nie wiem jak on się zachowuje.
Offline
Wiesz, nie dam bo kompilacja jest na innym kompie na ktorym nie jestem rootem.
Offline
Jak mogłeś skopiować do siebie utworzony pakiet, to możesz też skopiować źródła których używasz.
Offline
Dziwne coś jądro budujesz. Mam:
mati75@kartofel:~$ du -shm /lib/modules/`uname -r` 3 /lib/modules/3.9.0-rc4-pineapple
robiłem make-kpkg, żadnych śmieci nie zatrzymuje.
Offline
http://forum.dug.net.pl/viewtopic.php?id=23196
Obawiam sie ze make modules_install najpierw zechce robic make... Czy myle sie?
Bys moze make deb-pkg jest winne...
Offline
[tt]make modules_install[/tt] tylko instaluje skompilowane już moduły.
Offline
Okazało się że [b]Jacekalex[/b] miał rację:
pablo@lena:/boot$ grep DEBUG_KERNEL config-3.8-trunk-amd64 CONFIG_DEBUG_KERNEL=y pablo@lena:/boot$ grep DEBUG_KERNEL config-3.8.3 # CONFIG_DEBUG_KERNEL is not set pablo@lena:/boot$ du -sh /lib/modules/* 107M /lib/modules/3.8.3 111M /lib/modules/3.8-trunk-amd64
Nie wiem, jak oni robią te jądra, bo jak widać dana opcja u nich jest włączona.
Offline
Przy zwykłym [tt]make modules_install[/tt] było tak samo? W oficjalnych kernelach z repo symbole debugowania są w osobnych pakietach.
Offline
Tzn zrobiłem to jądro z wyłączoną tą opcją i wierzyć mi się nie chciało to najpierw zrobiłem [tt]make modules_install[/tt]. I zaskoczyło mnie że moduły są małe. Zrobiłem paczki zainstalowałem i jest ok. Ale nie patrzyłem z włączoną tą opcją [tt]make modules_install[/tt]. Może kiedyś... ;)
Offline
OK, sprawdzę u siebie w takim razie. :P
Offline
Już patrze bo mogę ;)
Offline
Sprawdziłem – tak samo jest. Dopiero przy make-kpkg pakiet z kernelem ma standardowe rozmiary, tu można utworzyć osobny pakiet z symbolami debugowania.
PS Prawie 80 minut trwała u mnie kompilacja na dystrybucyjnym konfigu. :]
Offline
O, a właśnie miałem instalować u siebie... No ja robię na i7 8-rdzeniowym w 13min ;D No ale jak takiś narwany... ;p
Offline
/me narwany?
[quote=sjp.pwn.pl/slownik/2487063/narwany]narwany pot. «postępujący w sposób niezrównoważony»[/quote]
e tam ;)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00139 | 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='18.224.65.198' WHERE u.id=1 |
0.00075 | UPDATE punbb_online SET logged=1732690481 WHERE ident='18.224.65.198' |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732690181 |
0.00067 | SELECT topic_id FROM punbb_posts WHERE id=229859 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=23244 ORDER BY posted |
0.00056 | 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=23244 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00159 | 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=23244 ORDER BY p.id LIMIT 0,25 |
0.00070 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23244 |
Total query time: 0.00633 s |