Chciałbym dowiedzieć się więcej o tym, jak działa jądro. Częścią tego jest samodzielne skompilowanie. Jak skompilować jądro na hoście Ubuntu?
Chciałbym dowiedzieć się więcej o tym, jak działa jądro. Częścią tego jest samodzielne skompilowanie. Jak skompilować jądro na hoście Ubuntu?
Odpowiedzi:
Najpierw musimy zainstalować wymagane wymagania wstępne. Zakładam, że masz sudo
dostęp.
sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
to system kontroli wersji używany przez zespół jądra Linuksa.ncurses
to biblioteka dla menu konsoli kompilacji. Jest to konieczne dla menuconfig
.make
uruchamia dla nas kompilację.gcc-arm-linux-gnueabi
jest kompilatorem krzyżowym.Następnie musimy pobrać źródło, uruchomić:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
Spowoduje to sklonowanie kodu źródłowego do katalogu o nazwie raspberrypi-linux
i przejście do niego.
Najpierw musimy przenieść plik konfiguracyjny, uruchamiając
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
Następnie skonfiguruj kompilację jądra
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
Opcjonalne: Dostosuj kompilację za pomocą menuconfig
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
Następnie uruchom kompilację
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Bibliografia
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Myślę, że Alex ma rację, ale gcc-arm-linux-gnueabi jest skompilowany dla procesora ramienia bez sprzętowej jednostki zmiennoprzecinkowej. Kompilator krzyżowy z obsługą armhf można znaleźć na stronie : https://github.com/raspberrypi/tools i dobry samouczek na początek: http://hertaville.com/2012/09/28/development-environment- raspberry-pi-cross-compiler /
Oficjalna dokumentacja
https://www.raspberrypi.org/documentation/linux/kernel/building.md ( GitHub )
Zalecam, aby po prostu postępować zgodnie z instrukcjami tam zawartymi lub wysłać żądanie ściągnięcia, jeśli coś stanie się nieaktualne lub nie jest wystarczająco jasne: instrukcje te najprawdopodobniej są poprawne i aktualne, ponieważ są częścią oficjalnej dokumentacji projekt.