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

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

    name_to_dev_t(root_device_name); if (strncmp(root_device_name, “/dev/”, 5) == 0) root_device_name += 5; } if (initrd_load

    1.5K30编辑于 2022-09-22
  • 来自专栏悟空被FFmpeg玩

    查看linux里的initrd.img里的内容

    [root@localhost liuqi]# lsinitrd /boot/initrd-2.6.32-rc6.img /boot/initrd-2.6.32-rc6.img: ==========

    4.2K20发布于 2019-03-05
  • 来自专栏全栈程序员必看

    android rootfs的挂载流程[通俗易懂]

    , ulong *initrd_end) { char *s; ulong initrd_high; int initrd_copy_to_ram = 1; if ((s = getenv(" initrd_high")) ! 相关代码如下: static void setup_initrd_tag(bd_t *bd, ulong initrd_start, ulong initrd_end) { /* an ATAG_INITRD (tag_initrd); params->u.initrd.start = initrd_start; params->u.initrd.size = initrd_end - initrd_start \n"); err = unpack_to_rootfs((char *)initrd_start, initrd_end - initrd_start); if (!

    3.1K20编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    initramfs-kernel_ubuntu initramfs

    的文件类型是gzip压缩文件 #file /boot/initrd.img-4.4.0-93-generic/boot/initrd.img-4.4.0-93-generic: gzip compressed 22M #ls -lh initrd.img-4.4.0-93-generic-rw-r–r– 1 root root 22M Jul 5 15:46 initrd.img-4.4.0-93-generic # 修改文件的后缀名,否则gzip工具无法识别 #mv initrd.img-4.4.0-93-generic initrd.img-4.4.0-93-generic.gz # 用gzip解压缩 #gzip -d initrd.img-4.4.0-93-generic.gz # 解压后的大小为57M #ls -lh initrd.img-4.4.0-93-generic-rw-r–r– 1 root root 57M Jul 5 15:46 initrd.img-4.4.0-93-generic # 解压后的文件类型为cpio档案 #file initrd.img-4.4.0-93-generic initrd.img

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

    initramfs是什么_hdfs工作原理

    文件包将被系统抛弃,而initrd可以是cpio包也可以是传统的镜像(image)文件,实际使用中initrd都是传统镜像文件。 镜像文件,如果没有在命令行中设置”keepinitd”命令,那么initrd镜像文件被处理后其原始文件所占的空间(initrd_end – initrd_start)将被释放掉。 (4) initramfs可以独立ram disk单独存在,而要支持initrd必须要先支持ram disk,即要配置CONFIG_BLK_DEV_INITRD选项 — 支持initrd,必须先要配置CONFIG_BLK_DEV_RAM 配置initrd General setup —> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support () Initramfs 内核配置不需要ram disk;也不需要配置initramfs或者initrd [ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support

    1.1K21编辑于 2022-09-22
  • 来自专栏韩曙亮的移动开发专栏

    【Linux 内核 内存管理】memblock 分配器 ⑤ ( Linux 内核中定义 memblock 分配器的位置 | ARM64体系架构下 Linux内核初始化 memblock 分配器流程 )

    ) && initrd_start) { /* * Add back the memory we just removed if it results in the * initrd to * Otherwise, this is a no-op */ u64 base = initrd_start & PAGE_MASK; u64 size = PAGE_ALIGN (initrd_end) - base; /* * We can only add back the initrd memory if we don't end up * with more if (initrd_start) { memblock_reserve(initrd_start, initrd_end - initrd_start); /* the generic initrd code expects virtual addresses */ initrd_start = __phys_to_virt(initrd_start); initrd_end

    1.4K10编辑于 2023-03-30
  • 来自专栏全栈程序员必看

    rootfs文件_clang编译android内核

    Initrd是一个被压缩过的小型根目录,这个目录中包含了启动阶段中必须的驱动模块,可执行文件和启动脚本。 当系统启动的时候,bootloader会把initrd文件读到内存中,然后把initrd文件在内存中的起始地址和大小传递给内核 内核在启动初始化过程中会解压缩initrd文件,然后将解压后的initrd 挂载为根目录, 然后执行根目录中的/linuxrc脚本(cpio格式的initrd为/init,而image格式的initrd为/initrc), 2.Initramfs initramfs,它的作用和 支持initrd的内核配置(需要内核支持内存盘驱动): General setup->Initial RAM filesystem and RAM disk(initramfs/initrd) support 1.通过cmdline传入 2.bootloader 通过setup_initrd_tag函数把initrd_start设置到内核 tag中,内核通过parse_tag解析 init_mount_tree

    2.9K10编辑于 2022-11-08
  • 来自专栏程序员同行者

    cobbler koan自动重装系统

    /profile/CentOS-7-x86_64 install_tree: http://192.168.56.130/cblr/links/CentOS-7-x86_64 downloading initrd initrd.img to /boot/initrd.img_koan url=http://192.168.56.130/cobbler/images/CentOS-7-x86_64/initrd.img - reading URL: http://192.168.56.130/cobbler/images/CentOS-7-x86_64/initrd.img downloading kernel vmlinuz /cobbler/images/CentOS-7-x86_64/vmlinuz - ['/sbin/grubby', '--add-kernel', '/boot/vmlinuz_koan', '--initrd ', '/boot/initrd.img_koan', '--args', '"ksdevice=link lang= text net.ifnames=0 ks=http://192.168.56.130

    1.7K20发布于 2018-07-02
  • 来自专栏人人都是极客

    Linux内存初始化(上)

    该节点有一个bootargs属性,该属性定义了内核的启动参数,比如mem= xx,此外,还处理initrd相关的property,并保存在initrd_start和initrd_end这两个全局变量中。 if (initrd_start) { memblock_reserve(initrd_start, initrd_end - initrd_start); 2.initrd保留区 /* the generic initrd code expects virtual addresses */ initrd_start = __phys_to_virt(initrd_start ); initrd_end = __phys_to_virt(initrd_end); } #endif early_init_fdt_scan_reserved_mem 到initrd_end区域) reserved-memory node 如下所示: ?

    3.1K31发布于 2020-06-29
  • 来自专栏全栈程序员必看

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

    General setup —> (就是CONFIG_BLK_DEV_INITRD) [*] Initial RAM filesystem and RAM disk (initramfs/initrd 和initramfs的关系(个人理解): 1. initrd是启动时加载的,initramfs是编译到内核中的 2. initramfs只支持cpio格式,initrd支持cpio格式和传统的image-initrd 镜像文件,如果没有在命令行中设置”keepinitd” 命令,那么initrd镜像文件被处理后其原始文件所占的空间 (initrd_end – initrd_start)将被释放掉。 4. cpio-initrd的处理和initramfs极其相似,cpio-initrd就是相当于把initramfs处理机制用initrd机制加载 5. 现在普遍用initramfs(嵌入式linux内核)或cpio-initrd(发行版linux的grub),具体有点参见工作流程 下面我们解包一个发行版linux的initrd加载的文件系统来了解一下(

    1.6K20编辑于 2022-09-22
  • 来自专栏linux内核指令

    Linux mkinitrd命令详解:深入探索与实用指南

    initrd是一个包含了操作系统所需的驱动程序、文件系统和其他必要组件的镜像文件。 接下来,它将这些模块和必要的程序打包成一个initrd镜像文件。在系统启动时,Linux内核会加载这个initrd镜像到内存中,并从中运行程序来挂载根文件系统,加载其他驱动程序,并最终完成系统的启动。 mkinitrd命令的主要特点包括:自动化:根据系统的硬件配置和已安装的驱动程序,自动创建包含所需驱动程序的initrd镜像。灵活性:支持多种参数选项,可以根据需要自定义创建的initrd镜像的内容。 四、mkinitrd的实际应用示例以下是一个使用mkinitrd命令创建initrd镜像的示例:mkinitrd -k 2.6.32-642.el6.x86_64 -o /boot/initrd-2.6.32 定期更新initrd:随着系统更新和硬件配置的变化,initrd镜像中的驱动程序和文件系统模块可能会过时或不再适用。

    63710编辑于 2024-06-20
  • 来自专栏运维经验分享

    CentOS开机时出现GRUB引导错误怎么办

        # root (hd0,0)     # kernel /vmlinuz-version ro root=/dev/sda3     # initrd /initrd-version.img /initrd-2.6.18-348.el5.img     :wq! /initrd-2.6.18-348.el5.img     后面的全部删除     保存后重启,拿掉U盘,即可正常进入系统。     # root (hd0,0)   # kernel /vmlinuz-version ro root=/dev/sda3   # initrd /initrd-version.img /initrd-2.6.18-348.el5.img   :wq!

    4.2K20发布于 2019-09-05
  • 来自专栏cwl_Java

    速读原著-GRUB_多系统引导(通过GRUB命令行来启动Linux操作系统)

    命令行来指定initrd文件; grub> initrd /boot/initrd在这里tab 来补齐; grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img [Linux-initrd @ 0x2e1000, 0x10e685 bytes] 如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的; grub> initrd /initrd在这里 tab 来补齐; grub> initrd /initrd-2.6.11-1.1369_FC4.img [Linux-initrd @ 0x2e1000, 0x10e685 bytes] 7)boot /boot/initrd-2.6.11-1.1369_FC4.img 注;输入intrd文件名的全名; [Linux-initrd @ 0x2e1000, 0x10e685 bytes] grub _FC4 ro root=/dev/hda7 grub>initrd (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img grub>boot 如果/boot位于 /dev

    7.9K21发布于 2020-02-14
  • 来自专栏cwl_Java

    速读原著-GRUB_多系统引导(GRUB的配置文件的menu.lst的写法)

    ,我们应该首先查看 /boot中的initrd的文件名到底是什么; [root@localhost ~]# ls /boot/initrd* /boot/initrd-2.6.11-1.1369_FC4 .img 如果是通过df -lh 得知或查看/etc/fstab 也行, 得知/boot是独立的分区;这时initrd 应该写成; initrd /initrd-2.6.11-1.1369_FC4.img 如果是 /boot不是独处一个分区,而是在/同一处一个分区, 则要写成; initrd /boot/initrd-2.6.11-1.1369_FC4.img 4)menu.lst第一种写法的总结和实践 kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 initrd /boot/initrd-2.6.11-1.1369_FC4 空格 (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img initrd 这行可以这样理解 initrd (/boot所在的分区)/boot/内核文件名全称 2)第二种情况

    2K10发布于 2020-02-14
  • 来自专栏python3

    6-3pxe应用入门

    =initrd.img label linux menu label ^Install or upgrade an existing system kernel vmlinuz append initrd =initrd.img label vesa menu lebel Install system with ^basic video driver kernel vmlinuz append initrd vmlinuz append initrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff an existing system kernel vmlinuz append initrd=initrd.img label vesa menu lebel Install system with rescue menu label ^Rescue installed system kernel vmlinuz append initrd=initrd.img rescue label local

    83630发布于 2020-01-15
  • 来自专栏全栈程序员必看

    Linux 内核编译(三天吐血经历!)[通俗易懂]

    文件 mkinitramfs-o /boot/initrd.img-2.6.32.71 七、更新grub引导表 进行到这一步,也许你感觉到自己差不多了,毕竟都这么久了,你也许有些困了,有些疲惫, 但是 initrd /boot/initrd.img-2.6.35-22-generic 改成你的内核文件地址和initrd 地址: linux /boot/vmlinuz-2.6.32.71 -mykernel initrd /boot/ initrd.img-2.6.32.71 这一步特别无聊但又必须认认真真做,要不然你就前功尽弃,别问我怎么知道的,我要是牢记这句话 -2.6.32.71 initrd-2.6.32.71.old depmod–a update-initramfs-k 2.6.32.71 –c cd /tmp gzip-dc /boot/initrd.img -2.6.32.71.new gzip /boot/initrd.img-2.6.32.71.new cd /boot mvinitrd.img-2.6.32.71.new.gz initrd.img-

    4.6K21编辑于 2022-09-15
  • 来自专栏菲宇

    从U盘安装CentOS7.3教程

    把电脑的第一启动方式设置为U盘启动之后 会进入选择安装界面 接下来就是最重要的地方,关系着你能不能安装成功 我就是在这里卡了好久 先移动到第二项test &Install 然后按e键编辑路径 将 vmlinuz initrd =initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet 改成 vmlinuz initrd=initrd.img linux dd quiet 一般显示的几个 格式为NTFS的都是你电脑自身的盘符,另外的一个就是你的U盘,记下你的U盘的盘符名字 我的就是sda4) 使用ctrl+alt+del 重新启动电脑,重复上面的步骤 这一次 将 vmlinuz initrd =initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet 改成 vmlinuz initrd=initrd.img inst.stage2

    3.5K20编辑于 2022-12-21
  • 来自专栏腾讯技术工程官方号的专栏

    从无盘启动看 Linux 启动原理

    LINUX 命令:指定了当前内核文件为 vmlinuz-3.18.5 版本; INITRD 命令:指定了 initrd 文件为 volumio.initrd(之后修改 initrd 也就是修改这个文件) initrd 是“initial ramdisk”的简写。initrd 一般被用来临时的引导硬件到实际内核 vmlinuz 能够接管并继续引导的状态。 /vboot/volumio.initrd volumio.initrd.gz //拷贝initrd文件,重命名一下 gunzip . /volumio.initrd.gz //解压gz文件 cpio -ivmd < volumio.initrd //展开initrd文件,在当前目录就可以看到整个rom disk的内容了 vim init /volumio.initrd.img //重新打包成新的initrd gzip volumio.initrd.img mv volumio.initrd.img.gz volumio.initrd 还有另外一种方案

    10.1K104发布于 2020-11-02
  • 来自专栏giantbranch's blog

    QEMU简单使用的笔记

    而且里面也给了启动方式,至于内核,32还是64什么的就自己选了 - qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_desktop.qcow2 -append "root=/dev/sda1" - qemu-system-arm -M versatilepb -kernel vmlinuz-3.2.0-4-versatile -initrd -M versatilepb -kernel vmlinuz-3.2.0-4-versatile -initrd initrd.img-3.2.0-4-versatile -hda debian_wheezy_armel_desktop.qcow2 initrd.img-3.2.0-4-versatile -hda debian_wheezy_armel_standard.qcow2 -append "root=/dev/sda1" -redir

    24900编辑于 2024-12-31
  • 来自专栏人人都是极客

    Linux的内存初始化

    该节点有一个bootargs属性,该属性定义了内核的启动参数,比如mem= xx,此外,还处理initrd相关的property,并保存在initrd_start和initrd_end这两个全局变量中。 if (initrd_start) { memblock_reserve(initrd_start, initrd_end - initrd_start); 2.initrd保留区 /* the generic initrd code expects virtual addresses */ initrd_start = __phys_to_virt(initrd_start ); initrd_end = __phys_to_virt(initrd_end); } #endif early_init_fdt_scan_reserved_mem 到initrd_end区域) reserved-memory node 如下所示: ?

    3.4K21发布于 2019-05-17
领券