竹中@京都です。
先日、Vine-4.1 PPC での mkkpkg によるカーネル再構築
に関して質問しました。
試行錯誤の末、何とか解決出来ましたのでご報告致します。現状、
mkkpkg による
カーネル再構築には、configuration 段階での問題と
build 段階での問題が有り
ますので、2回に分けてご報告します。
これは私の推定ですが、PPC 版の mkkpkg と
kernel-2.6.16-0vlxx.src.rpm には
何らかのバグがあるようです。
今回のカーネル再構築の目的ですが、私は iMac G3
slotloading で Vine-3.1CR
を動かしています。内蔵の ATA Disk (20GB) が手狭になったの
で、/usrと /home
を外付けの IEEE1394 Disk (40GB) に置いています。従って起動
時点で、外付けの
IEEE1394 Disk を認識させる為に、標準ではカーネルモジュールになっ
ている
sbp-2 をカーネル組み込みにする事です。従って、カーネルの
config 段階で加える
変更は、sbp-2 をモジュールからカーネル組み込みに変更するだ
けです。
configuration 段階でのエラーは、
kernel-2.6.16-0vlxx.src.rpm のあるディレク
トリで、/usr/sbin/mkkpkg -v --target=ppc
kernel-2.6.16-0vlxx.src.rpm menuconfig
を実行した時にビルドが下記のエラーで終了する事です。
USING ARCH=ppc
+ make -s ARCH=ppc nonint_oldconfig
kernel/power/Kconfig:104:warning: 'select' used by config symbol
'SUSPEND2' refer to undefined symbol 'HOTPLUG_CPU'
net/ieee80211/softmac/Kconfig:4:warning: 'select' used by config
symbol 'IEEE80211_SOFTMAC' refer to undefined symbol 'WIRELESS_EXT'
sound/pci/Kconfig:477:warning: 'select' used by config symbol
'SND_FM801_TEA575X' refer to undefined symbol 'VIDEO_V4L1'
CONFIG_PPC_PREP
CONFIG_PREP_RESIDUAL
CONFIG_ISA
CONFIG_INPUT_PCSPKR
make[1]: *** [nonint_oldconfig] エラー 4
make: *** [nonint_oldconfig] エラー 2
エラー: /var/tmp/rpm-tmp.22569 の不正な終了ステータス (%
build)
RPM ビルドエラー:
/var/tmp/rpm-tmp.22569 の不正な終了ステータス (%build)
'nonint_oldconfig' でグーグって見たら下記のページに同様のエラー
と対処方法が、
記述されていました。
http://forums.fedoraforum.org/archive/index.php/t-80194.html
解決方法は、mkkpkg 実行時に SPEC ファイルの編集モー
ドに入り、SPEC ファイルの
"cp -fv %{all_arch_configs} ."行の下に下記のスクリプトを追加する
事です。
for configfile in *.config
do
echo "CONFIG_PPC_PREP=y" >> $configfile
echo "CONFIG_PREP_RESIDUAL=y" >> $configfile
echo "CONFIG_PROC_PREPRESIDUAL=y" >> $configfile
echo "CONFIG_ISA=y" >> $configfile
done
これで、上記の CONFIG_HOGE_FUGA はエラー出力されなくなった
のですが、
今度は、下記のように 別の CONFIG_HOGA_FUGE が大量に
出力されました。
CONFIG_PROC_PREPRESIDUAL
CONFIG_I82365
CONFIG_TCIC
CONFIG_LTPC
CONFIG_COPS
CONFIG_PNP
CONFIG_BLK_DEV_XD
CONFIG_IDE_CHIPSETS
CONFIG_SCSI_7000FASST
CONFIG_SCSI_AHA152X
CONFIG_SCSI_AHA1542
CONFIG_SCSI_IN2000
CONFIG_SCSI_DTC3280
CONFIG_SCSI_GENERIC_NCR5380
CONFIG_SCSI_GENERIC_NCR5380_MMIO
CONFIG_SCSI_NCR53C406A
CONFIG_SCSI_PAS16
CONFIG_SCSI_PSI240I
CONFIG_SCSI_QLOGIC_FAS
CONFIG_SCSI_SYM53C416
CONFIG_SCSI_T128
CONFIG_SCSI_U14_34F
CONFIG_CD_NO_IDESCSI
CONFIG_EL1
CONFIG_EL2
CONFIG_ELPLUS
CONFIG_EL16
CONFIG_EL3
CONFIG_3C515
CONFIG_LANCE
CONFIG_NET_VENDOR_SMC
CONFIG_NET_VENDOR_RACAL
CONFIG_AT1700
CONFIG_DEPCA
CONFIG_NET_ISA
CONFIG_AC3200
CONFIG_APRICOT
CONFIG_CS89x0
CONFIG_ARLAN
CONFIG_WAVELAN
CONFIG_MOUSE_INPORT
CONFIG_MOUSE_LOGIBM
CONFIG_MOUSE_PC110PAD
CONFIG_ESPSERIAL
CONFIG_SERIAL_8250_FOURPORT
CONFIG_SERIAL_8250_ACCENT
CONFIG_SERIAL_8250_BOCA
CONFIG_SERIAL_8250_HUB6
CONFIG_PCWATCHDOG
CONFIG_MIXCOMWD
CONFIG_WDT
CONFIG_VIDEO_PMS
CONFIG_RADIO_CADET
CONFIG_RADIO_RTRACK
CONFIG_RADIO_RTRACK2
CONFIG_RADIO_AZTECH
CONFIG_RADIO_GEMTEK
CONFIG_RADIO_SF16FMI
CONFIG_RADIO_SF16FMR2
CONFIG_RADIO_TERRATEC
CONFIG_RADIO_TRUST
CONFIG_RADIO_TYPHOON
CONFIG_RADIO_ZOLTRIX
CONFIG_MDA_CONSOLE
CONFIG_SND_ADLIB
CONFIG_SND_AD1848
CONFIG_SND_CMI8330
CONFIG_SND_CS4231
CONFIG_SND_CS4232
CONFIG_SND_CS4236
CONFIG_SND_ES1688
CONFIG_SND_ES18XX
CONFIG_SND_GUSCLASSIC
CONFIG_SND_GUSEXTREME
CONFIG_SND_GUSMAX
CONFIG_SND_OPL3SA2
CONFIG_SND_OPTI92X_AD1848
CONFIG_SND_OPTI92X_CS4231
CONFIG_SND_OPTI93X
CONFIG_SND_MIRO
CONFIG_SND_SB8
CONFIG_SND_SB16
CONFIG_SND_SBAWE
CONFIG_SND_SGALAXY
CONFIG_SND_SSCAPE
CONFIG_SND_WAVEFRONT
make[1]: *** [nonint_oldconfig] エラー 86
make: *** [nonint_oldconfig] エラー 2
エラー: /var/tmp/rpm-tmp.98854 の不正な終了ステータス (%
build)
RPM ビルドエラー:
/var/tmp/rpm-tmp.98854 の不正な終了ステータス (%build)
そこで根気よく新たに出て来た CONFIG_HOGA_FUGE を全て、
echo "CONFIG_HOGA_FUGE=m" >> $configfile
として、上記スクリプトに加えて、再度、mkkpkg を実行して、
SPEC ファイルの
編集モードでスクリプトを追加しました。追加するとまた新たな
CONFIG_HEGA_FAGO
が出力されますが、これも同様にスクリプトに加えて再度
mkkpkg を実行して、編集
モードでスクリプトを追加します。
結局このモグラ叩き作戦で下記のスクリプトに行き着き、このスクリプ
トを SPEC ファ
イル の編集段階で、"cp -fv %{all_arch_configs} ."行
の下に挿入する事で configure
段階のエラーは出なくなりました。
それでは Build 段階の問題は、Vine-4.1 PPC の
mkkpkg の現状 (2) につづきます。
--------------------ここから-------------------------
for configfile in *.config
do
echo "CONFIG_PPC_PREP=y" >> $configfile
echo "CONFIG_PREP_RESIDUAL=y" >> $configfile
echo "CONFIG_PROC_PREPRESIDUAL=y" >> $configfile
echo "CONFIG_ISA=y" >> $configfile
echo "CONFIG_ISAPNP=y" >> $configfile
echo "CONFIG_INPUT_PCSPKR=y" >> $configfile
echo "CONFIG_I82365=m" >> $configfile
echo "CONFIG_TCIC=m" >> $configfile
echo "CONFIG_LTPC=m" >> $configfile
echo "CONFIG_COPS=m" >> $configfile
echo "CONFIG_COPS_DAYNA=y" >> $configfile
echo "CONFIG_COPS_TANGENT=y" >> $configfile
echo "CONFIG_PNP=y" >> $configfile
echo "CONFIG_PNP_DEBUG=y" >> $configfile
echo "CONFIG_BLK_DEV_XD=m" >> $configfile
echo "CONFIG_BLK_DEV_IDEPNP=y" >> $configfile
echo "CONFIG_BLK_DEV_4DRIVES=y" >> $configfile
echo "CONFIG_BLK_DEV_ALI14XX=m" >> $configfile
echo "CONFIG_BLK_DEV_DTC2278=m" >> $configfile
echo "CONFIG_BLK_DEV_HT6560B=m" >> $configfile
echo "CONFIG_BLK_DEV_QD65XX=m" >> $configfile
echo "CONFIG_BLK_DEV_UMC8672=m" >> $configfile
echo "CONFIG_IDE_CHIPSETS=y" >> $configfile
echo "CONFIG_SCSI_7000FASST=m" >> $configfile
echo "CONFIG_SCSI_AHA152X=m" >> $configfile
echo "CONFIG_SCSI_AHA1542=m" >> $configfile
echo "CONFIG_SCSI_IN2000=m" >> $configfile
echo "CONFIG_SCSI_DTC3280=m" >> $configfile
echo "CONFIG_SCSI_GENERIC_NCR5380=m" >> $configfile
echo "CONFIG_SCSI_GENERIC_NCR5380_MMIO=m" >> $configfile
echo "CONFIG_SCSI_GENERIC_NCR53C400=y" >> $configfile
echo "CONFIG_SCSI_NCR53C406A=m" >> $configfile
echo "CONFIG_SCSI_PAS16=m" >> $configfile
echo "CONFIG_SCSI_PSI240I=m" >> $configfile
echo "CONFIG_SCSI_QLOGIC_FAS=m" >> $configfile
echo "CONFIG_SCSI_SYM53C416=m" >> $configfile
echo "CONFIG_SCSI_T128=m" >> $configfile
echo "CONFIG_SCSI_U14_34F=m" >> $configfile
echo "CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y" >> $configfile
echo "CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y" >> $configfile
echo "CONFIG_SCSI_U14_34F_MAX_TAGS=16" >> $configfile
echo "CONFIG_CD_NO_IDESCSI=y" >> $configfile
echo "CONFIG_AZTCD=m" >> $configfile
echo "CONFIG_GSCD=m" >> $configfile
echo "CONFIG_MCDX=m" >> $configfile
echo "CONFIG_OPTCD=m" >> $configfile
echo "CONFIG_SJCD=m" >> $configfile
echo "CONFIG_EL1=m" >> $configfile
echo "CONFIG_EL2=m" >> $configfile
echo "CONFIG_ELPLUS=m" >> $configfile
echo "CONFIG_EL16=m" >> $configfile
echo "CONFIG_EL3=m" >> $configfile
echo "CONFIG_3C515=m" >> $configfile
echo "CONFIG_LANCE=m" >> $configfile
echo "CONFIG_NET_VENDOR_SMC=y" >> $configfile
echo "CONFIG_NET_VENDOR_RACAL=y" >> $configfile
echo "CONFIG_AT1700=m" >> $configfile
echo "CONFIG_DEPCA=m" >> $configfile
echo "CONFIG_NET_ISA=y" >> $configfile
echo "CONFIG_AC3200=m" >> $configfile
echo "CONFIG_APRICOT=m" >> $configfile
echo "CONFIG_CS89x0=m" >> $configfile
echo "CONFIG_ARLAN=m" >> $configfile
echo "CONFIG_WAVELAN=m" >> $configfile
echo "CONFIG_ISP16_CDI=m" >> $configfile
echo "CONFIG_CDU535=m" >> $configfile
echo "CONFIG_NET_SB1000=m" >> $configfile
echo "CONFIG_WD80x3=m" >> $configfile
echo "CONFIG_ULTRA=m" >> $configfile
echo "CONFIG_SMC9194=m" >> $configfile
echo "CONFIG_NI52=m" >> $configfile
echo "CONFIG_NI65=m" >> $configfile
echo "CONFIG_E2100=m" >> $configfile
echo "CONFIG_EWRK3=m" >> $configfile
echo "CONFIG_EEXPRESS=m" >> $configfile
echo "CONFIG_EEXPRESS_PRO=m" >> $configfile
echo "CONFIG_HPLAN_PLUS=m" >> $configfile
echo "CONFIG_HPLAN=m" >> $configfile
echo "CONFIG_LP486E=m" >> $configfile
echo "CONFIG_ETH16I=m" >> $configfile
echo "CONFIG_NE2000=m" >> $configfile
echo "CONFIG_ZNET=m" >> $configfile
echo "CONFIG_SEEQ8005=m" >> $configfile
echo "CONFIG_MOUSE_INPORT=m" >> $configfile
echo "CONFIG_MOUSE_LOGIBM=m" >> $configfile
echo "CONFIG_MOUSE_PC110PAD=m" >> $configfile
echo "CONFIG_MOUSE_ATIXL=y" >> $configfile
echo "CONFIG_INPUT_PCSPKR=m" >> $configfile
echo "CONFIG_ESPSERIAL=m" >> $configfile
echo "CONFIG_SERIAL_8250_FOURPORT=m" >> $configfile
echo "CONFIG_SERIAL_8250_ACCENT=m" >> $configfile
echo "CONFIG_SERIAL_8250_BOCA=m" >> $configfile
echo "CONFIG_SERIAL_8250_HUB6=m" >> $configfile
echo "CONFIG_PCWATCHDOG=m" >> $configfile
echo "CONFIG_MIXCOMWD=m" >> $configfile
echo "CONFIG_WDT=m" >> $configfile
echo "CONFIG_WDT_501=y" >> $configfile
echo "CONFIG_VIDEO_PMS=m" >> $configfile
echo "CONFIG_RADIO_CADET=m" >> $configfile
echo "CONFIG_RADIO_RTRACK=m" >> $configfile
echo "CONFIG_RADIO_RTRACK2=m" >> $configfile
echo "CONFIG_RADIO_AZTECH=m" >> $configfile
echo "CONFIG_RADIO_GEMTEK=m" >> $configfile
echo "CONFIG_RADIO_SF16FMI=m" >> $configfile
echo "CONFIG_RADIO_SF16FMR2=m" >> $configfile
echo "CONFIG_RADIO_TERRATEC=m" >> $configfile
echo "CONFIG_RADIO_TRUST=m" >> $configfile
echo "CONFIG_RADIO_TYPHOON=m" >> $configfile
echo "CONFIG_RADIO_TYPHOON_PROC_FS=y" >> $configfile
echo "CONFIG_RADIO_ZOLTRIX=m" >> $configfile
echo "CONFIG_MDA_CONSOLE=m" >> $configfile
echo "CONFIG_SND_ADLIB=m" >> $configfile
echo "CONFIG_SND_AD1848=m" >> $configfile
echo "CONFIG_SND_CMI8330=m" >> $configfile
echo "CONFIG_SND_CS4231=m" >> $configfile
echo "CONFIG_SND_CS4232=m" >> $configfile
echo "CONFIG_SND_CS4236=m" >> $configfile
echo "CONFIG_SND_ES1688=m" >> $configfile
echo "CONFIG_SND_ES18XX=m" >> $configfile
echo "CONFIG_SND_GUSCLASSIC=m" >> $configfile
echo "CONFIG_SND_GUSEXTREME=m" >> $configfile
echo "CONFIG_SND_GUSMAX=m" >> $configfile
echo "CONFIG_SND_OPL3SA2=m" >> $configfile
echo "CONFIG_SND_OPTI92X_AD1848=m" >> $configfile
echo "CONFIG_SND_OPTI92X_CS4231=m" >> $configfile
echo "CONFIG_SND_OPTI93X=m" >> $configfile
echo "CONFIG_SND_MIRO=m" >> $configfile
echo "CONFIG_SND_SB8=m" >> $configfile
echo "CONFIG_SND_SB16=m" >> $configfile
echo "CONFIG_SND_SBAWE=m" >> $configfile
echo "CONFIG_SND_SGALAXY=m" >> $configfile
echo "CONFIG_SND_SSCAPE=m" >> $configfile
echo "CONFIG_SND_WAVEFRONT=m" >> $configfile
echo "CONFIG_SND_AD1816A=m" >> $configfile
echo "CONFIG_SND_ALS100=m" >> $configfile
echo "CONFIG_SND_AZT2320=m" >> $configfile
echo "CONFIG_SND_DT019X=m" >> $configfile
echo "CONFIG_SND_ES968=m" >> $configfile
echo "CONFIG_SND_INTERWAVE=m" >> $configfile
echo "CONFIG_SND_INTERWAVE_STB=m" >> $configfile
done
--------------------ここまで-------------------------
---
竹中 浩
tkn-hiroshi@xxxxxxxxxxxxxxx