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

OSCHINA-MIRROR/openharmony-kernel_linux_patches

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Патч

  • Введение
  • Структура каталогов
  • Использование
  • Сборка
  • Репозитории, которые используются

Введение

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

Для получения дополнительной информации о Linux LTS 4.19.y посетите официальный веб-сайт ядра (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-4.19.y).

Для получения дополнительной информации о Linux LTS 5.10.y посетите официальный веб-сайт ядра (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/?h=linux-5.10.y).

В процессе сборки можно объединить код драйвера на основе платформы чипа и создать образ ядра. Все патчи лицензированы под GNU General Public License (GPL) 2.0.

Структура каталогов

kernel/linux
├── build
│   ├── BUILD.gn                    # GN файл фреймворка сборки
│   ├── kernel.mk               # Файл сборки ядра
│   └── ohos.build              # Файл компонента сборки ядра
├── patches
│   ├── linux-4.19              # Патчи linux-4.19
│   │    ├── common_patch
│   │         └── hdf.patch       # Патчи HDF linux-4.19
│   │    └── hispark_taurus_patch
│   │           └── hispark_taurus.patch    # Патчи Hi3516D V300 SOC linux-4.19
│   └── linux-5.10
│     │    ├── common_patch
│     │         └── hdf.patch       # Патчи HDF linux-5.10
│     │    └── hispark_taurus_patch
│     │           └── hispark_taurus.patch    # Патчи Hi3516D V300 SOC linux-5.10
│     └── rk3568_patch
│          ├── kernel.patch        # Патчи rk3568 SOC linux-5.10
│          └── hdf.patch       # Кастомизированные патчи HDF rk3568 linux-5.10
└── config
    ├── linux-4.19
    │    └── arch
    │        └── arm
    │            └── configs
    │                ├── hispark_taurus_small_defconfig       # Small-system defconfig открытой Hi3516D V300 от HiSilicon
    │                ├── hispark_taurus_standard_defconfig    # Standard-system defconfig открытой Hi3516D V300 от HiSilicon
    │                ├── small_common_defconfig            # Common defconfig маленькой системы ядра
    │                └── standard_common_defconfig         # Common defconfig стандартной системы ядра
    └── linux-5.10
        └── arch
            └── arm
                └── configs
                    ├── hispark_taurus_small_defconfig       # Small-system defconfig открытой Hi3516D V300 от HiSilicon
                    ├── hispark_taurus_standard_defconfig    # Standard-system defconfig открытой Hi3516D V300 от HiSilicon
                    ├── small_common_defconfig            # Common defconfig маленькой системы ядра
                    └── standard_common_defconfig         # Common defconfig стандартной системы ядра

Использование

  1. Примените патчи HDF.

Примените патчи ядра HDF, соответствующие вашей версии ядра. Для получения подробной информации см. метод в kernel.mk в репозитории kernel/linux/build.

$(OHOS_BUILD_HOME)/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(KERNEL_PATCH_PATH) $(DEVICE_NAME)
  1. Примените патчи драйвера чипа.

Следующий пример использует Hi3516D V300 в качестве примера.

Разместите патчи для компонента чипа в соответствующем пути на основе пути и правил именования для патчей компонента чипа в kernel.mk в репозитории kernel/linux/build. $(DEVICE_PATCH_DIR)/$(DEVICE_NAME).patch ```

  1. Измените файл config для сборки.

Разместите файл config для компонента чипа в соответствующем пути на основе пути и правил именования компонента чипа в kernel.mk в репозитории kernel/linux/build.

```
KERNEL_CONFIG_PATH := $(OHOS_BUILD_HOME)/kernel/linux/config/${KERNEL_VERSION}
DEFCONFIG_FILE := $(DEVICE_NAME)_$(BUILD_TYPE)_defconfig
```

Примечание:

В процессе сборки проекта OpenHarmony патчи устанавливаются после копирования kernel/linux/linux-*.*. Перед использованием команды сборки уровня версии OpenHarmony убедитесь, что исходный код kernel/linux/linux-*.* доступен.

Ядро, построенное генерируется в каталоге kernel под каталогом out. На основе собранного ядра измените файл config, скопируйте сгенерированный файл .config в соответствующий путь в репозиторий config. Затем конфигурация вступает в силу.

Сборка

В качестве примера используются плата разработки Hi3516D V300 и сервер Ubuntu x86.

Выполните полную сборку проекта, чтобы создать образ ядра uImage.

./build.sh --product-name Hi3516DV300              # Скомпилировать образ Hi3516D V300.
--build-target build_kernel                    # Создать образ uImage ядра Hi3516D V300.
--gn-args linux_kernel_version=\"linux-5.10\"  # Собрать указанную версию ядра.

Задействованные репозитории

kernel_linux_patches

Комментарии ( 0 )

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

Введение

Патчи ядра Linux 4.19 для встраиваемых устройств, работающих под управлением стандартной системы. Расширить Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/openharmony-kernel_linux_patches.git
git@gitlife.ru:oschina-mirror/openharmony-kernel_linux_patches.git
oschina-mirror
openharmony-kernel_linux_patches
openharmony-kernel_linux_patches
master