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

文明が崩壊した後の遠い未来の世界でも、おばあちゃんの知恵袋は語りつがれていくのではないかという話。

 ぬかるんだ雪道を遊びながら帰ってきた子供たち。クツはびしょびしょ。子供たちのお母さんは言う。「風邪をひくから、クツが乾くまで、おでかけしちゃだめよ」

 子供たちは退屈もあって、家族のなかで一番やさしくて、一番物知りなおばあちゃんに、色々なお話をせがむ。そんな中、子供の一人が、ふとたずねる。「ところで、おばあちゃん。濡れたクツをあっというまに乾かす方法ってないの?」

「うーん。それはおばあちゃんも知らないねえ。ただね、おばあちゃんが子供のころ、おばあちゃんのおばあちゃんから聞いた話なんだけどね。こういうとき、むかしむかしの人たちは、クツのなかに『しんぶんし』というものをまるめて入れたんだそうだよ。

 そうするとね。濡れたクツも、あっというまに乾いたんだってさ。

 おばあちゃんが、まだお前たちと同じくらいのころ、同じようにクツを濡らして退屈していたときに、おばあちゃんのおばあちゃんが、そう話してくれたものだったねえ」と、自身の子供のころを追憶し、子供たちの頭をなでながら、なつかしそうな顔のおばあちゃん。

 一方、子供たちは、顔を見合わせて、おばあちゃんにたずねる。「ねえねえ、おばあちゃん。その『しんぶんし』ってなあに?」

「それは、おばあちゃんにも、おばあちゃんのおばあちゃんにも、どんな物なのかは、わからないねえ。むかしむかし、人間がお月さまの上を歩いたり、お日さまの近くまで行ったりした時代にだけあった不思議な不思議な昔の道具の一つだそうだよ。そんなふうに、おばあちゃんも、おばあちゃんのおばあちゃんから聞いているし、そのおばあちゃんのおばあちゃんも、そのまたおばあちゃんから、やっぱり子供のときに、そんなふうに話してもらったんだそうだよ」

「そうなのかー。クツをあっというまに乾かすなんて『しんぶんし』ってすごいなあ。ねえねえ、おばあちゃんおばあちゃん、もっと昔の話をして」

 おばあちゃんは、ふと思いだして「そうそう、お前たち。クツの中に乾いた藁を詰めて、暖炉のレンガの上にお置き。むかしの魔法使いたちの便利な道具はないけれど、こうすると濡れたクツも、いくらかは早く乾くんだよ」

「すごいなあ、おばあちゃんは。やっぱり、いろんなことを知っているんだね。おばあちゃんがいれば、その昔のしんなんとかもいらないや」