国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

創(chuàng)建Linux之USB啟動盤

2020-07-08 13:05:16
字體:
來源:轉載
供稿:網友

本文以Red Hat 為例,使用朗科的雙啟動型優(yōu)盤建立優(yōu)盤的Linux啟動盤。

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

編譯內核

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

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

許多人會問,usb-storage模塊已經包括在內核了為什么還要建立 initrd.img文件?這是由于優(yōu)盤的初始化過程比執(zhí)行/sbin/init慢,導致內核已經啟動完成了,優(yōu)盤還沒有完成初始化工作,因此根文件系統(tǒng)沒有加載,這時執(zhí)行/sbin/init命令肯定不成功。通過建立initrd.img文件,在啟動內核時加載initrd.img文件到內存中,等待3 秒使優(yōu)盤完成初始化工作,再執(zhí)行/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),為了加快優(yōu)盤的啟動,必須減小它。具體操作如下:


# 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.測試編譯的內核是否正常啟動

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

建立優(yōu)盤啟動盤

1.將優(yōu)盤分成兩個分區(qū)

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


# 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



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

2.建立與生成ext2分區(qū)


# 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目錄

根據(jù)自工作的需要拷貝系統(tǒng)維護工具,如insmod、fsck和mkdosfs等實用程序。一定要注意使用ldd命令檢查那些共享庫文件,這些文件需要按照原來的路徑拷貝到lib目錄。 由于受到磁盤空間的限制,使用busybox命令代替一些常見的Linux命令,主要原因就是busybox 文件非常小,并且是靜態(tài)鏈接的,包括許多常見的Linux命令(如cat、init、ifconig、route)用ln -s busybox建立這些文件的符號聯(lián)接。可以根據(jù)個人需要重新編譯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)上執(zhí)行:


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



注意:可以在機器B上使用優(yōu)盤啟動機器,telnet登陸到機器A上執(zhí)行以上命令。在機器B上使用優(yōu)盤啟動執(zhí)行:


# 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命令無法建立優(yōu)盤Windows 98啟動盤,可以采用變通的方式,具體操作如下:


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



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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 沧源| 紫云| 佛山市| 尼玛县| 泰来县| 商水县| 贞丰县| 揭东县| 巴东县| 盐源县| 潜江市| 克拉玛依市| 潞西市| 电白县| 石嘴山市| 资阳市| 大庆市| 梓潼县| 福州市| 册亨县| 沙湾县| 武冈市| 抚宁县| 当涂县| 高雄县| 和静县| 琼结县| 玛纳斯县| 临邑县| 南乐县| 遂川县| 南昌市| 额济纳旗| 洪洞县| 沙雅县| 柘荣县| 浏阳市| 冕宁县| 聂拉木县| 巍山| 林西县|