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

网站建设需求调研方法网推怎么推广

网站建设需求调研方法,网推怎么推广,公司网站及微信公众号建设意义,福田网站建设哪家便宜目录 一、根文件系统 1.1根文件系统 1.2根文件系统内容 二、根文件系统移植 2.1BusyBox 2.2BusyBox的获取 2.3BusyBox的使用 2.4make menuconfig 2.5编译和安装 2.6修改根文件系统 一、根文件系统 1.1根文件系统 根文件系统是内核启动后挂载的第一个文件系统系统引…

目录

一、根文件系统

1.1根文件系统

1.2根文件系统内容

二、根文件系统移植

2.1BusyBox

2.2BusyBox的获取

2.3BusyBox的使用

2.4make menuconfig

2.5编译和安装 

2.6修改根文件系统


一、根文件系统

1.1根文件系统

    根文件系统是内核启动后挂载的第一个文件系统系统引导程序会在根文件系统挂载后从中把一些基本的初始化脚本和服务等加载到内存中去运行

1.2根文件系统内容

bin  shell命令(elf格式)(通过busybox编译生成)

 都是二进制文件,所以需要区分架构。

ubuntu下浅蓝色的都是软连接文件,

他们都来自busybox。busybox可以理解成这些命令的源代码

dev  设备文件(内核启动后会将设备信息写入该目录)
etc  内核配置文件

lib  共享库(elf格式)(从交叉编译工具链中获取)

为什么要有库呢,因为程序的执行需要动态库。不然链接动态库的应用程序不能再开发板上跑。而我们使用交叉编译的方式编辑和编译程序再ubuntu上。所以开发板不需要有静态库。这些库是怎么来的呢,首先ubuntu的库我们肯定用不了。他们都是x86架构的。不过交叉编译工具链里有库。我们把这里.so结尾的也就是动态库复制过来 

linuxrc  内核运行的第一个应用程序(通过busybox编译生成)

1、/linuxrc是一个可执行的应用程序

(1)/linuxrc是应用层的,和内核源码一点关系都没有

(2)/linuxrc在开发板当前内核系统下是可执行的。因此在ARM SoC的linux系统下,这个应用程序就是用arm-linux-gcc编译链接的;如果是在PC机linux系统下,那么这个程序就是用gcc编译连接的。

(3)/linuxrc如果是静态编译连接的那么直接可以运行;如果是动态编译连接的那么我们还必须给他提供必要的库文件才能运行。但是因为我们/linuxrc这个程序是由内核直接调用执行的,因此用户没有机会去导出库文件的路径,因此实际上这个/linuxrc没法动态连接,一般都是静态连接的。

2、/linuxrc执行时引出用户界面

(1)操作系统启动后在一系列的自己运行配置之后,最终会给用户一个操作界面(也许是cmdline,也许是GUI),这个用户操作界面就是由/linuxrc带出来的。

(2)用户界面等很多事并不是在/linuxrc程序中负责的,用户界面有自己专门的应用程序,但是用户界面的应用程序是直接或者间接的被/linuxrc调用执行的。用户界面程序和其他的应用程序就是进程2、3、4·····,这就是我们说的进程1(init进程,也就是/linuxrc)是其他所有应用程序进程的祖宗进程。

3、/linuxrc负责系统启动后的配置

(1)就好像一个房子建好之后不能直接住,还要装修一样;操作系统启动起来后也不能直接用,要配置下。

(2)操作系统启动后的应用层的配置(一般叫运行时配置,英文简写etc)是为了让我们的操作系统用起来更方便,更适合我个人的爱好或者实用性。

4、/linuxrc在嵌入式linux中一般就是busybox

(1)busybox是一个C语言写出来的项目,里面包含了很多.c文件和.h文件。这个项目可以被配置编译成各个平台下面可以运行的应用程序。我们如果用arm-linux-gcc来编译busybox就会得到一个可以在我们开发板linux内核上运行的应用程序。

(2)busybox这个程序开发出来就是为了在嵌入式环境下构建rootfs使用的,也就是说他就是专门开发的init进程应用程序。

(3)busybox为当前系统提供了一整套的shell命令程序集。譬如vi、cd、mkdir、ls等。在桌面版的linux发行版(譬如ubuntu、redhat、centOS等)中vi、cd、ls等都是一个一个的单独的应用程序。但是在嵌入式linux中,为了省事我们把vi、cd等所有常用的shell命令集合到一起构成了一个shell命令包,起名叫busybox。

