成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Ubuntu上用Yocto創(chuàng)建你自己的嵌入式Linux發(fā)行版

系統(tǒng) Linux 系統(tǒng)運(yùn)維
本文主要聚焦在如何使用 Yocto 在 Ubuntu 上創(chuàng)建一個(gè)最小化的 Linux 發(fā)行版。Yocto 項(xiàng)目在嵌入式 Linux 的世界非常著名,這是因?yàn)樗闷饋矸浅l`活、方便。Yocto 的目標(biāo)是為嵌入式軟硬件開發(fā)商創(chuàng)建自己的 Linux 發(fā)行版。本文我們將會(huì)創(chuàng)建一個(gè)可以運(yùn)行在 QEMU 上的最小化的 Linux,并且在 QEMU 上實(shí)際運(yùn)行。

本文主要聚焦在如何使用 Yocto 在 Ubuntu 上創(chuàng)建一個(gè)最小化的 Linux 發(fā)行版。Yocto 項(xiàng)目在嵌入式 Linux 的世界非常著名,這是因?yàn)樗闷饋矸浅l`活、方便。Yocto 的目標(biāo)是為嵌入式軟硬件開發(fā)商創(chuàng)建自己的 Linux 發(fā)行版。本文我們將會(huì)創(chuàng)建一個(gè)可以運(yùn)行在 QEMU 上的最小化的 Linux,并且在 QEMU 上實(shí)際運(yùn)行。

開發(fā)機(jī)的基本條件

  • 最少 4-6 GB 內(nèi)存
  • 最新版的 Ubuntu 系統(tǒng)(本文使用了 16.04 LTS)
  • 磁盤剩余空間至少 60-80 GB
  • 在創(chuàng)建 Linux 發(fā)行版之前先安裝下面的軟件包
  • 下載最新的 Yocto(Poky 是其最小開發(fā)環(huán)境)穩(wěn)定分支
  1. apt-get update 
  1. 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 

  

Install prerequisites for Yocto

如下所示,開發(fā)環(huán)境要安裝的軟件包將近 1GB 大小。 

 

 

Install the development packages 

Install the development packages

在這個(gè)教程中,系統(tǒng)上克隆的是 poky 的 morty 穩(wěn)定分支。

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

 

 

install poky 

install poky

進(jìn)入 poky 目錄,然后運(yùn)行下面的命令為 Yocto 開發(fā)環(huán)境設(shè)置(設(shè)置/導(dǎo)出)一些環(huán)境變量。

  1. source oe-init-build-env 

如下所示,在運(yùn)行了 open embedded (oe) 的構(gòu)建環(huán)境腳本之后,終端里的路徑會(huì)自動(dòng)切換到 build 目錄,以便進(jìn)行之后行發(fā)行版的的配置和構(gòu)建。 

 

 

Prepare OE build environment 

Prepare OE build environment

上面的截屏展示了在 conf 目錄下創(chuàng)建的文件 local.conf。這是 Yocto 用來設(shè)置目標(biāo)機(jī)器細(xì)節(jié)和 SDK 的目標(biāo)架構(gòu)的配置文件。

如下所示,這里設(shè)置的目標(biāo)機(jī)器是 qemux86-64。 

 

 

Set the target machine type 

Set the target machine type

如下面截圖所示,在 local.conf 中取消下面參數(shù)的注釋符號(hào)。

  1. DL_DIR ?= "${TOPDIR}/downloads"  

 

 

Configure local.conf file 

Configure local.conf file

 

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

 

 

Set SSTATE_DIR 

Set SSTATE_DIR

  1. TMPDIR ?= "${TOPDIR}/tmp"  

 

 

Set TMPDIR 

Set TMPDIR

 

  1. PACKAGE_CLASSES ?= "package_rpm"SDKMACHINE ?= "i686" 

 

 

Set PACKAGE_CLASSES and SDKMACHINE 

Set PACKAGE_CLASSES and SDKMACHINE

如下所示,在 local.conf 中為基于 Yocto 的 Linux 設(shè)置空密碼和后續(xù)的一些參數(shù)。否則的話用戶就不能登錄進(jìn)新的發(fā)行版。

  1. EXTRA_IMAGE_FEATURES ?= "debug-tweaks"  

 

 

Set debug-tweaks option 

Set debug-tweaks option

我們并不準(zhǔn)備使用任何圖形化工具來創(chuàng)建 Linux OS,比如 toaster (hob 已經(jīng)不再支持了)。

Yocto 編譯構(gòu)建過程

現(xiàn)在運(yùn)行下面的 bitbake 工具命令開始為選定的目標(biāo)機(jī)器下載和編譯軟件包。

  1. bitbake core-image-minimal  

 

 

Start bitbake 

Start bitbake

非常重要的是要在普通 Linux 用戶下運(yùn)行上面的命令,而不是使用 root 用戶。如下面截圖所示,當(dāng)你在 root 用戶下運(yùn)行 bitbake 命令會(huì)產(chǎn)生下面所示的錯(cuò)誤。 

 

 

Do not run bitbake as root 

Do not run bitbake as root

