j
jądro i moduły nie większe niŻ 100MB jak to zrobić?
Cześć.
Powiedzmy, że już wiem jak skompilować i zainstalować jądro. Problem jest taki, że z modułami ma ono jakieś 1,2GB. Jest to stanowczo za dużo, docelowo chcę by wszystko nie zajmowało 100MB, pewnie i tak by było gdybym kompilował go dla swojej platformy. Niestety to jądro ma obsługiwać dość dużą ilość sprzętu. Chcę by przynajmniej te najczęściej spotykane urządzenia obsługiwało, bez tych wszystkich staroci jakie są na rynku.
Co muszę obowiązkowo dodać do jądra a co mogę wyrzucić? I czy to w ogóle wykonalne by zejść do 100MB?
Może zastosuje jakiś inny rodzaj jądra?
Powiedzmy, że już wiem jak skompilować i zainstalować jądro. Problem jest taki, że z modułami ma ono jakieś 1,2GB. Jest to stanowczo za dużo, docelowo chcę by wszystko nie zajmowało 100MB, pewnie i tak by było gdybym kompilował go dla swojej platformy. Niestety to jądro ma obsługiwać dość dużą ilość sprzętu. Chcę by przynajmniej te najczęściej spotykane urządzenia obsługiwało, bez tych wszystkich staroci jakie są na rynku.
Co muszę obowiązkowo dodać do jądra a co mogę wyrzucić? I czy to w ogóle wykonalne by zejść do 100MB?
Może zastosuje jakiś inny rodzaj jądra?
Kod: Zaznacz cały
-rw-r--r-- 1 root root 4,2M 02-25 18:09 initrd.img-2.6.32.8-lite
-rw-r--r-- 1 root root 3,1M 02-16 17:19 vmlinuz-2.6.32.8-liteKod: Zaznacz cały
lite@lite-debian:/lib/modules$ du -h | grep lite | tail -1
44M ./2.6.32.8-lite[quote="LiTE"]
Da się i to raczej całkiem normalne rozmiary ]
Zdradź mi swój sekret :->
Jak tego dokonałeś?
Kod: Zaznacz cały
-rw-r--r-- 1 root root 4,2M 02-25 18:09 initrd.img-2.6.32.8-lite
-rw-r--r-- 1 root root 3,1M 02-16 17:19 vmlinuz-2.6.32.8-liteKod: Zaznacz cały
lite@lite-debian:/lib/modules$ du -h | grep lite | tail -1
44M ./2.6.32.8-liteZdradź mi swój sekret :->
Jak tego dokonałeś?
http://lite.rootnode.net/upload/upload_ ... .32.8-liteI.L.O. pisze: [ Dodano: |4 Mar 2010|, 2010 14:35 ]
LiTE a możesz pożyczyć mi swojego config-a do kernela?
I to da się sporo mniej.
Co prawda to jądro z Gentoo, ale debianowe jądro też tak małe może być. Musisz okroić go z niepotrzebnych sterowników. To już da sporo. Ale uważaj, bo jak Ci braknie czegoś to może się skończyć:
Initramfs nie byłby potrzebny gdyby nie startowanie z szyfrowanej partycji root i używanie fbsplash i fbcondecor.
Edycja:
Aż z ciekawości sprawdziłem ile zajmuje na pendrivie z Debianem:
Jadro co prawda kompilowany własnoręcznie ale z oryginalnymi ustawieniami Debiana. Wykonałem: po skopiowaniu ustawień debianowego jądra i zmieniłem tylko jedną opcje. Więc nie wiem skąd Ty wziąłeś takie wyniki. No chyba, że liczysz źródła po kompilacji. Zrób:to Ci się zmniejszą, a jak robiłeś sposobem z Debiana to:i zostaną czyste źródła. O ile się nie mylę jak je zostawisz to nie potrzebne Ci będą pliki nagłówkowe. Tylko nie wykonuj:bo powrócisz do zupełnie czystych źródeł tak jak po rozpakowaniu. Nawet nie będzie konfiguracji tej, z którą kompilowałeś pierwszy raz.
¬ródła po kompilacji:
Kod: Zaznacz cały
ryba@lapek /lib/modules $ ls -lh /boot/ | grep zen12
-rw-r--r-- 1 root root 2,1M 02-07 20:18 gentoo-2.6.31-zen12-rr-1
-rw-r--r-- 1 root root 4,3M 02-07 20:20 initramfs-2.6.31-zen12-rr-1
ryba@lapek /lib/modules $ du -h | grep zen12 | tail -1
6,5M ./2.6.31-zen12-rr-1Kod: Zaznacz cały
kernel panicEdycja:
Aż z ciekawości sprawdziłem ile zajmuje na pendrivie z Debianem:
Kod: Zaznacz cały
ryba@lapek /media/disk-1 $ ls -lh | grep 2.6.31
-rw-r--r-- 1 root root 6,5M 02-20 16:58 initrd.img-2.6.31.12-190210
-rw-r--r-- 1 root root 2,2M 02-19 21:08 vmlinuz-2.6.31.12-190210
ryba@lapek /media/disk-2/lib/modules $ du -h | grep 2.6.31 | tail -1
72M ./2.6.31.12-190210
Kod: Zaznacz cały
make oldconfigKod: Zaznacz cały
make cleanKod: Zaznacz cały
make-kpkg cleanKod: Zaznacz cały
make mrproper¬ródła po kompilacji:
Kod: Zaznacz cały
ryba@lapek /usr/src $ du -h | grep zen12 | tail -1
568M ./linux-2.6.31-zen12
Mój konfig pochodzi z systemu, który obecnie posiadam. To system pochodny Ubuntu, tu prawie wszystkie opcje w jądrze były zaznaczone jako moduły.
Kiedyś instalowałem czystego Debiana i Ubuntu, oba bez środowiska graficznego. Jeden zajmował 500MB, a drugi 1500MB, ten 1GB różnicy to chyba moduły.
Kiedyś instalowałem czystego Debiana i Ubuntu, oba bez środowiska graficznego. Jeden zajmował 500MB, a drugi 1500MB, ten 1GB różnicy to chyba moduły.
A mam to zrobić po konfiguracji jądra, czy może przed?ryba84 pisze:to Ci się zmniejszą, a jak robiłeś sposobem z Debiana to:Kod: Zaznacz cały
make clean
To polecenie wykonaj po kompilacji lub przed kolejną próbą. Usuwa ono wszystkie śmieci powstałe podczas kompilacji i pozwala na wykonanie kolejnej.
Ps. pokaż wyniki poleceń:
i wynik:
Po drugim poleceniu dowiesz się ile zajmują Ci moduły w jądrze którego używasz.
Ps. pokaż wyniki poleceń:
Kod: Zaznacz cały
cd /boot && ls -lhKod: Zaznacz cały
cd /lib/modules && du -h | grep `uname -r` | tail -1