了解linux的进程:rootfs与linuxrc | 《Linux就该这么学》

mnt  挂载目录(非必要)
proc  进程相关文件(内核启动后会将进程信息写入该目录)
root  超级用户家目录(非必要)
sbin     系统管理shell命令(elf格式)(通过busybox编译生成)

 他们也来自busybox

sys  驱动相关文件(内核启动后会将驱动信息写入该目录)
比如插入u盘就会将u盘的驱动写进去
usr  shell命令(elf格式)(通过busybox编译生成)

 (没有详细介绍的目前都是空的)

(windows是文件属于磁盘,Linux是磁盘属于文件。所以插入一个u盘的话要挂载到某个目录下)

二、根文件系统移植

2.1BusyBox

    BusyBox将很多常用的工具集成到一个很小的可执行文件中,为普通用户提供大多数常用的命令,BusyBox实现的命令都是精简版的,很多扩展都不支持。BusyBox被称为Linux工具里的瑞士军刀

他很轻量级,以至于很多命令的拓展都不支持

2.2BusyBox的获取

    https://busybox.net/downloads/

他的更新不像Linux和uboot那样活跃(很忙的盒子)

2.3BusyBox的使用

 tar -xvf busybox-1.22.1.tar.bz2 

他怎么安装的说明在INSTALL文件里

他说他的编译过程和Linux内核很像

2.4make menuconfig

 其实保持原有配置就可以了,以后也不太需要自己编译根文件系统

但是要指定一下编译器

选择编译成静态库,然后把最大文件支持位两个G取消

 

指定编译器

 这个没有保存一直退出会询问你是否保存

2.5编译和安装 

make

make install

 

这个没瘦身

 这个文件就是根据上面文件瘦身得来的

make install

这个命令生成了一堆软连接

这时候生成了一个新的文件

2.6修改根文件系统

 cp ~/Linux_4412/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib/ . -a

 

sudo rm lib/*.a 

 删除所有的静态库

sudo su
/home/book/Linux_4412/toolchain/gcc-4.6.4/bin/arm-none-linux-gnueabi-strip lib/*
exit 

因为瘦身需要的权限比较大所以其换成rootu用户

又因为交叉编译工具链安在了book用户下所以想要使用只能指定路径

瘦身后退出

chmod +x etc/init.d/rcS 

为这个脚本添加可执行权限

mkdir dev mnt proc root sys tmp var

sudo rm -rf *

把原来的删了

cp -rf ~/Linux_4412/busybox/busybox-1.22.1/_install/* .

http://www.pjxw.cn/news/27001.html

相关文章:

  • selz网页设计公司优化设计电子课本下载
  • 58同城网站的建设目标是什么一键seo提交收录
  • 安平县哪家做网站中国最权威的网站排名
  • 基层医疗卫生机构本土化人才培养合肥seo排名优化
  • 大航母网站建设青岛的seo服务公司
  • 在喵窝网站怎么做图百度新闻官网
  • 如何打破违法网站项目推广
  • 郑州做网站要网络营销软件商城
  • 做网站销售会问哪些问题app拉新放单平台
  • 做盒饭的网站win7系统优化大师
  • 太原百度网站排名优化点击进入官方网站
  • 电商网站服务排名seo如何建立优化网站
  • 自己做网站卖什么好seo优化实训总结
  • 浙江建筑信息监管平台搜索引擎优化指的是
  • 河南网站建设软件网站推广步骤
  • 论文课程网站 建设背景在线搭建网站
  • 建设e购物网站搜索引擎站长平台
  • 网站开发设计总结百度快照排名
  • 马蹄室内设计网论坛国内做seo最好公司
  • 织梦做的网站怎么会被黑三生网络营销靠谱吗
  • 网站logo织梦怎么做关键词优化seo费用
  • 提示该域名为lp网站沈阳seo关键词排名
  • 做三角渐变用哪个网站免费网站制作软件平台
  • 衡阳公司做网站潍坊网站建设公司
  • 如何在已建设好的网站做修改世界球队实力排名
  • 上海定制网站建设费用东莞整站优化推广公司找火速
  • 网站正在建设中模板单页优化网站平台
  • 外国网站做任务赚钱站长工具使用方法
  • wordpress多种筛选快速排名优化
  • 网站主机方式seo技术网网