USBメモリへXFSでKNOPPIXイメージを入れる

KNOPPIX(ver5以上) で起動
USBメモリを cfdiskでFAT領域を削除して新規領域をFSタイプ=Linuxで、bootフラグをつける
# cfdisk /dev/sda
※sdaは環境によってsdb,sdcなりと違う
xfsでフォーマット
# mkfs.xfs -f /dev/sda1

GRUBのインストール
# mount /dev/sda1 /mnt/sda1
# cd /mnt/sda1/
# mkdir boot
# cd boot/
# mkdir grub
# cd grub/
# cp -a /lib/grub/i386-pc/* .

# grub --no-floppy
Probing devices to guess BIOS drives. This may take a long time.

※ ここから下の grub> root (hd2,0) などの hd2は USBメモリが起動ドライブとしてBIOSが何番めのドライブと認識しているかによって hd0からカウントされる、下記の例では IDEのHDDドライブが2台付いており3代目がUSBメモリと認識されていた。
grub> root (hd2,0) と実行した後に認識が下記の様なxfsと出れば多分あっている。

 Filesystem type is xfs, partition type 0x83 

違っている場合はgrub> root (hd0,0) grub> root (hd1,0) 等と順番に試して問題ない

    GNU GRUB  version 0.95  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]

grub> root (hd2,0)
 Filesystem type is xfs, partition type 0x83

grub> setup (hd2)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/xfs_stage1_5" exists... yes
 Running "embed /boot/grub/xfs_stage1_5 (hd2)"...  19 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd2) (hd2)1+19 p (hd2,0)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.

grub> quit

以上で grubインストールが完了

KNOPPIXディスクイメージをコピー
# cp -a /cdrom/KNOPPIX  /mnt/sda1/
kernelイメージをコピー
# cd /mnt/sda1/boot
# cp /boot/isolinux/linux  .
minirootのコピー
# scp ほげほげ/minirt.gz  .
grubのmenu.lstをコピー
# scp ほげほげ/menu.lst  grub/
加工済みのディスクイメージをコピー
# scp ほげほげ/KNOPPIX  /mnt/sda1/KNOPPIX/
保存ようディレクトリを作成
# mkdir /mnt/sda1/unionfs
# mkdir /mnt/sda1/ramdisk
以上で
# umount /mnt/sda1
等としてアンマウトして終了

USBメモリbootのカスタムdebianを作る(knoppixのパッケージを使うやり方)

debootstrapで作ったオリジナルdebianknoppixのパッケージを加えてLiveCDイメージ化する

apt-get install saveconfig-knoppix

USBメモリへの書き込み

fdisk /dev/sda
    • 16進数コード (L コマンドでコードリスト表示): 83
  1. USBメモリext3出初期化
mkfs.ext3 /dev/sda1
  • extlinuxの作成
wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.11.tar.bz2
tar xvjf syslinux-3.11.tar.bz2
cd syslinux-3.11/
make
cd extlinux
mount /dev/sda1 /mnt/sda1
./extlinux /mnt/sda1/boot/isolinux/
  • ファイルのコピー
    • KNOPPIX 4.0.2 CD版のCD-ROMまたはISOイメージから必要なファイルをコピー
・boot\isolinux の下のファイル全て(ファイルのみ)
・KNOPPIXディレクトリごと
    • そして cfg ファイルの名前を変更isolinux.cfg → syslinux.cfg
mv boot/isolinux/isolinux.cfg  boot/isolinux/extlinux.conf
    • 好みに応じて syslinux.cfg の内容を変更

KnoppixのCDイメージをカスタムして再構築

  • Knoppix自身で作業を行うため、イメージ作成用の空きHDDが必要(3GB程)
  1. Knoppix CDで起動する
  2. ネットワークの設定を行い、Internetに接続できるようにしておく(起動時にDHCPで設定できているのであればそれでよい)
  3. root shellを起動する
    • メニューの Kmenu->Knoppix->Root Shell
  4. HDDをマウントする
mount -rw /dev/hda1 /mnt/hda1
  1. 作業ディレクトリを作成する
mkdir /mnt/hda1/knx
  1. メモリが1GB以下の場合はスワップファイルを作って補う
cd /mnt/hda1/knx
dd if=/dev/zero of=swapfile bs=1M count=750
mkswap swapfile
swapon swapfile
  1. マスターCD用ディレクトリとソースディレクトリを作成
mkdir -p /mnt/hda1/knx/master/KNOPPIX
mkdir -p /mnt/hda1/knx/source/KNOPPIX
  1. KNOPPIXファイルをソースディレクトリにコピー
cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX
  1. ISOイメージの作成に必要な bootディレクトリを/cdromからコピー
cp -ar /cdrom/boot /mnt/hda1/knx/master/boot
  1. Knoppix 5.0.1 では modulesディレクトリをコピーする必要があるらしい
cp -ar /cdrom/KNOPPIX/modules /mnt/hda1/knx/master/KNOPPIX/.
  1. スタートアップHTMLページのコピー
cp /cdrom/index.html /mnt/hda1/knx/master/
  1. 700MB以下の必要なKNOPPIXファイルをコピー
    • KNOPPIX 3.4より古いバージョン
cd /cdrom/KNOPPIX && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;
    • KNOPPIX 3.4以降のバージョン
cd /cdrom && find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;
    • DVDバージョンの場合は-15000kで実行して、さらに
cp /cdrom/KNOPPIX/KNOPPIX2 /mnt/hda1/knx/master/KNOPPIX/ 
    • も実行するとの事
  1. resolv.confをコピーする
cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf
  1. ソースディレクトリをchrootする
chroot /mnt/hda1/knx/source/KNOPPIX
  1. procをマウント
mount -t proc /proc proc
    • /etc/fstabが無いと警告が出る
  1. pingが飛ぶか確認
ping www.google.com
  • 後はaptitudeで好きなようにカスタムする

1.3.1で英語キーボード(101キーや104キー)でAlt+~でIME起動が効かない件

  • パッチを作ってみた
--- synergy-1.3.1.original/lib/platform/CMSWindowsKeyState.cpp
+++ synergy-1.3.1/lib/platform/CMSWindowsKeyState.cpp
@@ -60,7 +60,7 @@
 	/* 0x016 */ { kKeyNone },		// VK_HANGUL		
 	/* 0x017 */ { kKeyNone },		// VK_JUNJA			
 	/* 0x018 */ { kKeyNone },		// VK_FINAL			
-	/* 0x019 */ { kKeyZenkaku },	// VK_KANJI			
+	/* 0x019 */ { 0x0060 },			// VK_KANJI			
 	/* 0x01a */ { kKeyNone },		// undefined
 	/* 0x01b */ { kKeyEscape },		// VK_ESCAPE
 	/* 0x01c */ { kKeyHenkan },		// VK_CONVERT		
    • 日本語キーで誤作動しないかは確認していないorz

ビルドしたファイル

cpanのモジュールアップデート

2004-06-18から引用

  • 古くなっているモジュールの一覧

$ perl -MCPAN -e 'CPAN::Shell->r'

  • 古くなっているのを一括してバージョンアップ

# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

  • 他の環境にインストールされているモジュールを一括してインストール
  • 例えばperl本体をバージョンアップしたときはこんな感じで。

# perl-5.6 -MCPAN -e autobundle
# perl-5.8 -MCPAN -e 'install Bundle::Snapshot_2004_06_16_00'