[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:33087] Re: driver-X.bin の作成法は?
佐野@浜松です。
In <200205210556.0053EF890330000.oni.ME@xxxxxxxxxxxxxxxxxxxxxxx>,
on "Tue, 21 May 2002 14:56:49 +0900',
with "[debian-users:33060] Re: driver-X.bin の作成法は?",
oni@xxxxxxxxxxxxxx (Takenori Higashimura) さん wrote:
> ヘッダの内容はわかりやすいように思いましたよ。後に述べるビルド
> より楽かも。特にオリジナルのカーネルに対するビルドは大変です。
お疲れさまでした。次からは README を読んでもらえると
もうすこし楽ができるかもしれません。
> 弊社では、woody でビルドしました。しかし、ビルドにたどり着くまではなかなか
> 大変でした。もしトライするなら、以下の手順でやってみてください。
>
> ----------------------------------------------------------------
> (1) 展開の後、make check を実行する
> ビルドに必要なパッケージが指摘される
>
> (2) make check で指摘された必要パッケージを全てインストールする。
> 弊社の場合、20個近く新たにインストールしました。このとき、必要パッケージのうち
> いくつかが「|」で複数候補の選択で表示されますが、このうち「utf8」を含む
> 名前のパッケージの方を選択しないとだめでした。理由は分かりません。
config ファイルの
# whether to use the language chooser in dbootstrap for kernel flavours that
# support it, `true' or `false'
ifneq (,$(filter $(architecture),i386 arm powerpc ia64 m68k hppa))
export USE_LANGUAGE_CHOOSER := true
export LC := true
else
export USE_LANGUAGE_CHOOSER := false
export LC := false
endif
により、i386 の場合は Language-Chooser がデフォルトで
有効となります。
Language-Chooser は日本語を含む各国語のメッセージを
同じコンソールターミナルで表示させるために UTF8 な
フォントを利用しています。このため、Slang や Newt など
dbootstrap が使うライブラリも UTF8 対応版が必要に
なります。
逆に Language-Chooser を使わない環境の場合、make/checks の
check_non_i18n:
# if utf8 packages are installed and we're not doing an i18n build,
# that's bad
ifneq ($(USE_LANGUAGE_CHOOSER), true)
@echo "checking for i18n packages which will mess up non-i18n build"
@perl -e \
'%M = ("libnewt-utf8-0"=>1, "libnewt-utf8-pic"=>1, \
"slang1a-utf8"=>1, "slang1-utf8-pic"=>1); \
$$/ = "\n\n"; \
@Q = (); \
while (<>) { \
/^Status: \S+ \S+ installed$$/ms or next; \
/^Package: (\S+)/ms && $$M{$$1} && push(@Q, $$1); \
} \
foreach my $$q (@Q) { \
print " found $$q\n"; \
} \
if (@Q) { \
print "To remove these packages: apt-get remove ", \
join (" ", @Q), "\n"; \
exit 1; \
}' /var/lib/dpkg/status
endif
により、utf8 版のパッケージをシステムから削除するよう
警告されます。
> (3) make
> この段階でダウンロードサイトから必要パッケージをさらにダウンロードする
> ようです。デフォルトでは、(config ファイルに記述)、http.us.debian.org
> がダウンロードサイトになっていたように思います。デフォルトでは、
> 関係するカーネルイメージを全て(全てのアーキテクチャに対して)
> ダウンロードするので、細い回線ではたいへんです。あらかじめ、config を
> 変更して、対象を限定しておかないといけません。
## Debian mirror we can download from, must be http://, ftp:// or file://
##
export MIRRORS := http://http.us.debian.org/debian
の箇所ですね。
> ----------------------------------------------------------------
> でも、ここで大事なことですが、コンパイルオプションを変更したオリジナルの
> カーネルに対しては、この手順が使えないことなのです。すなわち、(3)の段階で、
> 例えば、kernel-image-2.4.18-bf2.4_2.4.18-5_i386.deb など公式のカーネルイメージ
> をダウンロードして、それから各種のディスクイメージを作成する手順になって
> いるからです。そのため、もしこの方法でオリジナルのカーネルイメージから
> ビルドするとすれば、次の手順が必要になってしまいます。
実は README ファイルをじっくり読んでもらうと
- If you have any local packages you need to use, you can put them in
the directories specified with the variables 'incoming' or 'local_dir'
from the file 'config'. In the 'make localfiles' step those will be
copied to a 'updates' dir.
と書いてあります。
config ファイルには
## file locations
##
# Top-level directory where we will look for external stuff required
# to build the boot-floppies. It has to be an absolute PATH or else
# the basedisks.sh script will fail.
ftp_archive := /archive/debian
# files from Incoming; note they must be named *_all.deb or *_<arch>.deb
incoming := $(ftp_archive)/Incoming
# if you want another place to look for updates, i.e., local packages;
# these files are just *.deb
export local_dir := $(ftp_archive)/local
# tools, such as rawrite2 (i386 only)
tools_dir := $(ftp_archive)/tools
# where required .debs are downloaded
## FIXME: is the export really helping here
export archive := $(ftp_archive)/download
とありますから、デフォルトの状態なら /archive/debian/local に
ローカルパッケージを置いておけば、そちらが使われるように
なるはずです。
ちなみに rootdisk の中にも Kernel module が置かれたりすることが
あるので、自分で作成したカーネルを使う場合は全部作成しなおした
ほうが良さそうな気もします。
> ----------------------------------------------------------------
> (4) 専用のダウンロードサイトを作成し、そこにオリジナルのカーネルイメージ
> (+ kerenel-headers + pcmcia...)を何かの公式のフレーバーの名前を借用して
> 置く。このサイトは、ftp でなく http でなければならなかったかも。
> もし、オリジナルのフレーバーを作成する場合は、Makefile を含む多くの
> ファイルの変更が必要です。
Flavor までいじろうとすると、たしかに面倒ですね。
--
# (わたしのおうちは浜松市、アカウミガメのふるさとの街)
<kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)