mirror of
https://gitflic.ru/project/npo_rbs/repka-os_kernel.git
synced 2025-04-11 06:44:15 +00:00
86 lines
No EOL
4.3 KiB
Markdown
86 lines
No EOL
4.3 KiB
Markdown
# 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.
|
||
|
||
|
||
## Перед сборкой
|
||
Перед сборкой необходимо установить следующие пакеты:
|
||
```bash
|
||
sudo apt install -y build-essential flex bison libssl-dev libelf-dev bc rsync cpio u-boot-tools
|
||
```
|
||
|
||
## Сборка
|
||
Для сборки ядра необходимо выполнить следующие команды:
|
||
|
||
1. Скопировать сгенерированный заранее конфигурационный файл (для того, чтобы каждый раз не конфигурировать ядро):
|
||
```bash
|
||
cp repka_configs/.config.old .
|
||
```
|
||
|
||
2. Сконфигурировать ядро из ранее готового конфигурационного файла.
|
||
```bash
|
||
make olddefconfig
|
||
```
|
||
|
||
3. Запустить сборку ядра:
|
||
```bash
|
||
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. После загрузки необходимо установить пакеты:
|
||
```bash
|
||
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. Его необходимо распаковать:
|
||
```bash
|
||
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:
|
||
```bash
|
||
reboot
|
||
```
|
||
|
||
## Как формируется версия ядра для Repka Pi 4
|
||
Учитывая то, что данный репозиторий является фактически форком репозитория ядра Linux было принято решение
|
||
реализовывать его версионность на базе основной версии Linux, но с добавлением дополнительного значения, которое
|
||
прописано по пути repka_configs/.version
|
||
```
|
||
Как выглядит версия ядра Linux (с нашим дополнением):
|
||
6.6.44-3
|
||
│ │
|
||
│ └── 3 - номер версии (доработка команды Repka Pi, именно она будет изменяться с новыми обновлениями)
|
||
└── 6.6.44 - версия ядра Linux (по стандарту Linux)
|
||
``` |