Linux 上で、USB メモリに knoppix をインストールする手順

 作業は ubuntu 上で行なった。

用意したもの

  • 1GB の USB メモリ。
  • knoppix の CD 用イメージファイル(knoppix_v6.0.1CD_20090208-20090225_opt.iso)

手順

これから行なうこと全体の大雑把な説明

 knoppix の iso ファイルを HDD 上の適当なディレクトリにマウントし、そのマウントした内容の全てを、USB メモリにコピーする。つぎに、その USB メモリに grub をインストールする。これで、USB メモリから起動可能な knoppix ができあがる。以下にその具体的な手順を示す。

必要なディレクトリを HDD 上などに作成する。

 まず USB メモリは、/mnt/usb ディレクトリ上に、すでにマウントされていることを前提とする。つぎに PC の HDD などの適当なディレクトリ上に、knoppix ディレクトリを作成する。
> mkdir knoppix

作成したディレクトリ上に knoppix の CD 用 イメージファイル をマウントする。

> sudo mount -o loop knoppix_v6.0.1CD_20090208-20090225_opt.iso knoppix/

マウントした CD 用イメージファイルを USB メモリにコピーする。

> sudo cp -r knoppix/* /mnt/usb/

grub を USB メモリにインストールする。

 なお、この USB メモリは /dev/sdc で表されている。環境によって /dev/sda や /dev/sdb など、さまざまな値をとることだろう。以下の文中の /dev/sdc などの値は、その時々の環境に応じて適宜、読み替えること。


> sudo mkdir -p /mnt/usb/boot/grub
> sudo cp -r /boot/grub/* /mnt/usb/boot/grub
> su
# echo '(hd0) /dev/sdc' > /mnt/usb/boot/grub/device.map
# grub-install --root-directory=/mnt/usb --no-floppy '(hd0)'
grub-probe: error: Cannot find a GRUB drive for /dev/sdc1. Check your device.map.

[: 494: =: unexpected operator
Installing GRUB to (hd0) as (hd0)...
Installation finished. No error reported.
This is the contents of the device map /mnt/usb/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0) /dev/sdc
#

grub を編集する。

 インストールされた grub は、HDD からコピーしてきたものなので、この USB メモリにあわせて編集しなければならない。具体的には /mnt/usb/boot/grub/menu.lst の ## ## End Default Options ## の行の直下に、下記の記述を加えた。


title adriane
kernel /boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=ja vt.default_utf8=0 apm=power-off vga=0x311 initrd=minirt.gz nomce quiet loglevel=0 nolapic_timer
initrd /boot/isolinux/minirt.gz
boot


title knoppix
kernel /boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 apm=power-off vga=791 initrd=minirt.gz nomce quiet loglevel=0 nolapic_timer
initrd /boot/isolinux/minirt.gz
boot


title memtest
kernel /boot/isolinux/memtest foo
boot


title failsafe
kernel /boot/isolinux/linux ramdisk_size=100000 lang=ja vt.default_utf8=0 vga=normal atapicd nosound noapic nolapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce nonetwork nodhcp xmodule=vesa
initrd /boot/isolinux/minirt.gz
boot


 以上の記述の各数値などは、/mnt/usb/boot/isolinux/isolinux.cfg からコピーしたものだ。この各値も、どのバージョンの knoppix の iso ファイルをダウンロードしてきたかによって、いろいろ異なるものになるかもしれない。適宜、自分の /mnt/usb/boot/isolinux/isolinux.cfg を参考にして設定する必要があると思う。


 これで、この USB メモリをアンマウントしたうえで取り外し、そして他のマシンに差し込み、そのマシンの BIOS などで USB メモリからの起動を選択し再起動すれば、knoppix が立ち上がることだろう。

SOTEC C103 シリーズで、タッチパッドを有効にするには

 余談ではあるが SOTEC C103 シリーズなどで、タッチパッドを有効にするには、上記の /mnt/usb/boot/grub/menu.lst に、nolapic_timer i8042.nomux=1 の記述を書き加えれば良い。たとえば以下のようになる。(この nolapic_timer i8042.nomux=1 の設定も knoppix の将来のバージョンによっては、不要のものとなるかもしれない)


title adriane
kernel /boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=ja vt.default_utf8=0 apm=power-off vga=0x311 initrd=minirt.gz nomce quiet loglevel=0 nolapic_timer i8042.nomux=1
initrd /boot/isolinux/minirt.gz
boot