usb
# 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 啟動)。 還有問題請來論壇尋求幫助:[url]http://www.xxlinux.com/bbs/[/url]
製作Linux的優盤(usb)啟動盤
usb快閃儲存器儲存裝置 優盤 一般只有鑰匙扣大小,儲存容量多為32mb和64mb。由於具有輕巧精緻 使用方便 便於攜帶等優點,特別是對比軟盤具有 容量較大 安全可靠 讀取速度較快等特性,越來越多人使用這種裝置取代了軟碟機與軟盤,在pc之間交換檔案。目前新出的主機板bios都支援usb軟盤和硬碟 的...
USB啟動盤製作教程
一路下一步吧 ok,啟動工具,首先是格式化u 盤使用fat32 格式化u盤,要求確認,確認即可 格式化完成後的乙個報告 關閉該嚮導 進入下一步準備工作 選擇碟符,開始製作 開始拷貝檔案,拷貝檔案後即完成 ok,退出工具 ok,重啟電腦 進入bios 的啟動項選擇,我們可以看到第三項是usb 啟動盤啦...
Rufus製作USB啟動盤
其實 rufus 的製作原理是,將u盤分成了兩個區,乙個是 fat32 分割槽,裡面用於存放 uefi 系統啟動檔案,乙個分割槽是 ntfs 格式,用於存放完整的系統映象檔案,這樣一來就魚和熊掌可兼得了。既然知道了 rufus 的製作原理,我們不借助工具也能完成以上的步驟,1 手動給 u 盤分割槽,...