• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    [轉貼]制作Linux的優盤(usb)啟動盤

    發布: 2007-7-04 12:06 | 作者: admin | 來源:  網友評論 | 查看: 16次 | 進入軟件測試論壇討論

    領測軟件測試網

    大家可以試試。

    [轉貼]制作Linux的優盤(usb)啟動盤
      貼出者為 Anonymous
    javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> Anonymous寫著 '優盤上建立Linux啟動盤,對于系統維護人員具有更加實用的意義,你可以使用Linux 建立小巧的內核,建立網絡環境,快速地判斷和排除網絡故障與傳送文件。本文以Red Hat 8.0為例,使用朗科的雙啟動型優盤建立優盤的Linux啟動盤。

    [轉貼]制作Linux的優盤(usb)啟動盤


    發信人: babyfrog (極品青蛙), 信區: Linux
    標 題: 制作Linux的優盤啟動盤
    發信站: 兩全其美 BBS (Sat Nov 20 09:54:38 2004), 本站(lqqm.net)

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

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

    編譯內核

      首先計算機的主板必須要支持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



      4.測試編譯的內核是否正常啟動

      測試編譯的內核是否正常啟動,以及在啟動過程中是否可看見優盤的相關信息。

    建立優盤啟動盤

      1.將優盤分成兩個分區

      留給Linux分區容量大小完全取決于安裝哪些系統維護工具,結果如下:


      # modprobe usb-storage
      # fdisk -l /dev/sda
      Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders
      Units = cylinders of 1008 * 512 bytes
      Device Boot Start End Blocks Id System
      /dev/sda1 1 102 51376+ 6 FAT16
      /dev/sda2 103 126 12096 83 Linux



      注意:如果需要使用優盤引導Windows 98,扇區大小必須設置為63個扇區,可以通過fdisk的x命令擴展修改heads、sectors和cylinders參數。

      2.建立與生成ext2分區


      # mke2fs -m 0 /dev/sda2
      # mkdir -p /mnt/sda2
      # mount /dev/sda2 /mnt/sda2
      # cd /mnt/sda2



      3.建立boot目錄

      將編譯好的內核與initrd-2.4.20-usb.img文件拷貝到boot目錄、編譯好的模塊拷貝到lib/modules目錄,以及將/boot/grub的文件拷貝到boot目錄,編輯boot/grub/menu.lst文件,內容如下:


      timeout 10
      color 0x17 0x70
      default 0
      title Windows 98
      rootnoverify (hd0,0)
      makeactive
      chainloader +1
      title GNU/Linux Redhat 8.0 (2.4.20-usb)
    root (hd0,1)
      kernel /boot/vmlinuz-2.4.20-usb ro root=/dev/sda2
      initrd /boot/initrd-2.4.20-usb.img



      安裝grub,具體操作如下:


      grub> root (hd1,1)
      grub> setup (hd1)




      4.建立bin目錄

      根據自工作的需要拷貝系統維護工具,如insmod、fsck和mkdosfs等實用程序。一定要注意使用ldd命令檢查那些共享庫文件,這些文件需要按照原來的路徑拷貝到lib目錄。 由于受到磁盤空間的限制,使用busybox命令代替一些常見的Linux命令,主要原因就是busybox 文件非常小,并且是靜態鏈接的,包括許多常見的Linux命令(如cat、init、ifconig、route)用ln -s busybox建立這些文件的符號聯接?梢愿鶕䝼人需要重新編譯busybox,包括vi等命令,也可以使用小巧的e3代替vi。

      另外,如果使用bash,還必須編輯與裁減/etc/termcap及如下文件:


      /bin/bash
      /etc/termcap
      /usr/share/terminfo/l/linux
      /usr/share/terminfo/k/klone+acs
      /usr/share/terminfo/k/klone+color
      /usr/share/terminfo/k/klone+sgr



      5.建立dev目錄

      使用cp -a命令拷貝常用的設備文件,包括console、tty1、tty2、tty3sda、sda1、sda2、hda、hdb和hda1等設備文件。

      6.編輯etc/init.d/rcS

      內容如下:


      #!/bin/sh
      PATH=/sbin:/bin
      export PATH
      mount -n -t proc none /proc
      umount /initrd
      mount -n -o remount,rw /
      mount -n -o remount,rw -t proc none /proc
      ifconfig lo 127.0.0.1



      7.編輯etc/fstab文件

      內容如下:


      /dev/sda2 / ext2 defaults 1 1
      none /proc proc defaults 0 0



    應用舉例

      舉一個傳送文件的例子。在一臺正常工作的Linux機器A(IP=192.168.100.5)上執行:


      $ tar cf - win98 | nc -l -p 5555



      注意:可以在機器B上使用優盤啟動機器,telnet登陸到機器A上執行以上命令。

      在機器B上使用優盤啟動執行:


      # mount -t vfat -o codepage=938,iocharset=cp936 /dev/hda5 /mnt/2dos
      # cd /mnt/2dos
      # modprobe eepro00
      # ifconfig eth0 192.168.1.10
      # route add default gw 192.168.1.1
      # ping 192.168.10.5
      # nc 192.168.10.5 5555 | tar xf -



      如果這時使用format /s命令無法建立優盤Windows 98啟動盤,可以采用變通的方式,具體操作如下:


      # mkdosfs -F 16 /dev/sda1
      # xxd -c 16 /dev/sda1 | less



      這時記錄下Boot Record的32~35字節內容(本例為60 91 01 00,這4個字節記錄了FAT分區總的扇區數量),再使用朗科隨盤提供的制作引導盤的工具制作Windows 98啟動盤,然后使用Linux下bvi或者能夠編輯二進制文件的工具修改Boot Record的32~35字節為原來的內容。這樣,就能夠實現名副其實的三啟動方式(Windows雙啟動+Linux啟動)。'

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>