パスワードを忘れた? アカウント作成
360319 journal

ohsaruの日記: USBメモリーからのBOOT

日記 by ohsaru
USBからブートするlinuxを作ってみたくなった。 PCWEBの記事にあるflonixはもう入手できないみたいだ。

改めてさがすと役に立ちそうなサイト発見。 要点を訳して作業メモを作ったが、実際に作業する前に面倒になってしまった。また明日。

http://rz-obrian.rz.uni-karlsruhe.de/knoppix-usb/

KNOPPIXをUSBスティックからブートする

必要な物

  • Knoppix本体または、最適化済みのもの
  • USB Memory Stick
  • USB ブート可能なコンピューター
  • cloop-supportのカーネル
  • syslinux

準備 Damn Small Lunuxを私は使いました。これはわずか51MBしか使いません。 しかしながらMemoryStickに十分な容量がある場合、自分で最小バージョンを作成した方がよいでしょう。 参照(Knoppix Customising FAQ)

miniroot.gzの修正 最初に、bootイメージ(KNOPPIX/boot.img)を修正する必要があります。 Mount して (mount -o loop boot.img /mnt) 全てのファイルを1つの directory (e.g. ~/knoppix-usb/bootdisk)にコピーしてください。 miniroot.gzの中のlinuxrcを修正し、モジュール/usb/に適切なusbモジュールを入れる必要があります。 miniroot.gzをgunzipで解凍し、それをマウントしてください。(mount -o loop miniroot /mnt). linuxrcをエディターで開いて、適切なusb-モジュールをロードする必要があります。 scsiモジュールが確実にロードされてusbメモリースティックが/dev/sdaに割り当てられるようにするために、sleepを追加します。

# load usb-modules first (so that memory-stick becomes /dev/sda1)
# uncomment for USB 2.0 support (experimental)
#insmod -f /modules/usb/ehci-hcd.o
insmod -f /modules/usb/usbcore.o
insmod -f /modules/usb/usb-uhci.o
insmod -f /modules/usb/uhci.o
insmod -f /modules/usb/usb-ohci.o
insmod -f /modules/usb/usb-storage.o
# need to sleep because it takes some time to register things
ash -c "sleep 4"

root-fsは/cdromにマウントされていることを確認してください。私はlinuxrcのこの部分をコメントアウトしました。

# mount /dev/sda1 (memorystick to cdrom)
FOUND_KNOPPIX="/dev/sda1"
mount -t vfat /dev/sda1 /cdrom

私の修正済のlinuxrcを ここで得ることができます。

usbモジュール(それはminirootにない)はまだ必要です。。圧縮したKNOPPIXファイル(insmod cloop file=PATH/KNOPPIX && mount -t iso9660 /dev/cloop /cdrom)をマウントし、/ /cdrom/lib/modules/$KERNELVERSION/kernel/drivers/usb/ 以下にあるファイルを /mnt/modules/usb/:にコピーします。 ehci-hcd.o uhci.o usb-ohci.o usb-storage.o usb-uhci.o usbcore.o 以上でminirootの修正は終わりです。Unmountして、再度gzipで圧縮してください。

メモリースティックの準備  mkfs.vfatでパーティション作成しフォーマットします。 メモリスティックをマウントします。 ~/knoppix-usb/bootdisk/ よりメモリスティックにファイルをコピーします。 (修正されたminiroot.gzをも含まれます) あなたの修正済のknoppixからメモリスティックに他のファイルをコピーします(最も重要なものはKNOPPIX/KNOPPIXです)。 あなたのメモリスティックのレイアウトはこのように見えるべきです.

sh-2.05b# ls -lR
.:
total 1576
-rw-r--r-- 1 root root 54 Apr 27 12:48 autorun.bat
-rw-r--r-- 1 root root 47 Apr 27 12:48 autorun.inf
-rw-r--r-- 1 root root 180 Apr 27 12:48 boot.msg
-rw-r--r-- 1 root root 1759 Apr 27 12:48 f2
-rw-r--r-- 1 root root 256 Apr 27 12:48 german.kbd
dr-xr--r-- 2 root root 4096 Apr 27 12:48 knoppix
-rw-r--r-- 1 root root 3262 Apr 27 12:48 knoppix.ico
-r--r--r-- 1 root root 7836 Apr 27 12:51 ldlinux.sys
-rw-r--r-- 1 root root 34395 Apr 27 12:48 logo.16
-rw-r--r-- 1 root root 607866 Apr 27 14:03 miniroot.gz
-rw-r--r-- 1 root root 2402 Apr 27 12:48 syslinux.cfg
-rw-r--r-- 1 root root 921602 Apr 27 12:48 vmlinuz

./knoppix:
total 50820
-rw-r--r-- 1 root root 2048 Apr 27 12:48 boot.cat
-rw-r--r-- 1 root root 1474560 Apr 27 12:48 boot.img
-rw-r--r-- 1 root root 50553629 Apr 27 04:48 knoppix
-rw-r--r-- 1 root root 27 Apr 27 12:48 mkfloppy.bat

さあ、メモリースティックからブートできるようにしましょう。 unmountして syslinux /dev/sda1「(あるいはあなたのシステムに依存する/dev/sd?1)。 を実行してください。

醜い部分:booting あなたが幸運ならば、あなたがbootdeviceとしてUSB ZIPを選択する時、あなたのコンピューターはブートするでしょう。そうでなければ読み続けてでください...

  • USBキーボード・サポートを有効にしてもなにも起こらないならば、他のUSBブーツ・オプション(フロッピー、CD-ROM、ハードディスク)を試みることができます。
  • いくつかの故障したボード(私のEpiaMのような)においては、電源を切ってからメモリースティックを刺さないと認識しないことがあります。
  • もし、あなたのBIOSがメモリースティックからブートできて、ブート手順の最初で止まってしまうのであれば、spblinuxのブートセクターを試してみましょう。このサイトは時々落ちるのでこちらから(Version 1.01). /dev/sdaに書き込むのは単に(dd if=spb2_mbr.sec of=/dev/sda).とするだけです。 Christian Ostheimer の偉業に感謝。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...