阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

469次阅读
没有评论

共计 2114 个字符,预计需要花费 6 分钟才能阅读完成。

导读 本文主要聚焦在如何使用 Yocto 在 Ubuntu 上创建一个最小化的 Linux 发行版。Yocto 项目在嵌入式 Linux 的世界非常著名,这是因为它用起来非常灵活、方便。Yocto 的目标是为嵌入式软硬件开发商创建自己的 Linux 发行版。本文我们将会创建一个可以运行在 QEMU 上的最小化的 Linux,并且在 QEMU 上实际运行。

好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

开发机的基本条件
  • 最少 4-6 GB 内存
  • 最新版的 Ubuntu 系统(本文使用了 16.04 LTS)
  • 磁盘剩余空间至少 60-80 GB
  • 在创建 Linux 发行版之前先安装下面的软件包
  • 下载最新的 Yocto(Poky 是其最小开发环境)稳定分支
  • apt-get update
    apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    如下所示,开发环境要安装的软件包将近 1GB 大小。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    在这个教程中,系统上克隆的是 poky 的 morty 稳定分支。

    git clone -b morty git://git.yoctoproject.org/poky.git

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    进入 poky 目录,然后运行下面的命令为 Yocto 开发环境设置(设置 / 导出)一些环境变量。

    source oe-init-build-env

    如下所示,在运行了 open embedded (oe) 的构建环境脚本之后,终端里的路径会自动切换到 build 目录,以便进行之后行发行版的的配置和构建。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    上面的截屏展示了在 conf 目录下创建的文件 local.conf。这是 Yocto 用来设置目标机器细节和 SDK 的目标架构的配置文件。

    如下所示,这里设置的目标机器是 qemux86-64

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    如下面截图所示,在 local.conf 中取消下面参数的注释符号。

    DL_DIR ?= "${TOPDIR}/downloads"

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    SSTATE_DIR ?= "${TOPDIR}/sstate-cache"

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    TMPDIR ?= "${TOPDIR}/tmp"

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    PACKAGE_CLASSES ?= "package_rpm"
    SDKMACHINE ?= "i686"

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    如下所示,在 local.conf 中为基于 Yocto 的 Linux 设置空密码和后续的一些参数。否则的话用户就不能登录进新的发行版。

    EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    我们并不准备使用任何图形化工具来创建 Linux OS,比如 toasterhob 已经不再支持了)。

    Yocto 编译构建过程

    现在运行下面的 bitbake 工具命令开始为选定的目标机器下载和编译软件包。

    bitbake core-image-minimal

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    非常重要的是要在普通 Linux 用户下运行上面的命令,而不是使用 root 用户 。如下面截图所示,当你在 root 用户下运行 bitbake 命令会产生下面所示的错误。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    再一次运行导出环境变量的脚本(oe-init-build-env),重新执行相同的命令来启动下载和编译过程。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    如下所示,构建脚本组件的第一步工作是解析配置(recipe)。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    下面的截图展示了构建脚本的解析过程。同时也显示了用来构建你的新的基于 yocto 的发行版的构建系统的细节。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    在下载了 SDK 和必要的库之后,下一步工作是下载并编译软件包。如下截图展示了为构建新发行版而执行的任务。这一步将会执行 2-3 小时,因为首先要下载需要的软件包,然后还要为新的 Linux 发行版编译这些软件包。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    下面的截图表明了任务列表执行完毕。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    为目标机器类型 qemux86-64 编译好的新镜像位于 build/tmp/deploy/images/qemux86-64

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    如下所示,上面的命令如果运行在 Putty 上会产生一个错误。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    通过 rdp 在 Ubuntu 平台上再次运行上面的命令。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    为运行新的基于 Yocto 的 Linux 发行版的 qemu 打开一个新屏幕。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    下面展示了新发行版的登录界面,同时也显示了使用的 yocto 项目的版本号。默认的用户名是 root,密码为空。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    最后使用 root 用户名和空密码登录新发行版。如下截图所示,在这个最小版本的 Linux 上运行了基本的命令(dataifconfiguname)。

    好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    本文的目标是理解使用 Yocto 创建新的 Linux 发行版的过程。


    via: https://www.howtoforge.com/tutorial/how-to-create-your-own-linux-distribution-with-yocto-on-ubuntu/

    作者:Ahmad 译者:Ezio 校对:wxy

    本文由 LCTT 原创编译,Linux 中国 荣誉推出

    阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

    腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

    代金券:在阿里云专用满减优惠券

    正文完
    星哥玩云-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2114字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

    星哥玩云

    星哥玩云
    星哥玩云
    分享互联网知识
    用户数
    4
    文章数
    19351
    评论数
    4
    阅读量
    7972064
    文章搜索
    热门文章
    星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

    星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

    星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
    星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

    星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

    星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
    我把用了20年的360安全卫士卸载了

    我把用了20年的360安全卫士卸载了

    我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
    再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

    再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

    再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
    飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

    飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

    飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
    阿里云CDN
    阿里云CDN-提高用户访问的响应速度和成功率
    随机文章
    星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

    星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

    星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
    如何免费使用强大的Nano Banana Pro?附赠邪修的用法

    如何免费使用强大的Nano Banana Pro?附赠邪修的用法

    如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
    免费领取huggingface的2核16G云服务器,超简单教程

    免费领取huggingface的2核16G云服务器,超简单教程

    免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
    你的云服务器到底有多强?宝塔跑分告诉你

    你的云服务器到底有多强?宝塔跑分告诉你

    你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
    每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

    每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

    每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...

    免费图片视频管理工具让灵感库告别混乱

    一言一句话
    -「
    手气不错
    一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

    一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

    一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
    安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

    安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

    安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

    星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
    星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

    星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

    星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
    每年0.99刀,拿下你的第一个顶级域名,详细注册使用

    每年0.99刀,拿下你的第一个顶级域名,详细注册使用

    每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...