您的位置:首页 > 财经 > 产业 > 辽宁工程招标网信息平台_好网页设计培训_百度文库首页官网_网络推广的方式

辽宁工程招标网信息平台_好网页设计培训_百度文库首页官网_网络推广的方式

2025/3/20 22:28:42 来源:https://blog.csdn.net/weixin_64593595/article/details/146349312  浏览:    关键词:辽宁工程招标网信息平台_好网页设计培训_百度文库首页官网_网络推广的方式
辽宁工程招标网信息平台_好网页设计培训_百度文库首页官网_网络推广的方式

可以简单的将 Ubuntu 理解为一个根文件系统,和我们用 busybox、buildroot 制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上,但是因为 I.MX6ULL 孱弱的性能,本章我们就只移植 Ubuntu 的最小根文件系统,没有图形化界面。

定制化 Linux 镜像:你可以根据具体的硬件平台和项目需求,构建只包含必要组件的精简系统,从而降低资源占用,提高系统性能和安全性。

一致的构建环境:通过 BitBake 等工具,Yocto 为开发者提供了一个稳定、可重复的构建体系,这使得团队协作和系统维护更加高效。

跨平台支持:Yocto Project 支持多种 CPU 架构和硬件平台,可以大大降低开发者在不同硬件间迁移和部署的复杂性。

灵活的定制和扩展:通过使用 meta 层,你可以将自定义的应用、驱动或库集成到系统中,满足特定的功能需求。

强大的社区支持:作为一个活跃的开源项目,Yocto 拥有丰富的文档、示例以及开发者社区,可以帮助你快速解决开发过程中遇到的问题。

ubuntu-base 获取

Ubuntu 的移植非常简单,不需要我们编译任何东西,因为 Ubuntu 官方已经将根文件系统 制作好了!我们只需要简单配置一下 Ubuntu 官方提供的 base 根文件系统,使其在我们的开发 板上跑起来即可。因此我们首先需要下载 Ubuntu-base,为了和我们的教程一致,本章我们移植 Ubuntu 16.04 版本根文件系统,有兴趣的可以移植其他版本的 Ubuntu 内核,比如 18.04。

ubuntu-base,进入到 ubuntu-base 下载界面。

下载 releases 版本的根文件系统

ubuntu 根文件系统构建,解压缩 ubuntu base 根文件系统。

为了存放 ubuntu base 根文件系统,先在 PC 的 Ubuntu 系统中的 nfs 目录下创建一个名为 ubuntu_rootfs 的目录,命令如下:

sudo tar -vzxf ubuntu-base-16.04.5-base-armhf.tar.gz

ubuntu base 解压以后就是大家最常见的 linux 根文件系统,但是 目前还不能直接使用,还需要对其做一些其他的配置。

需要在 PC 的 Ubuntu 上安装 qemu 工具,命令如下:

sudo apt-get install qemu-user-static

刚刚安装的 qemu-user-static 拷贝到刚刚解压出来的 ubuntu base 目录中,也就是 ubuntu_rootfs/usr/bin 目录下,命令如下:

cd /home/zuozhongkai/linux/nfs/ubuntu_rootfs //进入到 ubuntu_rootfs 目录下 
sudo cp /usr/bin/qemu-arm-static ./usr/bin/ //拷贝 qemu-arm-static

 设置软件源

设置软件源,打开根文件系统中的 ubuntu_rootfs/etc/apt/sources.list 文件,在此文件最后面 添加软件源,比如国内常用的清华源、中科大源等等,这些软件源可以直接在网上查找。注意 这里要用 ubuntu16.04 的 ARM 源,不能找成了 X86 的源。根据网上的推荐,我们使用如下所示 的中科大软件源(这里非常感谢一位网名为“兔子”的网友提醒并测试):

#中科大源 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe 
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe 
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe 

在主机挂载根文件系统

接下来将上面制作的根文件系统挂载到主机上,需要挂载 proc、sys、dev、dev/pts 等文件 系统,最后使用 chroot 将主机的根文件系统切换到我们前面制作的根文件系统中。这里我们通 过两个脚本文件来完成挂载和卸载操作,首先是挂载脚本 mount.sh,在 ubuntu_rootfs 目录下创建一个名为 mount.sh 的 shell 脚本。

首先打包 ubuntu 根文件系统,命令如下

tar -vcjf ubuntu_rootfs.tar.bz2 * //打包根文件系统

我们制作的 ubuntu 根文件系统默认只有一个 root 用户,默认都是用 root 用户登录的,和我 们在 PC 上使用 Ubuntu 系统一样,默认使用 root 用户的话可能会因为操作失误导致系统被破 坏。因此最好创建一个普通用户,默认使用普通用户,当需要 root 权限的时候就使用“sudo” 命令即可。使用 adduser 命令添加普通用户

adduser xxxx

配置构建参数

MACHINE = "qemuarm"  # 或者你自己设备对应的 MACHINE 名称

编译生成根文件系统

bitbake core-image-minimal

编译完成后,生成的文件通常会位于 tmp/deploy/images/<MACHINE>/ 目录下

这里没有讲环境变量的内容,可以参考之前的文章,肯定是要配置的,毋庸置疑。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com