[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:54005] カスタムカーネルなインストーラ作成



笠原です。

お返事ありがとうございます。
むぅ、、、やはり簡単にはいかないようですね。。。

全く見当違いの苦労をしているようではないので、もう少し頑張ってみます。。。
という事で、頑張っているのですが、以下のような状況になってしまい、行き詰まっております。

諸先輩方のお知恵を拝借したいのですが。。。

基本的に、
https://svn.kmuto.jp/svn/d-i/lenny/howto-replace-kernel.txt
の作業を実施しようと試みております。

1.lennyなamd64環境を作成し、カーネルをmake-kpkgを使って作成して、mtuディレクトリに配置しました。
但し、kernel-packageがlennyのままだと2.6.33.1のコンパイルに失敗するので、
mayumi:~# dpkg -l | grep kernel-p
ii  kernel-package                      12.033                   A
utility for building Linux kernel related
mayumi:~#
と新しいモノを入れました。

mitsuo@mayumi:~/lenny$ ls
Makefile  conf-amd64.sh  conf.sh  debian
howto-replace-kernel.txt  mtu
build     conf-i386.sh   d-i      debian-504-amd64-netinst.iso
local-apt                 mtu.update
mitsuo@mayumi:~/lenny$ ls -l mtu/
total 88440
-rw-r--r-- 1 mitsuo mitsuo     2391 Mar 26 06:36 Packages.gz
-rw-r--r-- 1 mitsuo mitsuo       20 Mar 26 06:36 Sources.gz
-rw-r--r-- 1 mitsuo mitsuo  5867782 Mar 26 05:46
linux-doc-2.6.33.1_RX100S6.1_all.deb
-rw-r--r-- 1 mitsuo mitsuo  6306016 Mar 26 05:46
linux-headers-2.6.33.1_RX100S6.1_amd64.deb
-rw-r--r-- 1 mitsuo mitsuo  4365402 Mar 26 05:46
linux-image-2.6.33.1-dbg_RX100S6.1_amd64.deb
-rw-r--r-- 1 mitsuo mitsuo  6236560 Mar 26 05:46
linux-image-2.6.33.1_RX100S6.1_amd64.deb
-rw-r--r-- 1 mitsuo mitsuo     2124 Mar 26 05:46
linux-manual-2.6.33.1_RX100S6.1_all.deb
-rw-r--r-- 1 mitsuo mitsuo 67645186 Mar 26 05:46
linux-source-2.6.33.1_RX100S6.1_all.deb
mitsuo@mayumi:~/lenny$

2. ./mtu.update を実行しました。
mitsuo@mayumi:~/lenny$ ./mtu.update
mitsuo@mayumi:~/lenny$

3. local-apt/sources.list を編集しました
mitsuo@mayumi:~/lenny$ cat local-apt/sources.list
deb http://ftp.jp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.jp.debian.org/debian lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib
deb copy:///home/mitsuo/lenny/mtu ./
deb http://www.backports.org/debian lenny-backports main contrib non-free
mitsuo@mayumi:~/lenny$

4. conf-<arch>.shの編集をしました。
mitsuo@mayumi:~/lenny$ cat conf-i386.sh
KERNELVER=2.6.33.1
# If you'd like to use bpo kernel...
USEBPOKERNEL=no
USEBPOMETAKERNEL=no
# If you have created linux-2.6 full packages + linux-latest packages.
USEOWNFULLKERNEL=yes
USEUBUNTUFIRM=yes
mitsuo@mayumi:~/lenny$ cat conf-amd64.sh
KERNELVER=2.6.33.1
# If you'd like to use bpo kernel...
USEBPOKERNEL=no
USEBPOMETAKERNEL=no
# If you have created linux-2.6 full packages + linux-latest packages.
USEOWNFULLKERNEL=yes
USEUBUNTUFIRM=yes
mitsuo@mayumi:~/lenny$

