首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    initramfs-kernel_deepin initramfs

    在本指南中,将说明 initramfs 的概念,以及如何正确地创建和管理 initramfsInitramfs 是什么 介绍 许多用户是没有必要关心initramfs系统的。 但对于许多系统,initramfs 是强制性使用的。 了解 initramfs(或者需要)的关键概念是了解 Linux 引导过程的工作原理,即使是在高级方法中也是如此。 initramfs 的诞生解决了这些的问题。 创建一个initramfs Introduction and bootloader configuration To create an initramfs, it is important to know For instance, if the initramfs file is stored as /boot/initramfs-3.2.2-gentoo-r5, then the configuration

    1.1K20编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    initramfs-kernel_ubuntu initramfs

    Linux系统启动时使用initramfs (initram file system), initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。 当然initramfs是可选的,Linux中的内核编译选项默认开启initrd。在下面的示例情况中你可能要考虑用initramfs。 如果你需要一个shell,必须把shell打包到initramfs中,如果你需要一个简单的工具,比如ls, 你也必须把它和它依赖的库或者模块打包到initramfs中。 Linux的initramrd img 在/boot目录下的initrd.img-xxx (Ubuntu)或者initramfs-xxx.img (CentOS) 文件即为Linux用的initramfs qemu中启动”Hello World” initramfs 在前文“在QEMU环境中使用GDB调试Linux内核”中,已经准备了一个Linux启动环境,但是缺少initramfs

    82920编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    Initramfs_正在生成initramfs

    内核源代码树中的usr目录就是专门用于构建内核中的initramfs的,其中的initramfs_data.cpio.gz文件就是initramfs。 然后把内核源码树的usr目录下已由内核编译生成的initramfs文件initramfs_data.cpio.gz拷贝到 ~/initramfs-test 目录下,我们先直接用这个文件试验一下 initrd 例如,我们想把前一步从内核源码树 usr目录下拷贝的initramfs_data.cpio.gz 展开到~/initramfs-test/initramfs_data目录下,则使用下列命令: mkdir ~/initramfs-test/initramfs_data cd ~/initramfs-test/initramfs_data cpio -i -F .. /initramfs_data.cpio.gz –no-absolute-filename 命令执行完毕后,initramfs_data目录下出现多个目录和文件,用diff命令比较initramfs_data

    4.2K21编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    Linux加密initramfs,initramfs 製作方式

    Linux 2.6 kernel提出了一种新的实现机制,即initramfs。顾名思义,initramfs只是一种RAM filesystem而不是disk。 I. initramfs 详细的initramfs的资料可以参考如下: (1) 黃敬群先生的blog:深入理解 Linux 2.6 的 initramfs 機制 (2) initramfs, a new 创建initramfs 命令:mkinitramfs, update-initramfs 1) mkinitramfs # mkinitramfs -o /boot/initrd.img 2.6.24- 16 Note: 2.6.24-16是需要创建initramfs的kernel版本号,如果是给当前kernel制作initramfs,可以用uname -r查看当前的版本号。 2)update-initramfs 更新当前kernel的initramfs # update-initramfs -u 在添加模块时,initramfs tools只会添加一些必要模块,用户可以通过在

    2.2K10编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    linux initramfs加载系统指令_正在生成initramfs

    下面来介绍一下initramfs initramfs是编到内核中的一种根文件系统,使用的是cpio格式,处理流程和我们之前介绍的initrd机制的cpio格式的流程几乎一样, 只不过这个是编译到内核里的 3. initramfs被解析处理后原始的cpio包(压缩或非压缩)所占的空间 (&__initramfs_start – &__initramfs_end) 是作为系统的一部分直接保留在系统中,不会被释放掉 4. cpio-initrd的处理和initramfs极其相似,cpio-initrd就是相当于把initramfs处理机制用initrd机制加载 5. CentOS 6.4) [root@192 boot]# cp initramfs-2.6.32-358.el6.i686.img /home/llz/initramfs/initramfs-2.6.32 -358.el6.i686.img.gz [root@192 initramfs]# gunzip initramfs-2.6.32-358.el6.i686.img.gz [root@192 initramfs

    1.6K20编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    linux生成initramfs,Linux启动过程与initramfs

    ; 内核进行初始化,内核的初始化过程结束后,就会把控制权交给/init程序,从此进入用户空间; 因为内核先是将 initramfs 文件挂在为根文件系统,所以刚开始运行的/init程序其实是 initramfs 文件中的,所以该文件需要的重要的初始化脚本、内核模块、配置文件等,都位于 initramfs 文件中,这也是为什么很多时候我们修改了某些配置文件后,需要先更新 initramfs 文件再重启操作系统才会生效 initramfs概述 Initramfs/Initrd 用于创建一个系统启动初期的小型用户空间,解决复杂启动流程问题,作为真实rootfs挂载前的过渡。 创建一个initramfs # dracut [–force] [/PATH/TO/new_image_name] [kernel version] 这将创建一个通用的initramfs image,包含尽可能多的当前 active kernel的驱动模块和系统工具,image默认位置:/boot/initramfs-.img;–force选项用于强行覆盖已经存在的同名initramfs;可以在cmdline指名新image

    5.2K20编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    linux initramfs,Linux INITRAMFS 与 INITRD「建议收藏」

    指针和__initramfs_end指针访问XXX.cpio.gz文件,调用函数unpack_to_rootfs函数把源文件解压到rootfs中。 那假如说initramfs的rootfs为空(CONFIG_INITRAMFS_SOURCE没有配置或者指向不存在的位置),或者initramfs的rootfs没有有效的“/init”文件。 同时,这也应证了配置Kernel的时候为什么只需要配置’CONFIG_INITRAMFS_SOURCE’一个选项足也。 l实际上rootfs不仅为INITRAMFS提供服务,它还为INITRAMDISK的加载提供中转服务,这一过程后面会讲到。 linitramfs的处理总是优先于对commandLine中启动参数的处理,因此initramfs和commandline无关。

    1.5K30编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    initramfs是什么_hdfs工作原理

    initramfs概述 initramfs与initrd类似,也是初始化好了且存在于ram中的,可以压缩也可以不压缩。 但是目前initramfs只支持cpio包格式,它会被populate_rootfs->unpack_to_rootfs(&__initramfs_start, &__initramfs_end – & __initramfs_start, 0)函数(解压缩、)解析、安装。 initramfs与initrd区别 (1) Linux内核只认cpio格式的initramfs文件包(因为unpack_to_rootfs只能解析cpio格式文件),非cpio格式的 initramfs (3) initramfs被解析处理后原始的cpio包(压缩或非压缩)所占的空间(&__initramfs_start – &__initramfs_end)是作为系统的一部分直接保留在系统中,不会被释放掉

    1.1K21编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    生成initramfs_windows引导文件

    在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统。 initramfs:基于ram的文件系统。initramfs出现在2.6内核中,它类似于tmpfs,是一种基于内存的文件系统,它的使用不需要创建内存块设备。 yaffs2,需添加补丁;ramdisk不能直接固化到flash上,jffs2和cramfs都需要其他工具制作,最后找到了Initramfs文件系统。 文件系统: 1、建立Initramfs文件系统启动时所需文件init(initramfs文件系统启动时会在根文件系统中执行第一个init程序,它对uboot传过来的参数init=/linuxrc不予理睬 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support (/xxx/rootfs) Initramfs

    1.1K10编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    ubuntu开机出现initramfs解决办法

    第二步:当出现FILE SYSTEM WAS MODIFIED这个的时候,就表示已经成功了,然后输入reboot重启。

    8.1K30编辑于 2022-09-22
  • 来自专栏全栈程序员必看

    文件系统 busybox and initramfs「建议收藏」

    h2m_xrj6OsLiHVVhMY2e0C7WKikw_H3dZY_b4mUiW1E7AEf_q34NUUAUK6VoqnMaCow57pxEwTefYNU8WldKMyDL9uarTNSyxKsJ-hmOpq_ 注意: 1 /lib下的 库是由 编译器下的库 复制的来 2/sbin/init是由 busybox生成 我们须要编写 initab rcd等 2initramfs

    32110编辑于 2022-07-08
  • 来自专栏修己xj

    Ubuntu重启后进入initramfs导致无法开机解决方案

    但重启后,系统一直显示(initramfs):,导致无法正常启动。最后,在网上查找了一些解决方案,成功解决了这个开机问题。在这篇文章中,我将与大家分享解决方案的过程和经验。 开机现象 虚拟机系统是Ubuntu 22.04,开机后一直显示(initramfs):,导致无法正常启动。 exit 总结 在解决Ubuntu进入initramfs导致无法开机的问题时,请确保备份重要数据并谨慎操作,以免造成数据丢失或其他不可逆的损失。

    2.9K21编辑于 2023-11-05
  • 来自专栏全栈程序员必看

    principal和main的区别

    因为external initramfs是在built-in initramfs之后执行的,所以如果两个档案内包含有同名的内容,独立档案会覆盖掉built-in填进去去的东西。 /initramfs_data.cpio.gz cd .. rm -rf sub 按照传统的使用initrd的方法,把上面生成的initramfs_data.cpio.gz放到该放的地方去(别问我要放哪里 把initramfs编译到内核里面去 使用initramfs最简单的方式,莫过于用已经做好的cpio.gz把kernel里面那个空的给换掉。 General setup—>Initramfs source file(s) in menuconfig)。这个选项指向放着内核打包initramfs需要的所有文件。 /initramfs_list usr/gen_init_cpio usr/initramfs_list > usr/initramfs_data.cpio gzip usr/initramfs_data.cpio

    38420编辑于 2022-09-22
  • 来自专栏FreeBuf

    CVE-2016-10277在MOTO X手机上的漏洞利用实践

    而CVE-2016-10277的一个攻击面就是通过注入内核命令参数控制手机启动时的initramfs加载地址,加载我们指定的initramfs。 2) 通过参数注入劫持initramfs加载 通过CVE-2016-10277漏洞我们可以向内核注入initrd参数,该参数控制了initramfs的内存加载地址,参数形式如下: initrd=<initramfs_address 为了验证能否顺利劫持initramfs加载,我们还需要找到可用的initramfs,并且找到向内存注入可控initramfs的方法。 漏洞的发现者做出了一个猜测,有可能是flash image后,手机的启动过程中污染了我们发送的initramfs,导致initramfs被破坏。 3) 构造initramfs获取root权限 成功劫持了initramfs后,我们需要想办法替换或修改initramfs中的文件来进行root提权。

    1.2K70发布于 2018-02-28
  • 来自专栏EasyNVR

    RTSP拉流协议视频平台EasyNVR硬件设备意外断电重启无法进入initramfs界面配置如何解决?

    尽管我们强调过EasyNVR硬件设备不能通过断电强制关闭,但是仍有部分情况是我们无法避免的,比如正在使用过程中,机房突然断电等问题,会导致我们重新启动EasyNVR硬件并不能进入到图形化界面,而是进入到了initramfs

    67020发布于 2020-12-18
  • 来自专栏编程使我快乐

    使用fsck命令检查并修复linux文件系统

    再次重启后出现黑屏,提示错误如下: initramfs unpacking failed decoding failed radeon 0000:01:00.0: failed VCE resume ( image.png initramfs initramfs (initram file system) 用于挂载根文件系统。 initramfs是在普通根文件系统上可以找到的完整目录集, 在启动时,引导加载程序会把内核和initramfs镜像加载到内存并启动内核。 initramfs可以在启动早期提供一个用户态环境。 initramfs 与 BusyBox 是什么关系? 我理解initramfs就是一种文件系统。BusyBox是命令工具集,其中还有一个switch_root命令,可以切换root文件系统。

    5.5K20发布于 2020-11-04
  • Linux内核(内核模块)的加载过程(超详细)

    Initramfs 虚拟文件系统主要有以下优点:initramfs 随着其中数据的増减自动増减容量。在 initramfs 和页面缓存之间没有重复数据。 initramfs 重复利用了 Linux caching 的代码,因此几乎没有増加内核尺寸,而 caching 的代码已经经过良好测试,所以 initramfs 的代码质量也有保证。 当然可以,命令如下:[root@localhost ~]# mkdir /tmp/initramfs#建立测试目录[root@localhost ~]# cp/boot/initramfs-2.6.32 -279.el6.i686.img/tmp/initramfs/#复制initramfs文件[root@localhost ~]# cd /tmp/initramfs/[root@localhost initramfs -ivcdu <initramfs-2.6.32-279.el6.i686.img#解压缩[root@localhost initramfs]#ll总用量34512drwxr-xr-x. 2 root

    1.6K20编辑于 2024-03-25
  • 来自专栏全栈工程师修炼之路

    系统镜像操作相关命令一览表

    [TOC] 0x00 镜像内容查看 lsinitramfs 命令 lsinitrd 命令 描述:列出给定一个initramfs镜像的内容列表,它允许快速检查一个(或多个)指定initramfs文件的内容 ; 命令语法参数: Usage: lsinitrd [options] [<initramfs file> [<filename> [<filename> [...] ]]] Usage: lsinitrd [options] -k <kernel version> -s, --size sort the contents of the initramfs by size -k, --kver <kernel version> inspect the initramfs of <kernel version>. /initramfs-3.10.0-1062.12.1.el7.x86_64.img: 18M # ===================================================

    1.2K30编辑于 2022-09-28
  • 来自专栏有困难要上,没有困难创造困难也要上!

    安装Nvidia驱动时提示需要disable the Nouveau kernel driver

    解决办法如下: 修改 /etc/modprobe.d/blacklist.conf 文件 blacklist nouveau 备份 initramfs $ sudo mv /boot/initramfs -$(uname -r).img /boot/initramfs-$(uname -r).img.bak 重建 initramfs $ sudo dracut -v /boot/initramfs-$(

    3.8K20发布于 2019-05-15
  • 来自专栏北京马哥教育

    破解Linux系统root用户密码

    ,置入内存 6 启动加载器将控制权交给内核 7 由内核查找initramfs中的硬件驱动,作为PID=1从initramfs执行/sbin/init (在RHEL7中,为systemd,并包含udev 破解Linux系统root用户密码 破解root密码的大致思路为,linux系统启动时会加载Initramfs文件系统,而Initramfs文件系统其实就是压缩的仅包含开机引导所必须的一小部分系统命令, 在我们进入磁盘系统之前会有系统启动加载器grub2来加载内核和Initramfs文件系统,因为磁盘系统的root密码忘记了,所以我们必须修改步骤3的启动部分,告诉系统加载完内核后就停止,让我们进入Initramfs 当我们进入到initramfs文件系统后,因为当前的/sysroot为只读挂载,而重置passwd的话肯定需要写入权限,所以我们需要重新以写入权限挂载。 4.然后进入到initramfs文件系统,重新挂载/sysroot,使用rw方式进行挂载 ? 5.使用chroot命令,将shell切换到/sysroot下 ?

    17.1K90发布于 2018-05-04
领券