1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-kernel_linux_config

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 9.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.03.2025 19:50 5262322

Конфигурационный компонент

Обзор

Ядро Linux OpenHarmony основано на открытом исходном коде LTS 4.19.y / 5.10.y ветках Linux. На этой основе применяются патчи CVE и специфичные для OpenHarmony характеристики, что образует базовое ядро OpenHarmony. Для различных микросхем производители внедряют соответствующие патчи драйверов уровня платы, чтобы адаптировать базовое ядро к конкретной платформе.

Для получения информации о LTS 4.19.y ветке Linux сообщества обратитесь к официальному сайту ядра;

Для получения информации о LTS 5.10.y ветке Linux сообщества обратитесь к официальному сайту ядра.

Содержание

Для стандарта открытого исходного кода разработки системы rk3568 предлагается следующая структура конфигурационных файлов и примеры:``` kernel/linux/config └── linux-5.10 ├── base_defconfig # Конфигурация обязательных модулей ядра или характеристик безопасности ├── type # Конфигурационные директории формата │ ├── small_defconfig # Конфигурационные файлы для малых систем │ └── standard_defconfig # Конфигурационные файлы для стандартных систем ├── form # Конфигурационные директории версий │ └── debug_defconfig # Конфигурационные файлы для отладочных версий (пример пока не используется) ├── rk3568 # Директория конфигураций платформы производителя │ └── arch │ └── arm64_defconfig # Конфигурационные файлы для 64-битных версий микросхем └── product # Директория типовых продуктов └── phone_defconfig # Конфигурационные файлы для телефонных устройств


1. Основные универсальные конфигурационные файлы (base): они содержат обязательные модули ядра, зависящие от специфических требований OpenHarmony, а также важнейшие характеристики безопасности. Эти конфигурации не могут быть переопределены. Любое добавление или изменение этих конфигураций должно быть одобрено на внутреннем совещании ядра SIG. Это основной обязательный конфигурационный файл.

2. Конфигурационный файл системы (type): Этот обязательный конфигурационный файл предоставляет общие рекомендации для различных версий ядра. Он определяется параметром компиляции build_type.

3. Конфигурационный файл версии (form): Этот необязательный конфигурационный файл используется для разделения типов версий. Он определяется параметром компиляции build_variant. Если файл отсутствует, то этот уровень конфигурации игнорируется.

4. Конфигурационный файл платформы микросхем (chip): Этот обязательный конфигурационный файл предоставляется конкретным производителем и связан с модулями ядра, драйверами и другими компонентами микросхем и одноплатных компьютеров. Он определяется параметром компиляции target_cpu.5. Конфигурационный файл типа продукта (product): В случае, если одна платформа микросхем имеет несколько продуктовых вариантов, требуется различение этих конфигураций. Это необязательный уровень конфигурации, который определяется параметром компиляции device_type.## Инструкция по использованию <a name="section1393789267"></a>

1. Включение патчей HDF

    В репозитории `kernel/linux/build` следует включить патчи HDF для различных версий ядра согласно методу, указанному в файле `kernel.mk`:

    ```
    $(OHOS_BUILD_HOME)/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(KERNEL_PATCH_PATH) $(DEVICE_NAME)
    ```

2. Включение патчей драйверов платформы микросхем

    Например, для Hi3516DV300:

    В репозитории `kernel/linux/build` следует поместить соответствующие патчи компонентов микросхем в соответствии с правилами названий и расположения патчей, указанными в файле `kernel.mk`:

    ```
    DEVICE_PATCH_DIR := $(OHOS_BUILD_HOME)/kernel/linux/patches/${KERNEL_VERSION}/$(DEVICE_NAME)_patch
    DEVICE_PATCH_FILE := $(DEVICE_PATCH_DIR)/$(DEVICE_NAME).patch
    ```

3. Изменение конфигурации для компиляции

    В репозитории `kernel/linux/build` следует поместить соответствующую конфигурацию компонента микросхем в соответствии с правилами названий и расположения конфигураций, указанными в файле `kernel.mk`:

    ```
    KERNEL_CONFIG_PATH := $(OHOS_BUILD_HOME)/kernel/linux/config/${KERNEL_VERSION}
    DEFCONFIG_FILE := $(DEVICE_NAME)_$(BUILD_TYPE)_defconfig
    ```    > **Внимание:** 
    >
    > Поскольку процесс сборки OpenHarmony копирует исходную среду кода kernel/linux/linux-\*\.\*, перед применением патчей, необходимо наличие исходной среды кода kernel/linux/linux-\*\.\*.
    >
    > После завершения сборки проекта, в каталоге out/kernel будет создан соответствующий реальному компилированному ядру файл .config. Этот файл следует скопировать в соответствующий каталог config для применения конфигурации. ## Инструкция по сборке <a name="section19369206113115"></a>
В качестве примера рассмотрим разработку в окружении hi3516dv300 открытой платформы + Ubuntu x86 хоста.Используйте команду полной сборки проекта для компиляции, чтобы сгенерировать образ uImage ядра:

```bash
./build.sh --product-name Hi3516DV300             # Компиляция образа hi3516dv300
    --build-target build_kernel                   # Компиляция uImage ядра для hi3516dv300
    --gn-args linux_kernel_version=\"linux-5.10\" # Компиляция указанной версии ядра

Относительные репозитории

kernel_linux_config

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-kernel_linux_config.git
git@api.gitlife.ru:oschina-mirror/openharmony-kernel_linux_config.git
oschina-mirror
openharmony-kernel_linux_config
openharmony-kernel_linux_config
master