ubuntu下使用yocto制作龙芯文件系统
一、下载yocto代码
- poky下载得到poky
- openembedded配方下载得到meta-openembedded目录
- MIPS架构配方下载得到meta-img目录
git clone git://git.yoctoproject.org/poky
git clone git://git.openembedded.org/meta-openembedded
git clone https://github.com/MIPS/meta-img.git
二、代码切换分支
根据自己的版本选择适合自己的分支,这里由于meta-img只有morty分支,一般poky和meta-openembedded都会切换为morty分支,但是由于项目需求morty分支不满足,所以目前我的poky和meta-openembedded都是sumo分支,meta-img选择master分支。
三、目录放置
我们把meta-openembedded和meta-img放到poky目录下,目录结构如下图所示:
四、安装yocto编译环境
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm
五、构建自己的cpu机器
在meta-img/conf/machine目录下有多重mips架构的机器,其中和龙芯2k1000最接近的是mips64r2el-n32,所以我们参考qemumips64r2el-n32.conf来编写2k1000.conf,文件如下:
#@TYPE: Machine
#@NAME: qemumips64r2el-n32
#@DESCRIPTION: MIPS 64r2, Little Endian, Hard Float, n32#我们不需要qemu所以把下面两行注释掉
#require conf/machine/include/qemu.inc
#require conf/machine/include/qemuboot-mips.inc
require conf/machine/include/tune-mips64r2.inc
require mips-common.incDEFAULTTUNE = "mips64r2el-n32"#我们不需要跑qemu所以把下面两行注释掉
# runqemu extra options
#QB_CPU ="-cpu MIPS64R2-generic"#我们需要制作下面做多种格式文件系统
IMAGE_FSTYPES+=" cpio.gz cpio tar.gz jffs2 ext2 ext3 ext4"
这样子我们2k1000的机器就做好了。
六、选择不编译内核
由于yocto会自动编译内核,但是目前yocto的内核编译都不成功,因为龙芯的代码没有传到linux.org上,我们也可以自己做一个源,或者选择本地工程,但是比较复杂,所以这里选择不编译内核。我们从2k1000的机器文件中也可以看到,他编译内核是因为 require mips-common.inc 这个语句,这个文件在conf/machine/mips-common.inc,我们把里面一些关键信息注释就可以不编译内核了
# Include file for parameters common to many MIPS platforms#KERNEL_IMAGETYPE ="vmlinux"
#KERNEL_ALT_IMAGETYPE ="vmlinux.bin"SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1"# This disables gobject-introspection which needs fixing for some
# targets. If you need to use that package, remove this line.
#MACHINE_FEATURES_BACKFILL_CONSIDERED ="qemu-usermode"#PREFERRED_PROVIDER_virtual/kernel ?="linux-yocto"
七、开始编译
编译过程也就是运行两条命令:
MACHINE='loongson2k1000' source oe-init-build-env build
bitbake core-image-minimal
如下图所示:
八、编译错误处理
当我们执行source oe-init-build-env build命令后,会在当前目录创建一个build目录,我们要在build/conf/bblayers.conf目录下添加 openembedded配方和MIPS架构配方,添加后如下所示,:
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"BBPATH = "${TOPDIR}"
BBFILES ?= ""
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"BBLAYERS ?= " \${BSPDIR}/meta \${BSPDIR}/meta-poky \${BSPDIR}/meta-yocto-bsp \${BSPDIR}/meta-openembedded/meta-oe \${BSPDIR}/meta-openembedded/meta-python \${BSPDIR}/meta-openembedded/meta-networking \${BSPDIR}/meta-openembedded/meta-initramfs \${BSPDIR}/meta-openembedded/meta-multimedia \${BSPDIR}/meta-openembedded/meta-filesystems \${BSPDIR}/meta-img \"
这样子编译还会宝下面的错误:
我们只要把报错的文件删除就可以了。这样子就可以成功编译全部了。
九、优化结构和添加脚本
- 把downloads从build目录中更改到build外的同级目录,这样子不用每次删除build后都要重新下载。
- 添加脚本替换build目录下的两个conf文件
- 使用脚本一键编译loongson2k1000平台
下面这个链接可以下载我构建好的yocto:
https://download.csdn.net/download/sinat_22338935/20087662
ubuntu下使用yocto制作龙芯文件系统相关推荐
- Ubuntu下kinect v2制作数据集
Ubuntu下kinect v2制作数据集 1.下载kinectv2-dataset_make git clone https://github.com/MRwangmaomao/KinectV2_d ...
- 在x86平台制作龙芯版debian 10系统(mips64el)
OS: ubuntu 18.04 使用debootstrap制作根文件系统会分成两个阶段.第一阶段是,使用debootstrap命令来下载软件包. 第二阶段是安装软件包. 安装debootstap 等 ...
- Ubuntu下录制并制作Gif图片
1.背景 如果你看了我的文章,那么很庆幸,你将学会在Ubuntu下录制Gif图片 ; 大多数应该和我一样, 在开发Android 的时候,需要弄个效果图 , 但是在Ubuntu下,就没有windows ...
- 龙芯Fedora21平台制作docker镜像,并且解决vi乱码问题
http://ask.loongnix.org/?/article/81 实验环境 本文的实验都是在龙芯3A3000机器上. 操作系统是loongnix(Fedora21)20170726版本, ...
- 龙芯Fedora21平台制作feodra21-loongson-app docker镜像
http://ask.loongnix.org/?/article/86 在按照本文的方式制作镜像之前,首先要先创建基础镜像feodra21-apache-php-mysql,可以参考: http:/ ...
- 龙芯3号_中国芯崛起!新一代龙芯3号发布,国产CPU有望比肩世界先进水平
原标题:中国芯崛起!新一代龙芯3号发布,国产CPU有望比肩世界先进水平 天下网商记者 黄天然 "中国芯"又获重大突破. 12月24日,龙芯中科发布了自主研发的新一代通用处理器(CP ...
- 基于龙芯+国产FPGA 的VPX以太网交换板设计(三)
调试与测试是本系统设计实现的重要环节.单板调试主要包括各单元电路和接口 的调试,主要通过查看信号波形和运行软件对每个功能进行测试.本章将设计一系列 的调试和测试方案来验证电路设计的正确 ...
- [Cnbeta]龙芯处理器性能怎么样
龙芯处理器性能怎么样?下一代CPU同频性能可达英特尔90% 在高性能处理器领域,英特尔是天花顶一般的存在(先不算地位特殊的IBM公司),国内发展CPU处理器的公司很多,绝大多数实力跟英特尔相比都差很远 ...
- 申威、龙芯、海光等六大国产芯片前景分析,谁有扛鼎之力?
芯片是底层硬件基础设施的核心,也是智能设备的心脏,人们愈发意识到芯片对于各行各业发展的重要意义,也对国内的芯片厂商投入了更多关注度. 经过多年发展,目前我国已有超过14万家芯片相关企业,其中申威.龙芯 ...
最新文章
- InnoDB 存储引擎中的表锁和行锁详解
- 一份史上最全的深度学习资料,包括国内外顶尖学校课程以及顶会论文集
- 怎么让div显示一行,其余的隐藏。
- springboot+mongodb
- 图论(六)图的两种表示方法
- 在windows上安装OpenCV
- 经典的java程序_Java经典程序
- 机器人总动员拟人后_WALL·E 机器人总动员——又是一部让名字耽误的高分电影...
- linux vi编辑器 Ctrl s,Linux命令-----vi/vim编辑器
- Scala学习第一篇
- python调试_Python 调试
- 推一个知乎学弱猹的公众号
- nginx IP 80跳转443
- OSG绘制空间凹多边形以及透明效果的实现
- Java常用的开发软件下载地址以及问题解决
- fiddler手机下载证书提示No root certificate was found. Have you enabled HTTPS traff 解决方法 及手机配置代理后无网络问题
- (附源码)计算机毕业设计SSM游泳馆管理平台
- LaTex(1):使用在线表格生成器工具生成LaTex表格
- JavaScript定时器与清除定时器
- 小学生信息与未来 2022 题解