repka-os_kernel/README.md
2025-03-13 16:17:59 +04:00

4.3 KiB
Raw Permalink Blame History

Linux Kernel for Repka Pi 4

Данный репозиторий содержит исходный код ядра Linux для платы Repka Pi 4.

Версии необходимых утилит для сборки:

Утилита Версия
git 2.43.0
gcc 4:11.2.0-1ubuntu1
bc 1.07.1-3build1
bison 2:3.8.2+dfsg-1build1
build-essential 12.9ubuntu3
cpio 2.13+dfsg-7ubuntu0.1
flex 2.6.4-8build2
libelf-dev :arm64 0.186-1build1
libssl-dev :arm64 3.0.2-0ubuntu1.19
rsync 3.2.7-0ubuntu0.22.04.4
u-boot-tools 2022.01+dfsg-2ubuntu2.6

Примечание: Сборка осуществлялась на ОС Linux Ubuntu 22.04.5 LTS с архитектурой aarch64.

Перед сборкой

Перед сборкой необходимо установить следующие пакеты:

sudo apt install -y build-essential flex bison libssl-dev libelf-dev bc rsync cpio u-boot-tools

Сборка

Для сборки ядра необходимо выполнить следующие команды:

  1. Скопировать сгенерированный заранее конфигурационный файл (для того, чтобы каждый раз не конфигурировать ядро):

    cp repka_configs/.config.old .
    
  2. Сконфигурировать ядро из ранее готового конфигурационного файла.

    make olddefconfig
    
  3. Запустить сборку ядра:

    make -j$(nproc) bindeb-pkg
    
  4. После успешной сборки в директории выше (./..) появятся следующие файлы:

     ├── repka-os_kernel <-- Директория, в которой вы выполняли команду make
     ├── linux-headers-6.6.443_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
     ├── linux-image-6.6.443_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
     └── linux-libc-dev_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
    

Установка ядра на Repka Pi 4

  1. В первую очередь необходимо загрузить 3 deb-пакета на плату Repka Pi 4 по любому удобному пути.
  2. После загрузки необходимо установить пакеты:
    dpkg -i linux-headers-6.6.443_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
    dpkg -i linux-image-6.6.443_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
    dpkg -i linux-libc-dev_6.6.443-<Хэш коммита>-<Версия сборки>_arm64.deb
    
  3. В данный момент после установки deb-пакета в директории /boot/ появляется заархивированный файл ядра vmlinuz-6.6.44. Его необходимо распаковать:
    gunzip -c /boot/vmlinuz-6.6.44 > /boot/vmlinuz-6.6.44_unpack
    mv /boot/vmlinuz-6.6.44_unpack /boot/vmlinuz-6.6.44
    ln -sf /boot/vmlinuz-6.6.44 /boot/Image
    
  4. После распаковки необходимо перезагрузить Repka Pi 4:
    reboot
    

Как формируется версия ядра для Repka Pi 4

Учитывая то, что данный репозиторий является фактически форком репозитория ядра Linux было принято решение реализовывать его версионность на базе основной версии Linux, но с добавлением дополнительного значения, которое прописано по пути repka_configs/.version

Как выглядит версия ядра Linux (с нашим дополнением):
 6.6.44-3
      │ │
      │ └── 3 - номер версии (доработка команды Repka Pi, именно она будет изменяться с новыми обновлениями)
      └── 6.6.44 - версия ядра Linux (по стандарту Linux)