• 读者文摘
  • 美文摘抄
  • 短文摘抄
  • 日记大全
  • 散文精选
  • 感恩亲情
  • 人生感悟
  • 智慧人生
  • 感悟爱情
  • 心灵鸡汤
  • 实用文档
  • 名人名言
  • 伤感文章
  • 当前位置: 蜗牛文摘网 > 智慧人生 > initramfs镜像命令如何生成及运行:update initramfs命令

    initramfs镜像命令如何生成及运行:update initramfs命令

    时间:2020-02-14 08:27:15 来源:千叶帆 本文已影响

      生成initramfs镜像命令

      若镜像根目录为/initrd,执行下面命令在当前用户主文件夹中生成myinitramfs.gz镜像。

      cd /initrd

      find .|cpio -o -H newc|gzip>~/myinitramfs.gz

      生成的镜像文件是gzip压缩过的。

      如何运行initramfs

      如果第一章开发工具学习 你会了的话,这是很好办的事。首先要找一个内核,自己编译一个也可以,用现有linux系统内核也可以,一般在/boot文件夹内。

      设置一个menu.lst加入对自己制作的initrd的启动项,可以如下:

      title my initramfs

      root (hd0,0)

      kernel /boot/vmlinuz

      initrd /boot/myinitramfs.gz

      boot

      其中内核和镜像都放到了U盘的boot文件夹下了。

      其实启动方法有很多,对于熟悉GRUB的人来说这很简单,所以多了解一点GRUB还是很好的。

      这样的好处是不用重启系统,如果在linux中设置grub的话要重启系统,很费时间。

      生成initrd镜像

      下面是一个shell文件,可以自动将/initrd目录下的文件打包成myinitrd.img镜像。

      #!/bin/sh

      dd if=/dev/zero of=/dev/ram1

      mke2fs -m 0 /dev/ram1

      mount /dev/ram1 /mnt/ram

      cp -R /initrd/* /mnt/ram

      umount /dev/ram1

      dd if=/dev/ram1 of=~/myinitrd.img

      gzip -v9 ~/myinitrd.img

      生成位置为当前用户主文件夹。

      RedHat的initrd

      下面是镜像中的linuxrc文件。

      #!/bin/nash

      echo "Loading scsi_mod.o module"

      insmod /lib/scsi_mod.o

      echo "Loading sd_mod.o module"

      insmod /lib/sd_mod.o

      echo "Loading BusLogic.o module"

      insmod /lib/BusLogic.o

      echo "Loading jbd.o module"

      insmod /lib/jbd.o

      echo "Loading ext3.o module"

      insmod /lib/ext3.o

      echo Mounting /proc filesystem

      mount -t proc /proc /proc

      echo Creating block devices

      mkdevices /dev

      echo Creating root device

      mkrootdev /dev/root

      echo 0x0100 > /proc/sys/kernel/real-root-dev

      echo Mounting root filesystem

      mount -o defaults --ro -t ext3 /dev/root /sysroot

      pivot_root /sysroot /sysroot/initrd

      umount /initrd/proc

      pivot_root是切换到真实系统的一个命令下面有详细讲述。下面是redhat镜像中的所有文件的结构:

      │ linuxrc

      │

      ├─bin

      │ insmod

      │ nash

      │

      └─lib

      BusLogic.o

      ext3.o

      jbd.o

      scsi_mod.o

      sd_mod.o

    相关热词搜索:Linux教程initramfs镜像命令如何生成及运行dracut生成initramfsmkinitramfs

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