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

网站开发部门的规章制度提供佛山顺德网站建设

网站开发部门的规章制度,提供佛山顺德网站建设,三好街 做网站,汽车网站建设工作室文章目录 一、根文件系统中各个目录文件功能解析:二、对busybox进行配置和编译(一)执行make help命令获取make的帮助信息(二)对busybox源码进行配置,配置交叉编译器(三)执行make men…

文章目录

  • 一、根文件系统中各个目录文件功能解析:
  • 二、对busybox进行配置和编译
    • (一)执行make help命令获取make的帮助信息
    • (二)对busybox源码进行配置,配置交叉编译器
    • (三)执行make menuconfig命令,通过图形化界面对busybox源码进行配置
      • 1. 使用静态编译,不使用共享库
      • 2. 指定跟文件系统的安装路径
      • 3. 配置VI风格的命令行编译器
      • 4. 配置支持所有的模块化的命令
    • (四)编译busybox源码
    • (五)安装根文件系统,生成对应的根文件系统
    • (六)添加根文件系统中必要的文件
      • 1. 创建/etc/init.d/rcS文件
      • 2. 创建/etc/fstab文件
      • 3. 创建/etc/profile配置文件
      • 4. 创建etc/inittab文件
    • (七)移植动态库文件
  • 三、 将rootfs根文件系统打包生成单个的ramdisk.img镜像文件
      • 1. 进入到家目录下
      • 2. 使用dd命令制作一个64M大小的ramdisk单个文件
      • 3. 使用mkfs.ext4对ramdisk进行格式化,格式化为ext4格式
      • 4. 将ramdisk 挂载到/mnt目录
      • 5. 查看自己制作的跟文件系统的大小
      • 6. 使用strip命令压缩文件的体积
      • 7. 将~/rootfs中的内容拷贝到/mnt目录下,相当于拷贝到ramdisk文件中
      • 8. 解除挂载
      • 9. 使用gzip对ramdisk进行压缩
      • 10. 使用mkimage命令给ramdisk.gz文件添加64字节的数据头得到ramdisk.img镜像文件
      • 11. 拷贝ramdisk.img到~/tftpboot目录下
      • 12. 测试ramdisk.img镜像文件

一、根文件系统中各个目录文件功能解析:

bin: 命令文件(通过busybox工具制作)
linuxrc:根文件系统被挂载后运行的第一个程序(通过busybox工具制作)
sbin: 超级用户命令、一般用户不可用(板子本身是超级用户通过busybox工具制作)
usr: 用户文件(通过busybox工具制作)

以下几个目录使用mkdir命令手动创建
dev: 设备文件(被操作系统识别的设备才有对应的文件,即设备运行时)
etc: 配置文件(配置内核相关的一些信息)
lib: 库文件、比如C的标准库(从交叉编译工具链中复制的)
mnt: 共享目录(非必要)比如挂载SD卡等时将SD卡挂载在该目录
proc: 与进程相关的文件(当有进程运行时才会有文件)
root: 用户权限(板子本身就是以root用户运行)
sys: 系统文件(系统运行时,系统加载后才会有文件)
tmp: 临时文件(比如插入新的设备时会产生临时文件)
var: 存放下载的文件和软件 (可有可无)
home: 用户家目录

二、对busybox进行配置和编译

(一)执行make help命令获取make的帮助信息

在这里插入图片描述
在这里插入图片描述

(二)对busybox源码进行配置,配置交叉编译器

修改busybox源码目录下的Makefile文件

将以下内容:
190 ARCH ?= $(SUBARCH)
164 CROSS_COMPILE ?=

修改为:
190 ARCH ?= arm
164 CROSS_COMPILE ?= arm-linux-gnueabihf-
在这里插入图片描述

在这里插入图片描述

(三)执行make menuconfig命令,通过图形化界面对busybox源码进行配置

1. 使用静态编译,不使用共享库

Settings  ---> [*] Build static binary (no shared libs) 

2. 指定跟文件系统的安装路径

Settings  ---> (./rootfs) Destination path for 'make install'

3. 配置VI风格的命令行编译器

Settings  ---> [*]   vi-style line editing commands 

4. 配置支持所有的模块化的命令

Linux Module Utilities  --->[ ] Simplified modutils 

(四)编译busybox源码

(五)安装根文件系统,生成对应的根文件系统

(六)添加根文件系统中必要的文件

1. 创建/etc/init.d/rcS文件

如果不创建,会产生以下错误:
在这里插入图片描述

2. 创建/etc/fstab文件

3. 创建/etc/profile配置文件

4. 创建etc/inittab文件

在这里插入图片描述
在这里插入图片描述
拷贝ARM版本的动态库,到自己移植的根文件系统的lib路径下
在这里插入图片描述

(七)移植动态库文件

三、 将rootfs根文件系统打包生成单个的ramdisk.img镜像文件

1. 进入到家目录下

$ cd ~ 

2. 使用dd命令制作一个64M大小的ramdisk单个文件

$ sudo dd  if=/dev/zero of=ramdisk  bs=1M count=64

ramdisk文件最多可以存储64M大小的数据

  • 注:
  • dd:是一个用于转换和复制文件的命令行实用程序。它可以用来生成特定大小和内容的文件,也可以用来转换文件中的数据格式。
  • if=/dev/zero:if是input file的缩写,指定输入文件。
    /dev/zero是一个特殊的文件,读取它会得到无限的零值(\0,即二进制中的0)。在这个命令中,它被用作数据源,意味着dd命令将从/dev/zero读取数据。
  • of=ramdisk:of是output file的缩写,指定输出文件。在这个例子中,输出文件被命名为ramdisk。如果该文件不存在,dd命令会创建它;如果文件已存在,dd命令会覆盖它。
  • bs=1M:bs是block size的缩写,用于指定块的大小,即每次读写操作处理的数据量。在这个命令中,块大小被设置为1MB(兆字节)。这意味着dd命令每次从/dev/zero读取1MB的数据,然后写入到ramdisk文件中。
  • count=64:这个选项指定了要复制的块的数量。由于块大小是1MB,所以总共会写入64 * 1MB = 64MB的数据到ramdisk文件中。

