7 Star 17 Fork 13

Phytium嵌入式软件/Phytium-Linux-Yocto

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

phytium-linux-yocto

Yocto Project 是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。

phytium-linux-yocto基于Yocto,适配了飞腾E2000,D2000,FT-2000/4等CPU和X100套片,支持用户定制系统。

用户手册位于https://gitee.com/phytium_embedded/phytium-embedded-docs/tree/master/linux

预备知识

Yocto涉及了rootfs、make、Kconfig、Linux command、Shell scripts、U-Boot、Linux kernel、dts等相关知识,了解与熟悉它们有助于Yocto的使用。 了解上述知识,可以参考Wiki:相关知识与学习链接

开发环境

系统要求

我们只支持在Ubuntu22.04、Debian11这二种x86主机上运行,最少4GB内存,磁盘剩余空间至少50GB

首先,phytium-linux-yocto 需要主机系统上安装如下软件包

   sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib 

   build-essential chrpath socat cpio python3 python3-pip python3-pexpect 
   
   xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa 
   
   libsdl1.2-dev pylint3 xterm libncursesw5-dev openssl libssl-dev zstd lz4

通过repo manifest获取phytium-linux-yocto

   安装 repo 工具:
   $: mkdir ~/bin

   $: curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo

   $:  export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

   $:  chmod a+x ~/bin/repo

   $: PATH=~/bin:${PATH}

   Download the Yocto layers:

   $: export PATH=~/bin:${PATH}

   $: mkdir <release>

   $: cd <release>

   $: repo init -u https://gitee.com/phytium_embedded/phytium-linux-yocto  -m default.xml

   $: repo sync --force-sync

支持开发板

支持飞腾嵌入式CPU, E2000 D2000 FT-2000/4 等CPU.

构建镜像

构建phytium 镜像:

$: . ./setup-env -m phytium

$: bitbake core-image-minimal

或:

$: bitbake core-image-xfce

或:

$: bitbake phydisk

支持编译SD卡镜像

在local.conf 里添加变量如下变量

MACHINE_FEATURES:append = " sd"

$ bitbake phydisk

镜像的输出位置 tmp/deploy/images/phytium/.

phydisk镜像的使用

Phydisk.img 镜像包含了根文件系统、内核、设备树和GRUB。 使用img 镜像安装系统,不需要像之前那样将存储设备手动分区再拷贝文件,只需要将phydisk.img文件写入存储设备即可。

$ sudo umount /dev/sdb*

$ sudo dd if=phydisk.img of=/dev/sdb bs=1M

$ sync

Uefi启动系统

如果是使用phydisk.img 镜像安装系统,将存储设备接到开发板,启动开发板电源,进入UEFI 模式,选择启动的介质,即可自动启动系统。

Uboot启动

安装系统后,将存储设备接到开发板,启动开发板电源,串口输出U-Boot命令行,设置U-Boot环境变量来启动系统。

=>setenv bootargs console=ttyAMA1,115200 audit=0 earlycon=pl011,0x2800d000 root=PARTUUID="0a52c129-7e0f-43ad-989f-d96b07ccdbb2" rootdelay=5 rw;

=>setenv bootcmd 'usb start;fatload usb 0:1 0x90100000 Image;fatload usb 0:1 0x90000000 e2000q-demo-board.dtb;booti 0x90100000 - 0x90000000'

=>saveenv

登录

文件系统只需要输入用户名root,按回车键,没有密码。

编译构建 Multilib

Yocto 支持构建multilib系统,系统同时运行32位和64为应用程序

修改 local.conf

  • 添加下列内容

    require conf/multilib.conf

    MULTILIBS = "multilib:lib32"

    DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon"

  • 添加32 位库到文件系统

    IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc lib32-libstdc++"

常见问题

如何编译Linux RT 内核?

在local.conf 里添加变量  PREFERRED_PROVIDER_virtual/kernel = "linux-phytium-rt" .

如何编译Linux 4.19 版本内核 ?

在local.conf 里添加变量 PREFERRED_VERSION_linux-phytium = "4.19".

如何编译用户自定义内核 ?

在 local.conf 里添加下列变量

INHERIT += "externalsrc"

EXTERNALSRC:pn-linux-phytium = "path-to-your-source-tree".

如何编译最小文件系统 ?

在 local.conf 里添加下列变量

DISTRO_FEATURES:remove = " x11 opengl virtualization polkit pam seccomp"

$ bitbake core-image-minimal

贡献

请提交补丁给 guochunrong@phytium.com.cn

维护者

GuoChunRong <guochunrong@phytium.com.cn>

空文件

简介

本项目发布了基于Yocto 4.0的phytium Linux sdk 组件, 适用于飞腾CPU,包括编译工具,交叉工具链,启动镜像文件,文件系统,请依据本项目的readme和《飞腾嵌入式Linux Yocto4.0用户手册》来构建 Phytium Embedded Linux. 展开 收起
取消

发行版 (5)

全部

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/phytium_embedded/phytium-linux-yocto.git
git@gitee.com:phytium_embedded/phytium-linux-yocto.git
phytium_embedded
phytium-linux-yocto
Phytium-Linux-Yocto
master

搜索帮助