5. d-i/packages/kernel/linux-modules-di-i386-2.6/kernel-versions の編集をしました。
mitsuo@mayumi:~/lenny$ cat
d-i/packages/kernel/linux-modules-di-i386-2.6/kernel-versions
# arch   version  flavour       installedname        suffix build-depends
i386     2.6.33.1 486           2.6.33.1-486         -
loop-aes-modules-2.6.33.1-486, squashfs-modules-2.6.33.1-486,
speakup-modules-2.6.33.1-486, atl2-modules-2.6.33.1-486
i386     2.6.33.1 686-bigmem    2.6.33.1-686-bigmem  -
loop-aes-modules-2.6.33.1-686-bigmem,
squashfs-modules-2.6.33.1-686-bigmem,
speakup-modules-2.6.33.1-686-bigmem, atl2-modules-2.6.33.1-686-bigmem
mitsuo@mayumi:~/lenny$ cat
d-i/packages/kernel/linux-modules-di-amd64-2.6/kernel-versions
# arch   abi      flavour        installedname         suffix build-depends
amd64    2.6.33.1 amd64          2.6.33.1-amd64        -
loop-aes-modules-2.6.33.1-amd64, squashfs-modules-2.6.33.1-amd64,
speakup-modules-2.6.33.1-amd64, atl2-modules-2.6.33.1-amd64
mitsuo@mayumi:~/lenny$

6. d-i/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions の編集をしました。
mitsuo@mayumi:~/lenny$ cat
d-i/packages/kernel/linux-kernel-di-i386-2.6/kernel-versions
# arch   version  flavour       installedname        suffix build-depends
i386     2.6.33.1 486           2.6.33.1-486         -
linux-image-2.6.33.1-486
i386     2.6.33.1 686-bigmem    2.6.33.1-686-bigmem  -
linux-image-2.6.33.1-686-bigmem
mitsuo@mayumi:~/lenny$ cat
d-i/packages/kernel/linux-kernel-di-amd64-2.6/kernel-versions
# arch  abi       flavour        installedname           suffix  build-depends
amd64   2.6.33.1 amd64          2.6.33.1-amd64          -
linux-image-2.6.33.1-amd64
mitsuo@mayumi:~/lenny$

7. d-i/installer/build/config/i386.cfgの編集をしました。

mitsuo@mayumi:~/lenny$ cat d-i/installer/build/config/i386.cfg
MEDIUM_SUPPORTED = cdrom netboot netboot-gtk netboot-xen hd-media
#floppy #monolithic

# The version of the kernel to use.
BASEVERSION = 2.6.33.1
KERNELVERSION = $(BASEVERSION)-486
KERNELMAJOR = 2.6
KERNEL_FLAVOUR = di
KERNELNAME = vmlinuz
KERNELIMAGEVERSION = $(KERNELVERSION)

# upx can be used to make the kernel a lot smaller and compress binaries too,
# allowing us to put more on the floppy.
#UPX=upx

# The default video modes
VIDEO_MODE="vga=788"
VIDEO_MODE_GTK="video=vesa:ywrap,mtrr vga=788"

include config/x86.cfg

8. d-i/installer/build/config/amd64.cfgの編集をしました。
この手順は書いてないんですけど、手順書の記載漏れかと思って編集しました。

mitsuo@mayumi:~/lenny$ cat d-i/installer/build/config/amd64.cfg
MEDIUM_SUPPORTED = cdrom netboot netboot-gtk hd-media #monolithic

# The version of the kernel to use.
KERNELVERSION = 2.6.33.1-amd64
KERNELMAJOR = 2.6
KERNEL_FLAVOUR = di
KERNELNAME = vmlinuz
KERNELIMAGEVERSION = $(KERNELVERSION)

# Not used for amd64.
#UPX=upx-ucl-beta

# The default video modes
VIDEO_MODE="vga=788"
VIDEO_MODE_GTK="video=vesa:ywrap,mtrr vga=788"

include config/x86.cfg
mitsuo@mayumi:~/lenny$

