THIS IS POLISH TRANSLATION OF TOM3Q'S HOW-TO
Jest to moje własne tłumaczenie. Tłumaczenie to możecie rozpowszechniać, modyfikować, etc. Mam nadzieję, że komuś się przyda i zaznaczam, że przetłumaczenie pewnych specyficznych informatycznych wyrażeń nie jest proste.
ZACZYNAMY!
Potrzebne:
- około 1GB wolnego miejsca na dysku na źródła
- odpowiednie, działające narzędzia do kompilacji na ARM, to jest m.in. cross compiler
Pobieranie i kompilacja kernela:
Musimy pobrać źródła do katalogu na naszym komputerze wykorzystując np. git. Przechodzimy więc w terminalu/konsoli do odpowiedniego katalogu poleceniem
Code:
cd /odpowiednia/lokalizacja/
u mnie jest to
Code:
cd /home/sunbeam/kernel-spica/
Teraz musimy pobrać repozytorium initramfs
Code:
git clone git://github.com/tom3q/initramfs-3.0.git
i repozytorium kernela
Code:
git clone git://github.com/tom3q/spica-3.0.git
Wchodzimy do katalogu spica-3.0
Kolejnym krokiem będzie utworzenie skryptu o nazwie envsetup.sh. Do pliku wklejamy następujące polecenia:
Code:
#!/bin/sh
export ARCH=arm
export CROSS_COMPILE=your-cross-compilation-toolchain-prefix-here-
export INITRAMFS_SOURCE_PATH=/sciezka/do/pobranego/initramfs-3.0
Zapisujemy i nadajemy skryptowi prawa do uruchamiania:
Code:
chmod a+x envsetup.sh
Importujemy envsetup.sh do powłoki (shell)
Teraz zaczynamy zabawę naszym jąderkiem ^^
Code:
make gt_i5700_defconfig
UWAGA! Jeśli kompilujemy kernel dla Androida 4, wpisujemy:
Code:
make gt_i5700_ics_defconfig
Przy pierwszej kompilacji konieczne jest utworzenie pliku zastępującego moduł wlan, dopóki ten nie zostanie skompilowany. (Inaczej kompilacja się nie powiedzie.)
Code:
touch ${INITRAMFS_SOURCE_PATH}/lib/modules/bcmdhd.ko Rozpoczynamy kompilację jądra. W miejsce x wstawiamy liczbę rdzeni procesora w naszym komputerze +1:
Na przykład dla 2 rdzeniowego procesora z Hyper-Threading (4 logiczne procesory) będzie to wyglądało tak:
Następnie kopiujemy wynikowy moduł/sterownik bcdmdhd.ko tam, gdzie pobraliśmy initramfs
Code:
cp drivers/net/wireless/bcmdhd/bcmdhd.ko /sciezka/do/initramfs/lib/modules/
Budujemy initramfs (zbudowane zostanie tylko to, co zostało zmienione)
Skompilowany kernel znajduje się w:
Code:
arch/arm/boot/zImage
UWAGI:
- skrypt envsetup.sh musi zostać zaimportowany za każdym razem, gdy pracujemy nad kernelem w nowym środowisku/shellu (np. nowa karta/okno konsoli)
- przy każdej rekompilacji kernela nowy moduł bcmdhd musi zostać skopiowany do initramfs
- plik konfiguracyjny kernela .config nie powinien być modyfikowany ręcznie, od tego jest menuconfig
- jeżeli nie rozumiesz którejś części instrukcji (i nie jesteś w stanie znaleźć wyjaśnienia) to prawdopodobnie nie powinieneś jej czytać (ani wykonywać)
- zwykle po zmianach uruchamianie polecenia make clean nie jest konieczne
Bookmarks