# Phytium-OpenEuler-Embedded-BSP **Repository Path**: phytium_embedded/phytium-openeuler-embedded-bsp ## Basic Information - **Project Name**: Phytium-OpenEuler-Embedded-BSP - **Description**: 这是openEuler Embedded系统中 飞腾CPU的BSP支持包, 基于openEuler 24.03 LTS , 支持欧拉的5.10和6.6内核, 支持飞腾 腾云/腾锐/腾珑 CPU。 对应 oebuild 构建中的 yocto-meta-openeuler/bsp/meta-phytium - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2024-08-09 - **Last Updated**: 2025-12-19 ## Categories & Tags **Categories**: chips **Tags**: None ## README #### 介绍 这是openEuler Embedded系统中 飞腾CPU的BSP支持包, 基于openEuler 24.03 LTS 基线, 默认5.10内核(可修改为6.6内核)。 对应 oebuild 构建中的 yocto-meta-openeuler/bsp/meta-phytium **具体的使用方法请参见《Phytium CPU OpenEuler Embedded 用户使用手册》,手册文档在这里查看 https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/linux** 以下是简略说明: #### 1 安装oebuild ``` $ sudo apt-get install python3 python3-pip $ sudo pip install oebuild ``` #### 2 安装docker ``` $ sudo apt install docker docker.io -y $ sudo groupadd docker $ sudo usermod -a -G docker $(whoami) $ sudo systemctl reload docker && systemctl restart docker $ sudo chmod o+rw /var/run/docker.sock ``` #### 3 通过脚本自动设置编译环境 进入工程根目录执行以下命令自动完成开发环境设置 ``` $ git clone https://gitee.com/phytium_embedded/phytium-openeuler-embedded-bsp.git $ cd phytium-openeuler-embedded-bsp $ ./phytium_bsp_deploy.sh /home/ 该脚本实现了初始化oebuild目录、下载 openeuler meta-phytium bsp和复制飞腾平台配置文件 ``` #### 4 手动配置编译镜像 ##### 4.1 初始化oebuild目录 ``` $ oebuild init -b openEuler-24.03-LTS ``` 创建编译配置文件 ``` $ cd $ oebuild update ``` ##### 4.2 下载 openeuler meta-phytium bsp 和复制飞腾平台配置文件 ``` $ rm -rf src/yocto-meta-openeuler/bsp/meta-phytium $ git clone https://gitee.com/phytium_embedded/phytium-bsp-openeuler-embedded.git src/yocto-meta-openeuler/bsp/meta-phytium $ cp src/yocto-meta-openeuler/bsp/meta-phytium/phytium.yaml src/yocto-meta-openeuler/.oebuild/platform/ $ cp src/yocto-meta-openeuler/bsp/meta-phytium/sdk.yaml src/yocto-meta-openeuler/.oebuild/features/ $ cp src/yocto-meta-openeuler/bsp/meta-phytium/openeuler-ros-distro-recipe-blacklist.inc src/yocto-meta-openeuler/meta-openeuler/conf/openeuler-ros-distro-recipe-blacklist.inc ``` ##### 4.3 执行构建操作 ``` $ cd # 建立构建配置、生成工作路径 $ oebuild generate -p phytium $ cd /build/phytium # 执行构建命令 $ oebuild bitbake openeuler-image # 或者 $ oebuild bitbake phydisk ``` #### 5 定制化构建(根据需要) ##### 5.1 修改内核选项 ``` $ cd $ cd /build/phytium $ oebuild bitbake $ bitbake -c menuconfig linux-openeuler ``` ##### 5.2 支持编译SD卡镜像(只适用于飞腾派开发板,其他开发板请忽略) ``` 在local.conf.sample 里添加变量如下变量 $ vim src/yocto-meta-openeuler/.oebuild/local.conf.sample $ MACHINE_FEATURES += " sd" uboot 默认支持4G内存,如果支持2G内存修改如下变量 $ vim recipes-bsp/phyuboot/phyuboot.bb $ RAMSIZE="2GB" ``` 然后执行构建操作 ##### 5.3 使用6.6内核 ``` # 添加选项 -f kernel6 $ oebuild generate -p phytium -f kernel6 $ oebuild bitbake openeuler-image ``` ##### 5.4 使用RT实时内核 ``` # 添加选项 -f rt $ oebuild generate -p phytium -f rt $ oebuild bitbake openeuler-image ``` 修改实时内核的内核选项 ``` $ cd $ cd /build/phytium $ oebuild bitbake $ bitbake -c menuconfig linux-openeuler-rt ``` ##### 5.5 构建带有iSula的镜像 ``` # 添加选项 -f isulad $ oebuild generate -p phytium -f isulad $ oebuild bitbake openeuler-container-os ``` ##### 5.6 支持包管理器EPKG ``` # 添加选项 -f epkg $ oebuild generate -p phytium -f epkg $ oebuild bitbake openeuler-image ``` ##### 5.7 支持开发板上编译内核模块和应用的镜像 ``` # 添加选项 -f sdk # 文件系统中就包括" kernel-devsrc gcc g++ make autoconf automake gcc-symlinks" 这些工具了 $ oebuild generate -p phytium -f sdk $ oebuild bitbake openeuler-image #开发板上编译应用,需要设置如下环境变量 export LIBRARY_PATH=/lib64/gcc/aarch64-openeuler-linux-gnu/12.3.1:$LIBRARY_PATH ``` ###### 5.7.1 编译内核模块样例 ``` #利用linux-headers可以在开发板上进行内核模块编译,软链接/lib/modules/xxx/build指向linux-headers。 #在开发板上编译内核外部模块的命令为: make -C /lib/modules/xxx/build M=$PWD modules #编写Makefile,可以参考如下文件 #https://gitee.com/phytium_embedded/phytium-openeuler-embedded-bsp/tree/master/recipes-kernel/hello-mod/files ``` ###### 5.7.2 编译应用样例 ``` #开发板上编译hello world应用,需要设置如下环境变量 export LIBRARY_PATH=/lib64/gcc/aarch64-openeuler-linux-gnu/12.3.1:$LIBRARY_PATH #编译生成二进制文件 gcc hello.c ``` #### 6 编译完成后的镜像输出位置 ``` /build/phytium/tmp/deploy/images/phytium: kernel image ,rootfs ,dtb ,iso and phydisk.img ``` #### 7 openEuler Embedded ISO 镜像安装 ``` 请参考WIKI中的openEuler Embedded ISO 镜像安装说明 https://gitee.com/phytium_embedded/phytium-openeuler-embedded-bsp/wikis/openEuler%20Embedded%20ISO%20%E9%95%9C%E5%83%8F%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E?sort_id=14623712 ``` 开发板上安装软件包 ``` $ epkg install (安装软件) $ epkg remove (卸载软件) ``` ## Maintainers * guochunrong ``