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ść wszystkim ;)
Jak wszyscy wiemy, w Debianie najlepszą metodą kompilacji jajka jest kompilacja i budowanie paczek przy użyciu make-kpkg. Działa to wszystko świetnie, problem pojawia się gdy człowiek dopieszcza swoje jądro (bez skojarzeń) i zachodzi konieczność rekompilacji go raz po raz.
W Gen2 czy dowolnej innej dystrybucji w której kompilacja polega na make, make install, make modules_install jeżeli wprowadzimy zmianę w configu jajka i ponownie na tych samych, nie czyszczonych źródłach puścimy make kompilacji ulegną jedynie zmiany. Tymczasem przy make-kpkg wszystko zawsze leci od początku.
Pytanie właściwe: Zna ktoś metodę która pozwala nauczyć make-kpkg takiego zachowania? Zawsze to jakieś 30 minut zaoszczędzonego czasu per kompilacja na moim lapku.
Offline
Możesz używać źródełek tak samo, jak w Gentusiu, ale budować jajko do paczki deb narzędziem dostępnym w jaju:
G8 pon lis 18 12:31:02 localhost : /usr/src/linux root ~> make help | grep deb deb-pkg - Build the kernel as a deb package
Wtedy zamiast pakować do /boot i /lib/modules/*, make zbuduje ładną paczuszkę, zawierającą wszystko co trzeba.
Jedyna wada, chyba nie buduje domyślnie paczki z źródłami i headersami,
ale myślę, że warto spróbować.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2013-11-18 12:36:14)
Offline
[quote=enether]Jak wszyscy wiemy, w Debianie najlepszą metodą kompilacji jajka jest kompilacja i budowanie paczek przy użyciu make-kpkg.[/quote]
Ja nigdy tego nie wiedziałem i wolałem kompilować standardowo. ;) Ale pamiętam, że jak nawet tym się kiedyś bawiłem to nie leciał zawsze od początku. Możliwe, że najpierw dawałem zwykłe make, a potem dopiero samo tworzenie pakietów via make-kpkg, ale niestety nie pamiętam dokładnie. Czasem nie dajesz clean wcześniej, prawda?
Offline
@Jacekalex: Zupełnie zapomniałem o make deb-pkg. To powinno być to, przetestuję wieczorem. Źródeł i tak nigdy nie paczkowałem, a headersy powinno się dać zrobić make-kpkg [blablabla] kernel_headers
@ArnVaker: Niet, ani make-kpkg clean, ani mrproper ;) Niestety u mnie zawsze kompiluje od zera, nawet jeżeli jedyną zmianą w configu był wpis "auto append version" :>
Offline
Do polecenia make-kpkg dorzuć -j ilość rdzeni procka to znacznie przyśpiesza budowę.
Offline
Wiem wiem, zwykle lata na -j 3 (wedle przeczytanej kiedyś porady gdzieś w dokumentacji gentoo że optymalnie wypada ilość fizycznych rdzeni + 1 ;))
Offline
Ja na 2 rdzeniach zawsze puszczam 5 wątków.
Wtedy czas kompilacji mam najkrótszy (Intel C2D).
Offline
Ja 3, bo zwykle z tego lapka w międzyczasie korzystam i mimo SCHED_AUTOGROUP = 1 powyżej trójki zbyt traci na responsywności (przy nice -n 15), a chłodzenie w T61 mimo tego że dość dobre to jednak mogłoby być lepsze ;)
Offline
Bump i obiecany raport:
make deb-pkg działa, nie rekompiluje wszystkiego bez potrzeby od zera, tworzy z automatu paczki z firmwarem, headery, jądro, nawet libc-dev :D
Jedno ale:
root@geofront:/usr/src/grsec-3.2.52-hanako# ls -lh
razem 285M
-rw-r--r-- 1 root root 430K lis 18 22:53 linux-firmware-image_3.2.52-grsec-hanako-2_amd64.deb
-rw-r--r-- 1 root root 7,8M lis 18 22:53 linux-headers-3.2.52-grsec-hanako_3.2.52-grsec-hanako-2_amd64.deb
[b]rw-r--r-- 1 root root 276M lis 18 23:09 linux-image-3.2.52-grsec-hanako_3.2.52-grsec-hanako-2_amd64.deb[/b]
-rw-r--r-- 1 root root 848K lis 18 22:53 linux-libc-dev_3.2.52-grsec-hanako-2_amd64.deb
Ten rozmiar :D
Muszę się temu bliżej przyjrzeć ;)
Ostatnio edytowany przez enether (2013-11-18 23:17:23)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00092 | 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.59.138' WHERE u.id=1 |
0.00061 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.224.59.138', 1732210674) |
0.00038 | SELECT * FROM punbb_online WHERE logged<1732210374 |
0.00062 | DELETE FROM punbb_online WHERE ident='3.142.124.119' |
0.00047 | SELECT topic_id FROM punbb_posts WHERE id=245983 |
0.00004 | SELECT id FROM punbb_posts WHERE topic_id=24630 ORDER BY posted |
0.00040 | 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=24630 AND t.moved_to IS NULL |
0.00017 | SELECT search_for, replace_with FROM punbb_censoring |
0.00126 | 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=24630 ORDER BY p.id LIMIT 0,25 |
0.00078 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24630 |
Total query time: 0.00579 s |