3. 使用mkfs.ext4对ramdisk进行格式化,格式化为ext4格式

$ sudo mkfs.ext4 -F ramdisk 

在这里插入图片描述

  • 注:
  • mkfs.ext4 是用于在设备上创建 ext4 文件系统的命令行工具。它通常用于格式化硬盘分区、USB驱动器或其他存储设备。mkfs.ext4 需要一个块设备作为输入。
  • -F 选项用于强制格式化。

4. 将ramdisk 挂载到/mnt目录

$ sudo mount -t ext4 ramdisk /mnt 

5. 查看自己制作的跟文件系统的大小

$ du -h ~/rootfs   // 可知rootfs达到151M,但是ramdisk只有64M 

在这里插入图片描述

6. 使用strip命令压缩文件的体积

$ su  root 
$ /home/linux/toolchain/gcc-7.5.0/bin/arm-linux-gnueabihf-strip /home/linux/rootfs/lib/*
$ exit 
$ du -h ~/rootfs    // 压缩到49M 
  • 注:arm-linux-gnueabihf-strip压缩名,压缩文件的体积,压缩完成之后不影响文件的使用

在这里插入图片描述

压缩过后,rootfs的大小压缩为49M
在这里插入图片描述

7. 将~/rootfs中的内容拷贝到/mnt目录下,相当于拷贝到ramdisk文件中

$ sudo cp -raf ~/rootfs/*  /mnt
  • 注:
  • -r-R:这是递归复制的选项。当复制目录时,这个选项会复制目录及其所有子目录和文件。没有这个选项,cp命令默认只复制文件,不复制目录。
  • -a:这是归档模式的选项,它实际上是-dR --preserve=all的简写。它尝试以尽可能保留原始文件属性(如时间戳、权限、所有权等)的方式复制文件。这对于复制目录树特别有用,因为它确保了复制后的目录树与原始目录树尽可能相同。然而,在这个命令中,-a选项与-r(或-R)一起使用时,-r是多余的,因为-a已经包含了递归复制的功能。
  • -f:这是强制(force)选项。它会导致cp命令覆盖目标位置上的同名文件,而不会询问用户确认。此外,如果目标目录不存在,并且没有使用-r(或-R)选项复制目录,-f选项还可以防止cp命令报错。但在这个命令中,由于使用了-r(或-R,与-a一起时),-f主要用于覆盖文件。

8. 解除挂载

$ sudo umount /mnt 

9. 使用gzip对ramdisk进行压缩

$ gzip --best -c ramdisk > ramdisk.gz 

10. 使用mkimage命令给ramdisk.gz文件添加64字节的数据头得到ramdisk.img镜像文件

$ mkimage -n "ramdisk" -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img

在这里插入图片描述
在这里插入图片描述

11. 拷贝ramdisk.img到~/tftpboot目录下

$ chmod 777 ramdisk.img 
$ cp ramdisk.img ~/tftpboot 

12. 测试ramdisk.img镜像文件

FSMP1A> setenv bootcmd "mmc dev 0;mmc read 0xc2000000 0x2000 0x4000;mmc read 0xc4000000 0x10000 0x200;mmc read 0xc5000000 0x21500 0x21500;bootm 0xc2000000 0xc5000000 0xc4000000"
FSMP1A> setenv bootargs root=/dev/ram console=ttySTM0,115200 initrd=0xc5000040,0x1000000 rw init=/linuxrc rootfstype=ext4
FSMP1A> saveenv
http://www.sczhlp.com/news/142612/

相关文章:

  • 网站开发模块就业前景企业门户网站作用
  • 开网站做网站广州网站建设智能 乐云践新
  • 深圳网站制作专业公司angularjs 做的网站
  • 网站制作工作室网站备案 密码找回
  • 手机网站制作平台有哪些wordpress 引用视频
  • 阜新市建设小学网站河南省网站建设
  • 实用指南:Apache、Nginx 和 Tomcat 的区别
  • python+uniapp基于微信小程序美食点餐实用的系统
  • JavaDoc
  • parted command for linuxg
  • 如何在不绑定Apple账号的情况下备份florr.io
  • 网站标题怎么做深圳市市长
  • 网站建设培训学院最新国际新闻事件
  • 河南省建设工程造价协会网站博物馆网站建设经费请示
  • 网站建设流程体会四川做网站
  • AI智能体框架怎么选?7个主流工具详细对比解析
  • 原创OI试题 - L
  • 《深入浅出WPF》:8.3.2 自定义路由事件 事件注册类型为 EventHandlerReportTimeEventArgs,但.NET 事件包装器类型为 RoutedEventHandler
  • day 6
  • 襄阳做公司网站的软件公司贵阳小程序商城开发
  • 怎么制作网站视频教程步骤妇联网站建设背景
  • 广西建设教育学会网站安全优化大师下载
  • 做网站的等级保护要多少钱建网站服务
  • 陕西网站建设公司找哪家成都seo优化外包公司
  • 房地产网站建设招商Wordpress拍卖
  • 山东seo网站推广发外链的平台有哪些
  • 网站网页设计怎么收费php网站怎么做
  • 网站建设价格济南临西网站建设费用
  • 南昌哪个公司做网站好济南网站制作定制公司
  • 极致优化WordPress网站速度网站建设维护知识