Kernel リリースについて †
- 本サイトでは、本家Kernelソースに、LinuxSH最新パッチを適用したLinuxSHベースのカーネルを
LANDISK版としてリリースしています。
以下参考までに、LinuxSH版カーネルとそこから派生するLANDISK版カーネルの作成方法を記しておきます。
LinuxSH版カーネルの作り方 †
- 本家ソースの取得
- 取得の仕方は省略します。
- 取得後カーネルソースを展開します。
- SH版最新パッチの取得
- tla
本ツールを使用してSH版最新カーネルのパッチ群である sh--stable--2.6 を取得します。
(tlaはdebian26で使用可能です。「apt-get install tla」)
landisk:~/kernel# tla register-archive http://www.stampede.org/~lethal/{archive}/linux
landisk:~/kernel# tla get lethal@linux-sh.org--linux/sh--stable--2.6
- treecp.sh
(正規の方法ではないのですが、)ソースをマージするために、次のようなスクリプトを用意します。
#!/bin/sh
#
# treecp.sh - Tree copy Script
#
# Copyright (C) 2001 Paul Mundt <lethal@xxxxxx>
#
# Modified by M. R. Brown <mrbrown@xxxxxx>
#
# A simple shell script for linking a drop in tree into a stock
# kernel tree. Usable for drop in trees such as the linux-mips
# and linuxconsole trees.
#
# Released under the terms of the GNU GPL v2
#
[ "$#" -ne "2" ] && echo "Usage: $0 <drop in tree> <kernel tree>" && exit 1
ODIR=${PWD}
cd $1 || exit 1
LDIR=${PWD}
echo -n "Building file list ... "
LIST=`find * \( -type d -name CVS -prune \) -o -type f -print`
echo -e "done."
cd ${ODIR}
cd $2 || exit 1
echo -n "Copying files ........ "
for file in $LIST; do
DIR=`dirname $file`
[ ! -d $DIR ] && mkdir -p $DIR
cp $LDIR/$file $file
done
echo -e "done."
※ http://www.m17n.org/linux-sh/ml/linux-sh-ja/2003-09/msg00052.html
- ソースのマージ
先ほど作成したtreecp.shを用いて、本家ソースとSH版パッチをマージして、LinuxSH版カーネルを作成します。
landisk:~/kernel# treecp.sh sh--stable--2.6--patch-xxx linux-2.6.x
- 趣味の問題ですが
マージされたカーネルには、非常に多くのパッチ履歴情報が含まれます。
個人的には不必要な情報なので、次のコマンドで一括削除しています。
landisk:~/kernel# cd linux-2.6.x
landisk:~/kernel/linux-2.6.x# find . -name .arch-ids -exec rm -rf {} \;
landisk:~/kernel/linux-2.6.x# rm -rf \{arch\}/
- 以上で、LinuxSH版カーネルソースができあがりました
次に、本LinuxSHカーネルをベースに、いくつかのパッチを当てて、LANDISK版カーネルを作成します。
LANDISK版Kernelの作り方 †
- パッチ
本サイトでは、下記の追加パッチを当てたカーネルをリリースしています。
|