9. 藁にもすがる思いで make するのですが。。。
mitsuo@mayumi:~/lenny$ make
./build get-cdimage
[Retrieving lenny-netinst image ...]
./build extract-cdimage
[Extracting lenny-netinst image ...]
[sudo] password for mitsuo:
./build create-configfile
[Creating config file ...]
./build didebs-netcfg
[Building d-i packages (netcfg) ...]
debuild: fatal error at line 630:
cannot find readable debian/changelog anywhere!
Are you in the source code tree?
make: *** [local-apt/stamp/d-i-deb-netcfg] Error 1
mitsuo@mayumi:~/lenny$

debian/changelogが無いことが問題であるような気がしたので

mitsuo@mayumi:~/lenny$ ls -l debian/changelog
-rw-r--r-- 1 mitsuo mitsuo 172 Mar 27 20:07 debian/changelog
mitsuo@mayumi:~/lenny$ cat debian/changelog
debian-installer (20100327+mitsuo1) unstable; urgency=low

  * Support for Fujitsu RX100 S6.

 -- Mitsuo KASAHARA <m.kasahara13@xxxxxxxxx>  Sat, 27 Dec 2010 11:07:53 +0900
mitsuo@mayumi:~/lenny$ pwd
/home/mitsuo/lenny
mitsuo@mayumi:~/lenny$

とchangelogをねつ造してみたのですが全く症状が改善せず行き詰まってしまっております。

カスタムカーネルなインストーラを作成したことのある方がいらっしゃいましたら、
ご助言いただければ幸いでございます。

2010年3月27日7:18 Hiroyuki Yamamoto <yama1066@xxxxxxxxx>:
> こんにちは、山本です。
>
> MegaRAID SAS 9240-8i の現物を持っていないので、検証無しの推測なんですけど、
> それで良ければアドバイスします。
>
> megaraid_sas ドライバのバージョン 4.17.1-rc1 なら kernel 2.6.34-rc2 には入っていますが、
> このバージョンのカーネルでも、残念ながら 4.17.2 での変更点 (RH5-U4_4.17.2.zip の中の
> megaraid_sas-v00.00.04.17.2-src.tgz/megaraid_sas-v00.00.04.17.2/patches/rhel5.patch
> を見ました) はまだ入っていないようです。
>
> ですから、実際にあなたが使いたいバージョンのカーネルの drivers/scsi/megaraid にある megaraid_sas.c と megaraid_sas.h に、
> megaraid_sas-v00.00.04.17.2-src.tgz/megaraid_sas-v00.00.04.17.2/patches/rhel5.patch
> のようなパッチをあて (もしリジェクトされる部分があれば、適宜手動で書き換える)、
> カーネルを入れ替える必要があると推測されます。
>
>> 制約条件としては真っ当な会社のブツ(簿外品ではない)でして、ハード的な分解/改造は避けたいです。
> とのことなので、本来ならより簡単な、問題なく認識されるカードで HDDを繋ぎ直して、
> まず debootstrap あたりで環境を構築し、カーネルを入れ替えてから HDD を元に戻すという方法をお勧めするのですが、
> この要件なら、おそらく
>> ・https://svn.kmuto.jp/svn/d-i/lenny/howto-replace-kernel.txt
>> を見て、カスタムカーネルなインストーラを作るしかないのでしょうか?
> の通り、debian-installer のカーネルの置き換えが必要なのではないかと思われます。
>
> ただし、私も最近の d-i には疎いので良く分かりませんが、もしご友人の言う通り、
> debian-installer 6.0 Alpha1 か daily-builds のものによるインストール途中で、
> 先のパッチをあてて作った megaraid_sas.ko モジュールに変更できるのでしたら、
> d-i で使われているバージョンと同じカーネルのカスタムモジュールを作って
> そのモジュールへの変更だけでいけるのかもしれません。
>
>



-- 
かさはら みつお <m.kasahara13@xxxxxxxxx>