当前位置: 首页 > wzjs >正文

郑州的网站建设公司哪家好巢湖网站制作

郑州的网站建设公司哪家好,巢湖网站制作,在那里做网站,做网站时的兼容问题概述 本章,我们主要讲述linux内核编译的步骤。主要是面向想入门嵌入式linux开发的同学。 编译环境设置 默认读者已经安装了ubuntu-20.04系统,对于新入门的同学,建议安装虚拟机的方式,进行开发工作,安装的过程&#…

概述

本章,我们主要讲述linux内核编译的步骤。主要是面向想入门嵌入式linux开发的同学。

编译环境设置

默认读者已经安装了ubuntu-20.04系统,对于新入门的同学,建议安装虚拟机的方式,进行开发工作,安装的过程,可以参考

$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib build-essential chrpath

$ sudo apt-get install libsdl1.2-dev xterm ncurses-dev lzop gcc-arm-linux-gnueabihf ninja-build

$ sudo apt-get install pkg-config libglib2.0-dev libpixman-1-dev

$ sudo apt-get install libfdt-dev zlib1g-dev flex bison libncurses-dev libssl-dev

$ sudo apt-get install libncurses5-dev libssl-dev python3 python3-pip python3-env

$ sudo apt-get install wget cpio unzip rsync bc file gettext texinfo gawk gperf

下载源码

下载步骤

使用git工具下载源码, 作者上传了一份linux内核源码,执行如下的操作,进行下载:

git clone https://gitee.com/yanl1229/EasyLinux.git

如果不想用作者上传的源码,也可以使用如下的方式进行代码下载:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

git checkout v5.10.170

源码目录解读

arch:存放于cpu架构相关的kernel实现代码;

block: 块设备IO代码。主要是IO调度算法实现等;

crypto: 内核加密算法库

Documentation:内核文档,主要讲述内核API的使用和一些内核子系统的实现原理;

drivers: 驱动目录,这也是我们以后频繁提及的目录;

fs:文件系统目录,比如Linux内核虚拟文件VFS, ext2, ext4等

include:内核头文件

init:内核初始化代码,比如linux内核C语言入口函数start_kernel

ipc: 进程间通信实现,比如消息队列,共享内存,信号量等实现代码;

kernel:存放与CPU架构无关的内核实现源码;

lib: 内核辅助库函数;

mm: 内存管理实现代码目录;

net:网络协议栈代码目录;

script: 内核构建脚本目录;

sound: 音频子系统,包含音频驱动(这个驱动比较特殊,没有放入drivers目录)

usr: initramfs实现目录;

virt: 内核虚拟化实现目录

tools:存放一些用户空间工具代码;

Linux 内核编译步骤

        我们主要讲述的是嵌入式arm linux驱动开发,因此,在ubuntu主机上编译能让arm硬件板卡运行的linux操作系统,则需要使用到交叉编译工具进行Linux内核编译, 以下的讲述是根据作者上传的源码进行展开,进入首先进入Linux内核源码目录,执行如下操作,即可完成linux内核编译:

a. 内核编译配置:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- versatile_defconfig

参数说明:

ARCH=arm: 指定我们编译arm架构的linux内核;

CROSS_COMPILE: 交叉工具链;

versatile_defconfig:arm硬件平台配置文件。这里我们只是作为一个展示。arm硬件平台的所有配置文件在

arch/arm/configs目录下,感兴趣的同学可以看看。

b. 执行编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 编译成功后,如下所示:

注: 手动执行编译,比较繁琐,作者创建了一个shell脚本,让脚本自动化完成编译。使用脚本编译步骤为:

./build.sh versatile

运行体验

为了让新入门的同学,体验Linux内核编译和运行,作者上传了一份编译好的linux系统仿真环境qemu。只有内核是无法体验的,因此作者也上传了一份文件系统构建工具buildroot。执行作者编辑好的脚本,就会自动构建linux系统运行的文件系统,执行如下的命令:

./build.sh versatile

当编译完成后,执行./build.sh run命令,则进行arm平台Linux系统的运行。运行截图如下所示:

总结

本文主要讲述了如下下载Linux源码进行编译和运行。在讲述过程中提及到了git, shell脚本编写,和buildroot文件系统构建工具,这三个工具在日常开发中会经常提及,感兴趣的同学可以深入学习一下。

注: 构建linux文件系统的工具非常多。我们这里只讲述buildroot, 因为他简单,适合新手学习,其他的文件系统构建还有busybox和yocto等。

http://www.dtcms.com/wzjs/371432.html

相关文章:

  • 网站建设发布教程视频沈阳网站关键词优化公司
  • 教育网站建站需求宁波seo网络优化公司
  • 怎么做关于花的网站中国域名注册官网
  • 用vs做网站后台西安seo搜推宝
  • 电子商务网站建设也管理网站开发软件
  • 做美食的网站可以放些小图片百度软件中心下载
  • 快速做网站服务好best网络推广平台
  • 企业开发网站用什么技术免费seo工具汇总
  • 需要定位的网站网页开发用什么软件
  • 想做外贸去哪个网站做西安网站制作价格
  • 网站空间ftp友情链接交易网
  • 北京网站建设公司黄页网络平台推广方案
  • 做网站网页维护 手机App 开发软文写作是什么
  • 上海做网站优化公司广州seo公司哪个比较好
  • 做h5页面的网站哪个好免费发布推广信息的b2b
  • 怎么做网站推广方案淘宝如何提升关键词排名
  • 如何用模板做网站sem竞价托管价格
  • 网站域名不合法2345网址导航官网下载安装
  • 无锡网站制作方案今天的新闻有哪些
  • 通辽市做网站公司百度推广服务费一年多少钱
  • 线上广告接单平台扬州网站seo
  • 武威住房和城乡建设厅网站发帖子的网站
  • 广西建设厅培训中心官网江苏seo平台
  • 淮安网站开发微信管理系统登录
  • 网站建设资讯版块如何做用户运营怎样做竞价推广
  • 网站优化大赛关键词排名优化提升培训
  • 用java做网站要学什么网络整合营销4i原则是指
  • 链天网站建设小程序开发费用一览表
  • 网站开发付款方式2023年新闻热点事件摘抄
  • 用邮箱地址做网站域名好吗如何做市场调研和分析