Blue & White G3 --- Kernel再構築 v2.2.6

[ Nob's Home | LinuxPPC | Blue & White G3 ]

Blue & White G3でlinux kernel 2.2.6を再構築します。
kernelの再構築について基本的なことはまとめてありますが、
若干変更があります。

なぜ最新の2.2.14preではないかというと、
新しいkernelではUSB driverが変更されているためです。
とりあえずuusbdでやってみましょう。

Information

このHOWTOにUSB-jisキーボードpatchを追加しただけです。

必要なもの

以上を使用します。いちいちpatchするのは面倒なので、
linux-2.2.6-blueG3.patch.gzとして
上記patchをまとめたものを作成しました。
今回は /mnt/mac に置いておきます。

ソースの展開

まず、混乱をさけるために、installされているkernel sourceを除去します。
# rpm -e kernel-source
# rpm -e kernel-headers
/usr/src/linux(-2.2.6)を削除してから、
linux-2.2.6.tar.bz2を展開しrenameしてlinkをはります。
# cd /usr/src
# rm -rf linux linux-2.2.6
# bzip2 -dc /mnt/mac/linux-2.2.6.tar.bz2 | tar -xvf - -C /usr/src
# mv linux linux-2.2.6
# ln -s linux-2.2.6 linux
ヘッダファイルのlinkを張ります。
# cd /usr/include
# rm -rf linux scsi asm
# ln -s /usr/src/linux/include/linux/ linux
# ln -s /usr/src/linux/include/scsi/ scsi
# ln -s /usr/src/linux/include/asm-ppc/ asm

patchをあてる

patchをあてます。
# cd /usr/src
# zcat /mnt/mac/linux-2.2.6-blueG3.patch.gz | patch -p0 

config & make

configはdot.config-2.2.6-rev1または dot.config-2.2.6-rev2を使用します。
自分のB&G G3のrevision numberを確かめておいてください。
(この2つのdot.configの差は rev2でCONFIG_IDEDMA_AUTOがnot setになっているだけです。)
# cd /usr/src/linux
# make mrproper
# make pmac_config
# make menuconfig または make xconfig
  	Rev.1のときはdot.config-2.2.6-rev1を
    Rev.2のときはdot.config-2.2.6-rev2をloadします。
    Saveして終了します。
# make dep
# make clean
# make vmlinux
あたらしいvmlinuxとSystem.mapができているはずです。

System.map

System.mapを/bootにおきます。
# cd /boot
# rm -f System.map
# cp /usr/src/linux/System.map /boot/System.map-2.2.6-jis
# ln -s System.map-2.2.6-jis System.map

make modules

# cd /usr/src/linux
# make modules
# make modules_install
# /sbin/depmod -a 2.2.6

新しいkernelをMacOSのHFSへ

# cp /usr/src/linux/vmlinux /mnt/mac/vmlinux-2.2.6-jis

新しいkernelで起動

MacOSで再起動して、HFSにcpしたvmlinux-2.2.6-jisを
システムフォルダのLinux Kernelsフォルダに入れ、
BootXで選択して、再起動します。

keymapの変更

usb-jis.kmap.gz("¥"をF11に、"|"をshift+F11に、"_"をshift+0(数字の0)に割り当てた)に換えて
usb-jis-new.kmap.gzを使用します。
# cp /mnt/mac/usb-jis-new.kmap.gz /usr/lib/kbd/keymaps/usb
# rm /etc/sysconfig/console/default.kmap
# ln -s /usr/lib/kbd/keymaps/usb/usb-jis-new.kmap.gz /etc/sysconfig/console/default.kmap

できあがったもの


[ Nob's Home | LinuxPPC | Blue & White G3 ]
nob@makioka.y-min.or.jp