Патч
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 стандартной системы ядра
Примените патчи ядра 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)
Следующий пример использует Hi3516D V300 в качестве примера.
Разместите патчи для компонента чипа в соответствующем пути на основе пути и правил именования для патчей компонента чипа в kernel.mk в репозитории kernel/linux/build. $(DEVICE_PATCH_DIR)/$(DEVICE_NAME).patch ```
Разместите файл 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 )