实验九 根文件系统移植

news/2024/7/9 22:35:04 标签: 数据库, postgresql, 服务器

【实验目的】

熟悉根文件系统的目录结构,构建自己的根文件系统

【实验环境】

  1. ubuntu 14.04 发行版
  2. FS4412 实验平台
  3. 交叉编译工具:arm-none-linux-gnueabi- 【注意事项】
  4. 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行

【实验步骤】

一、构建自己的根文件系统

  1. 在 busybox 官网下载 busybox 源码(这里我们下载 busybox-1.22.1.tar.bz2)
    https://busybox.net/downloads/

  2. 拷贝 busybox 源码包到 ubuntu 的家目录下,解压并进入其顶层目录

    $ tar xvf busybox-1.22.1.tar.bz2
    $ cd busybox-1.22.1/
    
  3. 进入 busybox 配置界面(与 Linux 内核配置方法一样)

    $ make menuconfig
    

在这里插入图片描述

  1. 参考如下信息配置 busybox

    Busybox Settings --->
    	Build Options --->
    		[*] Build BusyBox as a static binary (no shared libs)
    		[ ] Build with Large File Support (for accessing files > 2 GB)
    		(arm-none-linux-gnueabi-) Cross Compiler prefix
    

配置完成后通过方向键选择‘Exit’退出,并保存配置信息

  1. 编译 busybox

    $ make
    

在这里插入图片描述

编译完成后在源码的顶层目录下会生成 busybox 文件
6. 安装 busybox

	$ make install

安装完成后在源码的顶层目录下会生成_install 目录
在这里插入图片描述

  1. 进入到安装目录下查看生成的文件

    $ cd _install/
    $ ls
    

如下图所示,在安装目录下生成了根文件系统中所需的 shell 命令文件
在这里插入图片描述

  1. 将交叉编译工具链中的库文件拷贝到_install 目录下

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

如下图所示,在安装目录下就有了根文件系统中所需的库文件
在这里插入图片描述

  1. 删除库文件中的静态库

    $ sudo rm lib/*.a
    
  2. 删除共享库中的符号表(需要在 root 用户下操作

    $ sudo su
    $ /home/linux/Linux_4412/toolchain/gcc-4.6.4/bin/arm-none-linux-gnueabi-strip lib/*
    $ exit
    
  3. 将资料中“移植相关文件”下的 etc 目录(配置文件)拷贝到当前目录下
    在这里插入图片描述

  4. 给 etc/init.d/下的 rcS 脚本添加可执行权限

    $ chmod +x etc/init.d/rcS
    
  5. 创建其他目录

    $ mkdir dev mnt proc root sys tmp var
    

如下图所示,至此我们就构建好了自己的根文件系统
在这里插入图片描述

  1. 删除原来的根文件系统

    $ sudo rm -rf /opt/4412/rootfs/*
    
  2. 将自己制作的根文件系统拷贝到 NFS 的工作目录下测试

    $ sudo cp -rf ./* /opt/4412/rootfs
    

http://www.niftyadmin.cn/n/4968728.html

相关文章

C++day4(拷贝赋值函数、匿名对象、友元、常成员函数和常对象、运算符重载)

一、Xmind整理&#xff1a; 二、上课笔记整理&#xff1a; 1.day3作业订正&#xff1a;设计一个Per类&#xff0c;类中包含私有成员&#xff1a;姓名、年龄、指针成员身高... #include <iostream>using namespace std;//封装人 类 class Person { private:string name;…

Docker容器学习:搭建私有镜像仓库Harbor操作

目录 系统环境&#xff1a; 安装Docker-Compose 下载并安装Harber 启动Harbor 使用Harbor 上传下载镜像到harbor仓库 系统环境&#xff1a; Centos7.9Docker-ce:24 安装Docker-Compose curl -L "https://github.com/docker/compose/releases/download/v2.20.3/do…

基于JSP+Servlet+mysql员工权限管理系统

基于JSPServletmysql员工权限管理系统 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型&#xff1a;Java web项目 项目名称&#xff1a;基于JSPServlet的员工权限管理系统[qxxt] 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 …

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分&#xff0c;负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发&#xff0c;以下是一些常见的后端开发语言&#xff1a; Java&#xff1a; Java是一种广泛使用的面向对象编程语言&#xff0c;具有强大的跨平台能力。…

最新WAF信息收集技术

WAF信息收集 目前&#xff0c;市面上的WAF大多都部署了云服务进行防护加固&#xff0c;让WAF的防护性能得到进一步提升。 图1-32所示为安全狗最新版服务界面&#xff0c;增加了“加入服云”选项。 安全狗最新版服务界面&#xff0c;不仅加强了传统的WAF防护层&#xff0c;还增…

ctfshow-红包题第二弹

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 同样&#xff0c;先看一下有没有注释的内容&#xff0c;可以看到有一个cmd的入参 执行之后可以看到文件代码&#xff0c;可以看到也是eval&#xff0c;但是中间对大部分的字符串都进行了过滤&#xff0c;留下了…

ATFX汇市:美元指数疯狂上涨,英镑单日贬值近1%

环球汇市行情摘要—— 昨日&#xff0c;美元指数上涨0.55%&#xff0c;收盘在103.95点&#xff0c; 欧元贬值0.50%&#xff0c;收盘价1.0810点&#xff1b; 日元贬值0.69%&#xff0c;收盘价145.84点&#xff1b; 英镑贬值0.98%&#xff0c;收盘价1.2600点&#xff1b; 瑞…

最简单 实现 Element-ui el-table的懒加载表格数据 el-table懒加载请求数据 element-ui 懒加载

最简单 实现 Element-ui el-table的懒加载表格数据 el-table懒加载请求数据 element-ui 懒加载 1、效果图2、代码 1、效果图 2、代码 <template> <el-table :data"tableData" style"width: 100%" expand-change"expandChange"><…