W jaki sposób skompilować lekkie jądro Linuxa do rozmiaru poniżej 1MB

Aby skompilować lekką wersję jądra Linuxa, możesz postępować według poniższych kroków:

Pobierz kod źródłowy jądra

Możesz pobrać go z oficjalnej strony jądra Linuxa lub z repozytorium dystrybucji, którą używasz lub z github np:

    # UWAGA! Ważna uwaga, niniejsza linijka spowoduje pobranie wielkiego repozytorium Linuxa. To są konkretne dziesiątki Gigabajtów!
    
    $ git clone https://github.com/torvalds/linux.git
    
    # Lepszym sposobem będzie pobranie konkretnego taga z określoną wersją i z poziomem zmian (depth 1), która nas interesuje np: v6.12 (rozmiar katalogu ~3 GB)
    
    $ git clone --depth 1 --branch v6.12 https://github.com/torvalds/linux.git
    $ cd linux

    Przygotuj swoje środowisko

    Upewnij się, że masz wszystkie niezbędne narzędzia do kompilacji, takie jak build-essential, gcc, make i inne.

      # W Linux Ubuntu dla przykładu musisz wykonać niniejszą komendę
      
      $ sudo apt install build-essential gcc make m4
      1. Wykonaj konfigurację: Przed kompilacją, musisz skonfigurować jądro, aby było zoptymalizowane pod kątem lekkiego sprzętu. Możesz użyć opcji make menuconfig lub make xconfig do dostosowania opcji jądra. Jednak, aby posiadać lekkie jądro potrzebujemy wydać komendę make tinyconfig
      $ make defconfig
      
      $ make tinyconfig

      Skompiluj jądro

      Użyj polecenia make do skompilowania jądra. Możesz dodać opcję -j do przyspieszenia procesu kompilacji, np. make -j4.

        $ make -j 4

        $ ls -la linux/arch/x86/boot/bzImage
        -rw-rw-r– 1 bieli bieli 791552 sty 29 19:54 linux/arch/x86/boot/bzImage

        Zainstaluj jądro

        Po skompilowaniu, użyj polecenia make install do zainstalowania nowego jądra.

        $ make install

        Emulacja działania i uruchomienie jądra Linux w QEMU

        Jako alternatywa może będziesz chciał zobaczyć jak działa Twoje lekkie jądro Linuxa w emulatorze. Oto jak tego dokonać.

          Spójrzmy na linijkę poniżej – widać, że jądro Linux jest bardzo małe (porównując do obecnych dystrybucji t.j. Linux Ubuntu to jest ok. 400 MB). Nasze lekkie jądro ma rozmiar 791kB !!!

          $ ls -la linux/arch/x86/boot/bzImage
          -rw-rw-r– 1 bieli bieli 791552 sty 29 19:54 linux/arch/x86/boot/bzImage


          $ sudo apt install qemu-system

          $ qemu-system-x86_64 -kernel linux/arch/x86/boot/bzImage

          Oto efekt utuchomienia Twojego lekkiego jądra Linux – gratulacje, swoją pierwszą kompilację lekkiego Linuxa masz już za sobą!!! Jak widzisz, że jest to banalnie proste!?

          About the author