您的位置: 首页 - 站长

html5快速建站网线制作步骤及方法七个步骤

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

html5快速建站,网线制作步骤及方法七个步骤,网站虚拟主持,可以投稿的写作网站文章目录 一、根文件系统中各个目录文件功能解析#xff1a;二、对busybox进行配置和编译#xff08;一#xff09;执行make help命令获取make的帮助信息#xff08;二#xff09;对busybox源码进行配置#xff0c;配置交叉编译器#xff08;三#xff09;执行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 install3. 配置VI风格的命令行编译器 Settings — [] vi-style line editing commands 4. 配置支持所有的模块化的命令 Linux Module Utilities —[ ] Simplified modutils 四编译busybox源码 五安装根文件系统生成对应的根文件系统 六添加根文件系统中必要的文件
  2. 创建/etc/init.d/rcS文件 如果不创建会产生以下错误
  3. 创建/etc/fstab文件
  4. 创建/etc/profile配置文件
  5. 创建etc/inittab文件 拷贝ARM版本的动态库到自己移植的根文件系统的lib路径下
    七移植动态库文件 三、 将rootfs根文件系统打包生成单个的ramdisk.img镜像文件
  6. 进入到家目录下 \( cd ~ 2. 使用dd命令制作一个64M大小的ramdisk单个文件 \) sudo dd if/dev/zero oframdisk bs1M count64ramdisk文件最多可以存储64M大小的数据 注dd是一个用于转换和复制文件的命令行实用程序。它可以用来生成特定大小和内容的文件也可以用来转换文件中的数据格式。if/dev/zeroif是input file的缩写指定输入文件。 /dev/zero是一个特殊的文件读取它会得到无限的零值\0即二进制中的0。在这个命令中它被用作数据源意味着dd命令将从/dev/zero读取数据。oframdiskof是output file的缩写指定输出文件。在这个例子中输出文件被命名为ramdisk。如果该文件不存在dd命令会创建它如果文件已存在dd命令会覆盖它。bs1Mbs是block size的缩写用于指定块的大小即每次读写操作处理的数据量。在这个命令中块大小被设置为1MB兆字节。这意味着dd命令每次从/dev/zero读取1MB的数据然后写入到ramdisk文件中。count64这个选项指定了要复制的块的数量。由于块大小是1MB所以总共会写入64 * 1MB 64MB的数据到ramdisk文件中。
  7. 使用mkfs.ext4对ramdisk进行格式化格式化为ext4格式 $ sudo mkfs.ext4 -F ramdisk 注mkfs.ext4 是用于在设备上创建 ext4 文件系统的命令行工具。它通常用于格式化硬盘分区、USB驱动器或其他存储设备。mkfs.ext4 需要一个块设备作为输入。-F 选项用于强制格式化。
  8. 将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
  9. 将~/rootfs中的内容拷贝到/mnt目录下相当于拷贝到ramdisk文件中 $ sudo cp -raf ~/rootfs/* /mnt注-r 或 -R这是递归复制的选项。当复制目录时这个选项会复制目录及其所有子目录和文件。没有这个选项cp命令默认只复制文件不复制目录。-a这是归档模式的选项它实际上是-dR –preserveall的简写。它尝试以尽可能保留原始文件属性如时间戳、权限、所有权等的方式复制文件。这对于复制目录树特别有用因为它确保了复制后的目录树与原始目录树尽可能相同。然而在这个命令中-a选项与-r或-R一起使用时-r是多余的因为-a已经包含了递归复制的功能。-f这是强制force选项。它会导致cp命令覆盖目标位置上的同名文件而不会询问用户确认。此外如果目标目录不存在并且没有使用-r或-R选项复制目录-f选项还可以防止cp命令报错。但在这个命令中由于使用了-r或-R与-a一起时-f主要用于覆盖文件。
  10. 解除挂载 \( 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.img11. 拷贝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 consolettySTM0,115200 initrd0xc5000040,0x1000000 rw init/linuxrc rootfstypeext4 FSMP1A saveenv