国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

    initramfs鏡像命令如何生成及運行

    時間: 若木635 分享

      生成initramfs鏡像命令

      若鏡像根目錄為/initrd,執(zhí)行下面命令在當(dāng)前用戶主文件夾中生成myinitramfs.gz鏡像。

      cd /initrd

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

      生成的鏡像文件是gzip壓縮過的。

      如何運行initramfs

      如果第一章開發(fā)工具學(xué)習(xí) 你會了的話,這是很好辦的事。首先要找一個內(nèi)核,自己編譯一個也可以,用現(xiàn)有l(wèi)inux系統(tǒng)內(nèi)核也可以,一般在/boot文件夾內(nèi)。

      設(shè)置一個menu.lst加入對自己制作的initrd的啟動項,可以如下:

      title my initramfs

      root (hd0,0)

      kernel /boot/vmlinuz

      initrd /boot/myinitramfs.gz

      boot

      其中內(nèi)核和鏡像都放到了U盤的boot文件夾下了。

      其實啟動方法有很多,對于熟悉GRUB的人來說這很簡單,所以多了解一點GRUB還是很好的。

      這樣的好處是不用重啟系統(tǒng),如果在linux中設(shè)置grub的話要重啟系統(tǒng),很費時間。

      生成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

      生成位置為當(dāng)前用戶主文件夾。

      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是切換到真實系統(tǒng)的一個命令下面有詳細(xì)講述。下面是redhat鏡像中的所有文件的結(jié)構(gòu):

      │ linuxrc

      │

      ├─bin

      │ insmod

      │ nash

      │

      └─lib

      BusLogic.o

      ext3.o

      jbd.o

      scsi_mod.o

      sd_mod.o

    75382