Armadilloフォーラム

Linuxカーネルのmakeに失敗する(No rule to make target '/lib/firmware/ar3k/AthrBT_0x11020000.dfu')

ueoka

2021年6月21日 19時10分

お世話になっております。

Armadillo G3 IoTで、PL2303デバイスドライバを有効化するため、カーネルコンフィギュレーションの変更手順を実施したのですが、ビルドに失敗し、イメージファイルの生成が行えません。
下記に状況を記載しますので、原因と解決法についてご教授願えますでしょうか。

●手順を参考にしたページ
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…

●環境
Linuxカーネル:Linux armadillo 4.9.133-at19 #2 SMP PREEMPT Thu Mar 25 13:21:39 JST 2021 armv7l GNU/Linux
使用したイメージファイル:linux-4.9-x1-at19.tar.gz
initramfsアーカイブファイル:initramfs_x1-v2.1.0.cpio.gz

●実施した手順
1、イメージファイルとinitramfsアーカイブファイルを、root直下に配置
2、イメージファイルを展開
3、展開したディレクトリに移動し、「ln -s ../initramfs_x1-v2.1.0.cpio.gz initramfs_x1.cpio.gz」でシンボリックリンクを作成
4、make ARCH=arm x1_defconfigを実行し、成功
5、make ARCH=arm menuconfigを実行
6、menuconfig画面が開けたので、「USB Prolific 2303 Single Port Serial Driver」を有効化し、保存
7、「.config」ファイルが更新された事を確認
8、「make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-」でビルドを実施
9、make中、下記のメッセージが表示され、失敗する
CHK kernel/config_data.h
make[1]: *** No rule to make target '/lib/firmware/ar3k/AthrBT_0x11020000.dfu', needed by 'firmware/ar3k/AthrBT_0x11020000.dfu.gen.o'. Stop.
Makefile:1008: recipe for target 'firmware' failed
make: *** [firmware] Error 2

以上、宜しくお願いいたします。

コメント

at_syunya.ohshio

2021年6月22日 11時20分

大塩です。

> Armadillo G3 IoTで、PL2303デバイスドライバを有効化するため、カーネルコンフィギュレーションの変更手順を実施したのですが、ビルドに失敗し、イメージファイルの生成が行えません。
> 下記に状況を記載しますので、原因と解決法についてご教授願えますでしょうか。
>
> ●手順を参考にしたページ
> https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…
>
>
> ●環境
> Linuxカーネル:Linux armadillo 4.9.133-at19 #2 SMP PREEMPT Thu Mar 25 13:21:39 JST 2021 armv7l GNU/Linux
> 使用したイメージファイル:linux-4.9-x1-at19.tar.gz
> initramfsアーカイブファイル:initramfs_x1-v2.1.0.cpio.gz
>
> ●実施した手順
> 1、イメージファイルとinitramfsアーカイブファイルを、root直下に配置
> 2、イメージファイルを展開
> 3、展開したディレクトリに移動し、「ln -s ../initramfs_x1-v2.1.0.cpio.gz initramfs_x1.cpio.gz」でシンボリックリンクを作成
> 4、make ARCH=arm x1_defconfigを実行し、成功
> 5、make ARCH=arm menuconfigを実行
> 6、menuconfig画面が開けたので、「USB Prolific 2303 Single Port Serial Driver」を有効化し、保存
> 7、「.config」ファイルが更新された事を確認
> 8、「make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-」でビルドを実施
> 9、make中、下記のメッセージが表示され、失敗する
> CHK kernel/config_data.h
> make[1]: *** No rule to make target '/lib/firmware/ar3k/AthrBT_0x11020000.dfu', needed by 'firmware/ar3k/AthrBT_0x11020000.dfu.gen.o'. Stop.
> Makefile:1008: recipe for target 'firmware' failed
> make: *** [firmware] Error 2

ビルド作業はATDE上で実施されていますでしょうか。
その場合、ATDEのバージョンをお教えください。

また上記で記載頂いた手順 7と8の間に、以下の作業を追加してお試しいただけますでしょうか。

・make ARCH=arm savedefconfig
・cp defconfig arch/arm/configs/x1_defconfig

以上です。

ueoka

2021年6月22日 13時25分

大塩様

ご回答くださり、ありがとうございます。

> ビルド作業はATDE上で実施されていますでしょうか。
> その場合、ATDEのバージョンをお教えください。
ATDEは使用しておらず、Armadillo本体で実施しています。
ATDE上で実施する必要があるのでしょうか?

> また上記で記載頂いた手順 7と8の間に、以下の作業を追加してお試しいただけますでしょうか。
> ・make ARCH=arm savedefconfig
> ・cp defconfig arch/arm/configs/x1_defconfig
実施後に再度makeを行いましたが、結果は変わりませんでした。

以上、宜しくお願いいたします。

at_syunya.ohshio

2021年6月22日 14時54分

大塩です。

> > ビルド作業はATDE上で実施されていますでしょうか。
> > その場合、ATDEのバージョンをお教えください。
> ATDEは使用しておらず、Armadillo本体で実施しています。
> ATDE上で実施する必要があるのでしょうか?

開発環境の構築には、ATDEを推奨しております。

最初に投稿頂いた内容のエラーから、カーネルのビルドに必要な Linux firmware が存在しないことが原因であるため、
/lib/firmware/ar3k/AthrBT_0x11020000.dfu が存在する Linux PC or ATDE でビルドする必要があります。

以上です。

ueoka

2021年6月22日 15時32分

大塩様

ご回答ありがとうございます。

> 開発環境の構築には、ATDEを推奨しております。
>
> 最初に投稿頂いた内容のエラーから、カーネルのビルドに必要な Linux firmware が存在しないことが原因であるため、
> /lib/firmware/ar3k/AthrBT_0x11020000.dfu が存在する Linux PC or ATDE でビルドする必要があります。
>
承知いたしました。ATDE上でのビルドを試してみます。
実行結果が出ましたら、追って投稿させていただきます。

以上、宜しくお願いいたします。

ueoka

2021年6月22日 18時14分

お世話になっております。

ATDE環境でのビルドを行ったところ、正常に完了しました。
また、生成されたイメージファイルをArmadilloに書き込み、目的であったPL2303ドライバの有効化を行えている事が確認できました。
ご対応いただき、ありがとうございました。