再一次運(yùn)行導(dǎo)出環(huán)境變量的腳本(oe-init-build-env),重新執(zhí)行相同的命令來啟動(dòng)下載和編譯過程。 

 

 

rerun commands 

rerun commands

如下所示,構(gòu)建腳本組件的第一步工作是解析配置(recipe)。 

 

 

Parse the build recipes 

Parse the build recipes

下面的截圖展示了構(gòu)建腳本的解析過程。同時(shí)也顯示了用來構(gòu)建你的新的基于 yocto 的發(fā)行版的構(gòu)建系統(tǒng)的細(xì)節(jié)。 

 

 

Building proceeds 

Building proceeds

在下載了 SDK 和必要的庫之后,下一步工作是下載并編譯軟件包。如下截圖展示了為構(gòu)建新發(fā)行版而執(zhí)行的任務(wù)。這一步將會(huì)執(zhí)行 2-3 小時(shí),因?yàn)槭紫纫螺d需要的軟件包,然后還要為新的 Linux 發(fā)行版編譯這些軟件包。 

 

 

Compilation will take several hours 

Compilation will take several hours

下面的截圖表明了任務(wù)列表執(zhí)行完畢。 

 

 

Compilation 

Compilation

為目標(biāo)機(jī)器類型 qemux86-64 編譯好的新鏡像位于 build/tmp/deploy/images/qemux86-64: 

 

 

Build complete 

Build complete

如下所示,上面的命令如果運(yùn)行在 Putty 上會(huì)產(chǎn)生一個(gè)錯(cuò)誤。 

 

 

command error in putty 

command error in putty

通過 rdp 在 Ubuntu 平臺(tái)上再次運(yùn)行上面的命令。 

 

 

Command works fine in rdp 

Command works fine in rdp

為運(yùn)行新的基于 Yocto 的 Linux 發(fā)行版的 qemu 打開一個(gè)新屏幕。 

 

 

Open Quemu emulator 

Open Quemu emulator

下面展示了新發(fā)行版的登錄界面,同時(shí)也顯示了使用的 yocto 項(xiàng)目的版本號(hào)。默認(rèn)的用戶名是 root ,密碼為空。 

 

 

Linux distribution started 

Linux distribution started

最后使用 root 用戶名和空密碼登錄新發(fā)行版。如下截圖所示,在這個(gè)最小版本的 Linux 上運(yùn)行了基本的命令(data 、 ifconfig 和 uname)。 

 

 

Test the Linux distribution 

Test the Linux distribution

本文的目標(biāo)是理解使用 Yocto 創(chuàng)建新的 Linux 發(fā)行版的過程。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-02-09 10:20:47

2012-10-18 10:16:45

IBMdw

2021-12-16 22:39:45

Linux發(fā)行版開發(fā)

2019-12-30 14:23:02

UbuntuLinuxgrub

2018-12-24 09:48:45

UbuntuLinuxPutty

2016-09-18 10:08:38

Linux發(fā)行版SUSE Studio

2022-08-05 22:02:07

UbuntuLinuxVim

2019-05-15 10:00:51

UbuntuLinux7Zip

2009-12-21 16:27:55

2020-04-08 16:50:37

Ubuntu微軟Linux

2010-07-12 10:48:36

2022-11-20 15:53:06

UbuntuLinuxFFmpeg

2018-09-26 10:00:51

UbuntuLinux幻燈片

2010-10-14 14:31:31

Ubuntu發(fā)行版

2011-09-09 10:49:18

2013-11-11 11:34:56

UbuntuLinux發(fā)行版Unity

2021-11-01 12:45:29

UbuntuLinuxRust

2023-06-16 12:15:09

UbuntuLinuxAVIF 圖像

2016-09-27 09:45:27

Linux發(fā)行版構(gòu)建

2016-12-26 09:49:28

Linux發(fā)行版
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩av一区二区在线观看 | 一色一黄视频 | 亚洲在线成人 | 国精产品一区一区三区免费完 | 国产一级片久久久 | 久久99精品久久久久蜜桃tv | 成人欧美一区二区三区黑人孕妇 | www.日韩系列 | 免费看淫片 | 污片在线免费观看 | 中文字幕精品视频在线观看 | 狠狠艹| 日韩精品一区二区三区四区视频 | 久久精品视频12 | 色婷婷亚洲一区二区三区 | 五月激情六月婷婷 | 韩国av网站在线观看 | 人人看人人爽 | 夜久久| 狠狠操电影 | 日韩三级一区 | www.亚洲一区 | 一区二区三区四区毛片 | 亚洲小视频在线播放 | 九九热re | 亚洲视频一区二区三区四区 | 久久久久久久久91 | 欧美久久国产精品 | 草草视频在线播放 | 免费成人在线网站 | 午夜免费看视频 | 国产精品精品 | 国产精品乱码一区二三区小蝌蚪 | 国产一区二区在线免费观看 | 国产高清视频一区 | 我想看国产一级毛片 | 成人国产精品视频 | 国产一区二区美女 | 欧美福利 | 国外成人在线视频 | 先锋资源在线 |