位置: IT常识 - 正文

在Linux系统上开启Initrd文件系统的方法(linux系统怎么打开)

编辑:rootadmin
这篇文章主要介绍了在Linux系统上开启Initrd文件系统的方法,Initrd是在RAM中被创建的临时的被用来激活系统所须加载的文件系统,需要的朋友可以参考下... 16-02-26

推荐整理分享在Linux系统上开启Initrd文件系统的方法(linux系统怎么打开),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux系统如何打开,linux开启x11,linux开启gui,linux开放,linux开启x11,linux开启x11,linux系统怎么打开运行程序,linux系统怎么打开运行程序,内容如对您有帮助,希望把文章链接给更多的朋友!

initial RAM disk

Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存。在很多嵌入式Linux系统中,initrd 就是最终的根文件系统。本文将探索 Linux 2.6 的初始 RAM磁盘,包括如何创建以及如何在Linux内核中使用。什么是初始 RAM 磁盘

初始RAM磁盘(initrd)是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起,并作为内核引导过程的一部分进行加载。内核然后会将这个 initrd文件作为其两阶段引导过程的一部分来加载模块,这样才能稍后使用真正的文件系统,并挂载实际的根文件系统。initrd 中包含了实现这个目标所需要的目录和可执行程序的最小集合,例如将内核模块加载到内核中所使用的 insmod 工具。在桌面或服务器Linux 系统中,initrd 是一个临时的文件系统。其生存周期很短,只会用作到真实文件系统的一个桥梁。在没有存储设备的嵌入式系统中,initrd 是永久的根文件系统。本文将对这两种情况进行探索。

Initrd开启步骤

下面来看下如何打开initrd,这里我使用的是debian5操作系统

1.创建一个目录,将/boot/initrd.img-2.6.18-6-amd64 复制到该目录下.

代码如下:root@192.168.30.68:tmp# mkdir initrdroot@192.168.30.68:tmp# cd initrd/root@192.168.30.68:initrd# lsroot@192.168.30.68:initrd# cp /boot/initrd.img-2.6.18-6-amd64 .root@192.168.30.68:initrd# lsinitrd.img-2.6.18-6-amd64在Linux系统上开启Initrd文件系统的方法(linux系统怎么打开)

2.将initrd文件名改为.gz文件,将其解压缩.

代码如下:root@192.168.30.68:initrd# file initrd.img-2.6.18-6-amd64 #发现该文件是一个gzip压缩过的文件initrd.img-2.6.18-6-amd64: gzip compressed data, from Unix, last modified: Thu Sep 24 18:21:40 2009root@192.168.30.68:initrd# mv initrd.img-2.6.18-6-amd64 initrd.img-2.6.18-6-amd64.gzroot@192.168.30.68:initrd# file initrd.img-2.6.18-6-amd64.gz initrd.img-2.6.18-6-amd64.gz: gzip compressed data, from Unix, last modified: Thu Sep 24 18:21:40 2009root@192.168.30.68:initrd# gunzip initrd.img-2.6.18-6-amd64.gz

3.使用file发现解压缩过后的文件是一个cpid格式,是一种备份格式,使用cpio,参数'i' 代表解包 与'd' 代表在需要时自动建立第一层目录.

代码如下:root@192.168.30.68:initrd# file initrd.img-2.6.18-6-amd64initrd.img-2.6.18-6-amd64: ASCII cpio archive (SVR4 with no CRC)root@192.168.30.68:initrd# cpio -id < initrd.img-2.6.18-6-amd6432912 blocksroot@192.168.30.68:initrd# lsbin conf etc init initrd.img-2.6.18-6-amd64 lib lib64 sbin scriptsroot@192.168.30.68:initrd# rm initrd.img-2.6.18-6-amd64 rm: remove regular file `initrd.img-2.6.18-6-amd64'? yroot@192.168.30.68:initrd# lsbin conf etc init lib lib64 sbin scripts

也可以直接通过zcat读取gzip格式的文件,再将读出来的结果由pipeline交给cpio解开

代码如下:root@192.168.30.68:initrd# zcat initrd.img-2.6.18-6-amd64 | cpio -id32912 blocksroot@192.168.30.68:initrd# lsbin conf etc init initrd.img-2.6.18-6-amd64 lib lib64 sbin scripts

以上就是initrd文件打开后的目录架构,当kernel启动加载initrd时,并没有任何系统的目录架构,这时会先以initrd所提供的目录当做是系统的暂时目录.

其中有个lib目录:里面存放着许多的模块,即现在系统所有的模块,这代表目录中所存放的模块都是开机所必须加载的模块.例如当kernel加载Initrd之后,initrd将会加相应的网络模块驱动,以便让我们进入操作系统能够识别到网卡.

代码如下:root@192.168.30.68:initrd# lsmod | grep bnx2 #本机网络驱动bnx2 183048 0root@192.168.30.68:initrd# find . -name 'bnx2*' #initrd里bnx2对应的模块./lib/modules/2.6.18-6-amd64/kernel/drivers/net/bnx2.ko./lib/firmware/bnx2-09-4.0.5.fw./lib/firmware/bnx2-06-4.0.5.fw

