歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 教你制作Linux操作系統的USB啟動盤技巧

教你制作Linux操作系統的USB啟動盤技巧

日期:2017/2/28 17:52:54   编辑:Linux教程

USB閃存存儲裝置(優盤)一般只有鑰匙扣大小,存儲容量多為32MB和64MB。由於具有輕巧精致、使用方便、便於攜帶等優點,特別是對比軟盤具有容量較大、安全可靠、讀取速度較快等特性,越來越多人使用這種裝置取代了軟驅與軟盤,在PC之間交換文件。目前新出的主板BIOS都支持USB軟盤和硬盤的啟動方式,這樣對於Windows 98的系統維護與安裝工作越來越方便。但是,廠家僅提供制作Windows 98啟動盤的制作工具,並不提供linux啟動盤的制作工具。在優盤上建立Linux啟動盤,對於系統維護人員具有更加實用的意義,你可以使用Linux 建立小巧的內核,建立網絡環境,快速地判斷和排除網絡故障與傳送文件。本文以Red Hat 8.0為例,使用朗科的雙啟動型優盤建立優盤的Linux啟動盤。

下載相關軟件:e3,bvi,Linux內核。

編譯內核

首先計算機的主板必須要支持USB硬盤的啟動方式,並且所使用的優盤是啟動型優盤。

我以Linux-2.4.20為例說明。編譯時一定要注意不要編譯不必要的模塊,如聲卡驅動等驅動模塊,使編譯的內核盡可能小一些。由於要支持優盤啟動,必須將SCSI設備、usbcore、usb-storage、Loopback device support、RAM disk support和initrd等編譯到內核中。

許多人會問,usb-storage模塊已經包括在內核了為什麼還要建立 initrd.img文件?這是由於優盤的初始化過程比執行/sbin/init慢,導致內核已經啟動完成了,優盤還沒有完成初始化工作,因此根文件系統沒有加載,這時執行/sbin/init命令肯定不成功。通過建立initrd.img文件,在啟動內核時加載initrd.img文件到內存中,等待3 秒使優盤完成初始化工作,再執行/sbin/init指令。具體操作步驟如下。

1.建立initrd.img文件

  
  # mkdir -p /mnt/initrd
  # cd /tmp
  # mkinitrd /tmp/initrd.gz 2.4.20-usb
  

2.解壓initrd.img文件,修改啟動腳本linuxrc

  # gunzip initrd.gz
  # mount -o loop /tmp/initrd /mnt/initrd
  # cp /sbin/busybox /mnt/initrd/bin
  # cd /mnt/initrd/bin
  # ln -s busybox sleep
  # vi /mnt/initrd/linuxrc
  

加入如下內容:

  echo 'wait 3 seconds.....'
  /bin/sleep 3
  

3.重新生成initrd.img文件

由於缺省建立的initrd文件比較大(為4MB),為了加快優盤的啟動,必須減小它。具體操作如下:

  # mkdir -p /mnt/initrdusb
  # cd /tmp
  # dd if =/dev/zero of= /tmp/initrdusb bs=1M count=1
  # mke2fs -m 0 initrdusb
  # mount -o loop /tmp/initrdusb /mnt/initrdusb
  # cp -a /mnt/initrd/* /mnt/initrdusb
  # umount /mnt/initrd
  # umount /mnt/initrdusb
  # cd /tmp
  # gzip -9 initrdusb
  # cp initrdusb.gz /boot/initrd-2.4.20-usb.img
 
Copyright © Linux教程網 All Rights Reserved