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 工具:
$: 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.
$: . ./setup-env -m phytium
$: bitbake core-image-minimal
或:
$: bitbake core-image-xfce
或:
$: bitbake phydisk
在local.conf 里添加变量如下变量
MACHINE_FEATURES:append = " sd"
$ bitbake phydisk
镜像的输出位置 tmp/deploy/images/phytium/.
Phydisk.img 镜像包含了根文件系统、内核、设备树和GRUB。 使用img 镜像安装系统,不需要像之前那样将存储设备手动分区再拷贝文件,只需要将phydisk.img文件写入存储设备即可。
$ sudo umount /dev/sdb*
$ sudo dd if=phydisk.img of=/dev/sdb bs=1M
$ sync
如果是使用phydisk.img 镜像安装系统,将存储设备接到开发板,启动开发板电源,进入UEFI 模式,选择启动的介质,即可自动启动系统。
安装系统后,将存储设备接到开发板,启动开发板电源,串口输出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,按回车键,没有密码。
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++"
在local.conf 里添加变量 PREFERRED_PROVIDER_virtual/kernel = "linux-phytium-rt" .
在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>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。