假如临时又添加了一块最新的网卡,希望在开机时加载,这时只要修改initrd文件的内容在打个包就可以了,比起重新编译kernel或者安装操作系统要方便多了.

下面介绍如何让将修改后的initrd文件再重新打包起来.

1.在修改后的文件目录下,使用find将所有的文件列出来,再通过pipeline,把所有清单交给cpio指令.cpio用到的参数'c'代表用新的SVR4可移植格式.'o'代表建立文件.最后用gzip以最佳的压缩效率'-9'压缩(默认是-6),使用'>'导出.

代码如下:root@192.168.30.68:initrd# lsbin conf etc init lib lib64 sbin scriptsroot@192.168.30.68:initrd# find | cpio -co | gzip -9 > initrd.img-2.6.18-6-amd64 32884 blocksroot@192.168.30.68:initrd# lsbin conf etc init initrd.img-2.6.18-6-amd64 lib lib64 sbin scriptsroot@192.168.30.68:initrd# file initrd.img-2.6.18-6-amd64 initrd.img-2.6.18-6-amd64: gzip compressed data, from Unix, last modified: Tue May 14 13:50:26 2013, max compression

2.将该文件copy到/boot/下.重启机器生效.

此外在initrd被kernel加载后的开机流程,是依照initrd文件中的一个init文件,由它所提供的脚本一步一步往下做,包括实体硬盘加载实际的操作系统也是由这个文件提供的.

代码如下:root@192.168.30.68:initrd# lsbin conf etc init lib lib64 sbin scriptsroot@192.168.30.68:initrd# cat init#!/bin/sh代码如下:echo "Loading, please wait..." 代码如下:[ -d /dev ] || mkdir -m 0755 /dev[ -d /root ] || mkdir -m 0700 /root[ -d /sys ] || mkdir /sys[ -d /proc ] || mkdir /proc[ -d /tmp ] || mkdir /tmpmkdir -p /var/lockmount -t sysfs -o nodev,noexec,nosuid none /sys mount -t proc -o nodev,noexec,nosuid none /proc 代码如下:# Note that this only becomes /dev on the real filesystem if udev's scripts# are used; which they will be, but it's worth pointing outtmpfs_size="10M"if [ -e /etc/udev/udev.conf ]; then . /etc/udev/udev.conffimount -t tmpfs -o size=$tmpfs_size,mode=0755 udev /dev[ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1[ -e /dev/null ] || mknod /dev/null c 1 3> /dev/.initramfs-toolsmkdir /dev/.initramfs 代码如下:# Export the dpkg architectureexport DPKG_ARCH=. /conf/arch.conf 代码如下:# Set modprobe envexport MODPROBE_OPTIONS="-qb" 代码如下:# Export relevant variablesexport ROOT=export ROOTDELAY=export ROOTFLAGS=export ROOTFSTYPE=export break=export init=/sbin/initexport quiet=nexport readonly=y.....
本文链接地址:https://www.jiuchutong.com/zhishi/278736.html 转载请保留说明!

上一篇:Win11中的照片应用程序有哪些新功能?获得新的照片应用程序方法(win11自带照片查看器)

下一篇:进程的内核栈是什么?浅谈Linux的进程内核栈(进程核心栈)

  • 字体开源的意义是什么(开源字体的定义)

    字体开源的意义是什么(开源字体的定义)

  • 网卡算不算设备(网卡属于输入设备还是输出设备)

    网卡算不算设备(网卡属于输入设备还是输出设备)

  • 抖音直播间怎么抢红包(抖音直播间怎么上人气)

    抖音直播间怎么抢红包(抖音直播间怎么上人气)

  • 黑胶和音乐包有什么不同(黑胶跟音乐包)

    黑胶和音乐包有什么不同(黑胶跟音乐包)

  • 充电宝自己给自己充电有什么后果(充电宝自己给自己充会怎么样)

    充电宝自己给自己充电有什么后果(充电宝自己给自己充会怎么样)

  • 淘宝怎么看一个月花费(淘宝怎么看一个月的成交额)

    淘宝怎么看一个月花费(淘宝怎么看一个月的成交额)

  • iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

    iPad?Air2与iPad?mini3有什么区别(ipadair2与ipadmini5哪个好)

  • 光纤收发器tx和rx什么意思

    光纤收发器tx和rx什么意思

  • 抖音如何跳过手机验证码登录(抖音如何跳过手机号注册一个账号)

    抖音如何跳过手机验证码登录(抖音如何跳过手机号注册一个账号)

  • 怎么用石墨打开链接 (如何使用石墨)

    怎么用石墨打开链接 (如何使用石墨)

  • 怎样查电脑系统是windows几(怎么查看自己的电脑是win几)

    怎样查电脑系统是windows几(怎么查看自己的电脑是win几)

  • 苹果手机开机键是哪个(苹果手机开机键按不动)

    苹果手机开机键是哪个(苹果手机开机键按不动)

  • 微信编辑保留在哪里找(手机微信编辑后的保存文档在哪里找到)

    微信编辑保留在哪里找(手机微信编辑后的保存文档在哪里找到)

  • 华为nova4超广角怎么使用(华为nova4广角摄像头是哪个)

    华为nova4超广角怎么使用(华为nova4广角摄像头是哪个)

  • 苹果11系列电池百分比设置(苹果11系列电池数据能修改吗)

    苹果11系列电池百分比设置(苹果11系列电池数据能修改吗)

  • 书旗小说如何免费阅读(书旗小说怎么免广告)

    书旗小说如何免费阅读(书旗小说怎么免广告)

  • 快手直播黄钻怎么算(快手直播黄钻怎么提现怎么算)

    快手直播黄钻怎么算(快手直播黄钻怎么提现怎么算)

  • 探探怎么打招呼(探探怎么打招呼比较好)

    探探怎么打招呼(探探怎么打招呼比较好)

  • 小天才z5有充电头吗(小天才z5充电器图片)

    小天才z5有充电头吗(小天才z5充电器图片)

  • 飞行模式对方听到什么(飞行模式对方听到声音)

    飞行模式对方听到什么(飞行模式对方听到声音)

  • 怎么在小红书保存原图(怎么在小红书保存动图)

    怎么在小红书保存原图(怎么在小红书保存动图)

  • 全网通和wifi版的区别(全网通和wlan版买哪个比较好)

    全网通和wifi版的区别(全网通和wlan版买哪个比较好)

  • 在WIN10中,为什么桌面图标会变大?(为什么我的win10)

    在WIN10中,为什么桌面图标会变大?(为什么我的win10)

  • kaggle注册以及数据集下载全流程(kaggle官网注册)

    kaggle注册以及数据集下载全流程(kaggle官网注册)

  • Vue3 - props(vue3props用法)

    Vue3 - props(vue3props用法)

  • 九斑蛾,瑞士 (© Thomas Marent/Minden Pictures)

    九斑蛾,瑞士 (© Thomas Marent/Minden Pictures)

  • 需要出口
  • 稳岗补贴属于不征税收入吗
  • 企业为什么产生
  • 金税盘服务费能抵税吗
  • 管理费用预测
  • 附加税退税申请书怎么写
  • 土地增值税税收优惠
  • 盘盈的固定资产计入什么科目
  • 企业名称变更后原名称还能使用吗
  • 营改增后非增值税应税项目包括哪些
  • 公司车辆怎么申请
  • 普通发票跨年作废有影响吗
  • 一般纳税人开普票要交税吗
  • 饭店试菜费用如何计算
  • 免税销售额怎么算出来的
  • 代扣款怎么做账
  • 分期收款如何确认成本
  • 取得的技术成果
  • 原材料账户可以按什么进行明细核算
  • 外币账户和外汇账户一样吗?
  • 房屋租赁发票需要什么资料
  • 跨年度的费用发票可以入账吗
  • 如何查看系统浏览器记录
  • win7电脑怎么开
  • 刚装好的服务器怎么安装
  • 银行汇票与银行本票的区别
  • php中数组的常用函数及用法
  • 11的文件管理在哪
  • win7系统网络连接出现红叉
  • 承租人对经营租赁的会计处,怎么快速记住方法
  • 液晶显示器容易坏点
  • 不征税收入税收政策
  • 冲回暂估分录
  • 棕榈滩的读音
  • php 加密
  • Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
  • 微软 大中华区 前副总裁
  • php eval绕过
  • 保障金计入什么科目
  • 在建工程账务核算及处理
  • 法人不发工资可以吗
  • 手写报销条子怎么写
  • 资产负债表日后事项是什么意思?
  • 分批发货分批付款
  • 公章损坏如何更换
  • SQL SERVER中关于exists 和 in的简单分析
  • 企业支付临时工劳务报酬需要取得发票吗
  • 外购货物用于促销的账务处理
  • 工程外管核销报告范本
  • 小规模纳税人没有进项发票违法吗
  • 计提是好是坏
  • 收到劳务公司代发工资怎么做账
  • 应收票据和应付票据的区别
  • 预付账款长期挂账的合理原因
  • 开了20万销项进项为0交多少税
  • 营业收入和营业总收入一样吗
  • sql触发器语句
  • 怎样破解bios密码
  • centos ssh permission denied
  • 为什么windows删除文件很慢
  • WINDOWS命令行为什么删除速度很快
  • tomcat调用servlet流程
  • schedulerv2.exe - schedulerv2是什么进程 有什么用
  • mediabrowser.exe是什么
  • win7任务栏跑到右边了
  • win8怎么查看隐藏文件
  • win10重启更新的时候强制关机后会发生啥
  • opengl 输入框
  • c# opengl 3d
  • node.js ssh
  • linux命令批量执行
  • 批处理的应用
  • es6十大特性
  • mysql批量建表脚本
  • JavaScript中的数据类型
  • unable to instantiate decoder
  • 获取手机信息的渠道
  • 出口退税报关单在哪里打印
  • 税务总局转变税收征管方式
  • 财务公司怎么做
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设